From f620d59dac214b20126d71b60b5721566f6d9839 Mon Sep 17 00:00:00 2001 From: Violet Catanese Date: Tue, 22 Oct 2019 22:11:56 -0400 Subject: [PATCH 001/175] make jumper/heavy cable uncraftable --- data/json/recipes/recipe_others.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/json/recipes/recipe_others.json b/data/json/recipes/recipe_others.json index 9bf5c65331ae4..4cd374b32b9a9 100644 --- a/data/json/recipes/recipe_others.json +++ b/data/json/recipes/recipe_others.json @@ -3679,6 +3679,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 ] ] ] @@ -3693,6 +3694,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 ] ] ] From 8d7be5848f47dd834528827c9a2135e5e415fafa Mon Sep 17 00:00:00 2001 From: HarrsionG Date: Mon, 4 Nov 2019 01:00:43 -0800 Subject: [PATCH 002/175] Changes to CRT TV and it's Components Changed CRT TV to LCD TV. Added large_lcd_screen. Made LCD TV drop a large_lcd_screen upon dissasembly. --- data/json/items/generic.json | 16 +++++++++++++++- data/json/recipes/recipe_deconstruction.json | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index cc2aad099507a..3ec590ddeb8f4 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -817,7 +817,7 @@ "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", @@ -1383,6 +1383,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": 150000, + "material": "plastic", + "weight": "3000 g", + "volume": "1500 ml", + "to_hit": -4 + }, { "type": "GENERIC", "id": "small_lcd_screen", diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index 1e49c2cc49b36..f4f7485253aae 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -2338,6 +2338,7 @@ "time": "1 h", "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "large_lcd_screen", 1 ] ], [ [ "processor", 1 ] ], [ [ "RAM", 2 ] ], [ [ "cable", 8 ] ], From ad6c2102286844fd33868ccfdb62337790785228 Mon Sep 17 00:00:00 2001 From: HarrsionG Date: Mon, 4 Nov 2019 01:00:43 -0800 Subject: [PATCH 003/175] Changes to CRT TV and its Components Changed CRT TV to LCD TV. Added large_lcd_screen. Made LCD TV drop a large_lcd_screen upon dissasembly. --- data/json/items/generic.json | 16 +++++++++++++++- data/json/recipes/recipe_deconstruction.json | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index cc2aad099507a..3ec590ddeb8f4 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -817,7 +817,7 @@ "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", @@ -1383,6 +1383,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": 150000, + "material": "plastic", + "weight": "3000 g", + "volume": "1500 ml", + "to_hit": -4 + }, { "type": "GENERIC", "id": "small_lcd_screen", diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index 1e49c2cc49b36..f4f7485253aae 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -2338,6 +2338,7 @@ "time": "1 h", "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "large_lcd_screen", 1 ] ], [ [ "processor", 1 ] ], [ [ "RAM", 2 ] ], [ [ "cable", 8 ] ], From bb95978da8d5ab2bb74e16f94163bae66c8a7df7 Mon Sep 17 00:00:00 2001 From: Harrison Greenlee Date: Mon, 4 Nov 2019 16:08:54 -0800 Subject: [PATCH 004/175] Decreased weight of LCD TV --- data/json/items/generic.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 3ec590ddeb8f4..42e44380eb501 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -820,7 +820,7 @@ "description": "A large LCD television, full of delicious electronics.", "price": 0, "material": "plastic", - "weight": "22600 g", + "weight": "11300 g", "volume": "3 L", "bashing": 5, "to_hit": -5 From 33b0bbd29151b7523ab8a9f79db91456a4c939c8 Mon Sep 17 00:00:00 2001 From: HarrsionG Date: Mon, 4 Nov 2019 23:26:42 -0800 Subject: [PATCH 005/175] Fixed large_lcd_screen price and added large_lcd_screen to other devices Fixed price of large_lcd_screen and added it to recipes and deconstruction when appropriate. --- data/json/construction.json | 2 +- data/json/furniture_and_terrain/terrain-manufactured.json | 5 +++-- data/json/furniture_and_terrain/terrain-mechanisms.json | 8 ++++---- data/json/itemgroups/item_groups.json | 3 ++- data/json/itemgroups/locations.json | 3 ++- data/json/items/generic.json | 2 +- .../recipes/basecamps/recipe_modular_field_common.json | 2 +- data/json/recipes/basecamps/recipe_primitive_field.json | 2 +- 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/data/json/construction.json b/data/json/construction.json index 2039c185b09d1..d254bba7a076c 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -3158,7 +3158,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/furniture_and_terrain/terrain-manufactured.json b/data/json/furniture_and_terrain/terrain-manufactured.json index 7b8f805aacacf..e9a7ec7e0bf5f 100644 --- a/data/json/furniture_and_terrain/terrain-manufactured.json +++ b/data/json/furniture_and_terrain/terrain-manufactured.json @@ -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 }, @@ -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/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 3807ff72382cf..329cae55dafe9 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -8265,7 +8265,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 ], diff --git a/data/json/itemgroups/locations.json b/data/json/itemgroups/locations.json index e8c9b1d061e5e..07e539e85ca87 100644 --- a/data/json/itemgroups/locations.json +++ b/data/json/itemgroups/locations.json @@ -1369,7 +1369,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 ], diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 42e44380eb501..742a48ed9d7c7 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -1391,7 +1391,7 @@ "name": "large LCD screen", "category": "spare_parts", "description": "A large backlit screen, used for displaying images. Useful in some electronics recipes.", - "price": 150000, + "price": 10000, "material": "plastic", "weight": "3000 g", "volume": "1500 ml", 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_primitive_field.json b/data/json/recipes/basecamps/recipe_primitive_field.json index ffebaf7ae5406..9e9aa45d0c844 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 ] ], From 0eb0d886b4e19c86a2fc69d6f4dec29e67a3d239 Mon Sep 17 00:00:00 2001 From: HarrsionG Date: Tue, 5 Nov 2019 13:18:15 -0800 Subject: [PATCH 006/175] LCD deconstruction and remote vehicle control recipe change Adds deconstruction recipe for large_lcd_screen and small_lcd_screen and changes recipe for remote vehicle control to require a large LCD screen instead of a small LCD screen (because it would be incredibly difficult to drive a full-sized car with a tiny screen). --- data/json/recipes/recipe_deconstruction.json | 16 ++++++++++++++++ data/json/recipes/recipe_electronics.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index f4f7485253aae..01e83e463285c 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -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", diff --git a/data/json/recipes/recipe_electronics.json b/data/json/recipes/recipe_electronics.json index a1064061c85a1..3ae02eaf877bf 100644 --- a/data/json/recipes/recipe_electronics.json +++ b/data/json/recipes/recipe_electronics.json @@ -2163,7 +2163,7 @@ [ [ "antenna", 1 ] ], [ [ "processor", 1 ] ], [ [ "RAM", 1 ] ], - [ [ "small_lcd_screen", 1 ] ] + [ [ "large_lcd_screen", 1 ] ] ] }, { From 86dc8ed0b9702e3ccb05d3d54a9b3085fa649b6a Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Wed, 6 Nov 2019 15:32:36 +0100 Subject: [PATCH 007/175] Raise amount of money needed for new cashcards. --- src/iexamine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/iexamine.cpp b/src/iexamine.cpp index bfff794bf2663..95fb43ad7b413 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 >= 10000 ) { 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 $100.00 in your account to purchase a card." ) ); } if( card_count && u.cash > 0 ) { From b9b07bae3badee60fc1a958d1454899141bbb01c Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Wed, 6 Nov 2019 16:17:49 +0100 Subject: [PATCH 008/175] Reduced cash card post_apoc price. --- data/json/items/generic.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 8cb7c8ff25e60..555802273e728 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -2408,7 +2408,7 @@ "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_postapoc": 1, "material": "plastic", "flags": [ "NO_UNLOAD", "NO_RELOAD" ], "weight": "6 g", From 72b7022b48ed1bac6209e711293fc6a150f40aa0 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Wed, 6 Nov 2019 16:23:27 +0100 Subject: [PATCH 009/175] Reduced price to 10$. Alongside with other stuff I nearly forgot about. --- src/iexamine.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/iexamine.cpp b/src/iexamine.cpp index 95fb43ad7b413..2bde635f0d072 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 >= 10000 ) { + if( u.cash >= 1000 ) { add_choice( purchase_card, _( "Purchase cash card?" ) ); } else { - add_info( purchase_card, _( "You need $100.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,9 @@ 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 +431,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(); From 470c1ebe938207e02170af10e221dda486d428da Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Thu, 7 Nov 2019 11:54:15 +0100 Subject: [PATCH 010/175] Tweak price of cashcard before apoc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Jianxiang Wang (王健翔) --- data/json/items/generic.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 555802273e728..f8363e52ec90a 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -2407,7 +2407,7 @@ "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": 1000, "price_postapoc": 1, "material": "plastic", "flags": [ "NO_UNLOAD", "NO_RELOAD" ], From a3a14ee52c432d94aa88b6ad52c05606075c4edb Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Thu, 7 Nov 2019 15:11:16 +0100 Subject: [PATCH 011/175] Lint. --- data/json/items/generic.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index f8363e52ec90a..dd29ce99fce0c 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -2407,7 +2407,7 @@ "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": 1000, + "price": 1000, "price_postapoc": 1, "material": "plastic", "flags": [ "NO_UNLOAD", "NO_RELOAD" ], From 731ea57f73f073d7195b564999364f6be0e1d383 Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 7 Nov 2019 22:28:18 +0000 Subject: [PATCH 012/175] remove other zone farming options to deduplicate and remove inconsistency --- data/json/player_activities.json | 27 --------- src/activity_handlers.cpp | 95 -------------------------------- src/activity_handlers.h | 3 - src/activity_item_handling.cpp | 2 + src/handle_action.cpp | 45 --------------- 5 files changed, 2 insertions(+), 170 deletions(-) diff --git a/data/json/player_activities.json b/data/json/player_activities.json index e6d69084b00f0..edcf74fee6472 100644 --- a/data/json/player_activities.json +++ b/data/json/player_activities.json @@ -368,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", @@ -396,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", diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index c0817e18ed716..9fb32d65fdbe0 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -176,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 }, @@ -3989,39 +3986,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; @@ -4074,65 +4038,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() ) { diff --git a/src/activity_handlers.h b/src/activity_handlers.h index 56dca804cd385..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 ); diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 057e3af1146e4..2087b21319557 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -2413,6 +2413,8 @@ static std::unordered_set generic_multi_activity_locations( player &p, } } // farming activies encompass tilling, planting, harvesting. + } else if( act_id == activity_id( "ACT_MULTIPLE_FARM" ) ) { + dark_capable = true; } } else { dark_capable = true; diff --git a/src/handle_action.cpp b/src/handle_action.cpp index 5a37ec7d1ffd8..5bae70c824391 100644 --- a/src/handle_action.cpp +++ b/src/handle_action.cpp @@ -1004,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, @@ -1020,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. @@ -1033,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" ), @@ -1065,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" ), _( "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." ) ); @@ -1126,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; From a35386484474db0dfe919d6b3e1ebb4e866279b2 Mon Sep 17 00:00:00 2001 From: Rail Runner Date: Fri, 8 Nov 2019 18:14:00 +0300 Subject: [PATCH 013/175] Allow bandoliers to hold extra ammo types --- data/json/items/armor/bandolier.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data/json/items/armor/bandolier.json b/data/json/items/armor/bandolier.json index 8fa00fcedc2ae..e6437eb47a94a 100644 --- a/data/json/items/armor/bandolier.json +++ b/data/json/items/armor/bandolier.json @@ -18,7 +18,7 @@ "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" ] @@ -42,7 +42,7 @@ "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" ] @@ -63,7 +63,7 @@ "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" ] }, { @@ -82,7 +82,7 @@ "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" ] }, { @@ -102,7 +102,7 @@ "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" ] }, { @@ -124,7 +124,7 @@ "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" ] From 8191a2600bf616e1dda7239f6e5f60642eda9a47 Mon Sep 17 00:00:00 2001 From: Rail Runner Date: Fri, 8 Nov 2019 18:23:28 +0300 Subject: [PATCH 014/175] Linting --- data/json/items/armor/bandolier.json | 65 ++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-) diff --git a/data/json/items/armor/bandolier.json b/data/json/items/armor/bandolier.json index e6437eb47a94a..ba72f3fcc44f1 100644 --- a/data/json/items/armor/bandolier.json +++ b/data/json/items/armor/bandolier.json @@ -18,7 +18,27 @@ "use_action": { "type": "bandolier", "capacity": 18, - "ammo": [ "32", "762x25", "38", "357mag", "357sig", "380", "38super", "40", "10mm", "44", "45", "45colt", "46", "57", "9x18", "9mm", "454", "460", "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" ] @@ -42,7 +62,23 @@ "use_action": { "type": "bandolier", "capacity": 16, - "ammo": [ "22", "223", "270win", "300blk", "5x50", "545x39", "3006", "308", "300", "762", "762R", "8x40mm", "4570", "50", "700nx" ], + "ammo": [ + "22", + "223", + "270win", + "300blk", + "5x50", + "545x39", + "3006", + "308", + "300", + "762", + "762R", + "8x40mm", + "4570", + "50", + "700nx" + ], "draw_cost": 20 }, "flags": [ "WATER_FRIENDLY", "WAIST", "OVERSIZE" ] @@ -102,7 +138,12 @@ "coverage": 10, "encumbrance": 2, "material_thickness": 1, - "use_action": { "type": "bandolier", "capacity": 14, "ammo": [ "flintlock", "36paper", "44paper", "blunderbuss", "shotcanister", "shotpaper" ], "draw_cost": 20 }, + "use_action": { + "type": "bandolier", + "capacity": 14, + "ammo": [ "flintlock", "36paper", "44paper", "blunderbuss", "shotcanister", "shotpaper" ], + "draw_cost": 20 + }, "flags": [ "WATER_FRIENDLY", "WAIST", "OVERSIZE" ] }, { @@ -124,7 +165,23 @@ "use_action": { "type": "bandolier", "capacity": 4, - "ammo": [ "22", "223", "270win", "300blk", "5x50", "545x39", "3006", "308", "300", "762", "762R", "8x40mm", "4570", "50", "700nx" ], + "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" ] From 01893bd8b4b6ea9c20798010efa13ad8dc68f31a Mon Sep 17 00:00:00 2001 From: Qrox Date: Fri, 8 Nov 2019 01:22:53 +0800 Subject: [PATCH 015/175] Use string ids instead of hashes for snippets --- lang/extract_json_strings.py | 13 ++- src/activity_handlers.cpp | 3 +- src/character.cpp | 4 +- src/computer.cpp | 38 ++++---- src/help.cpp | 2 +- src/item.cpp | 20 +++-- src/item.h | 4 +- src/iuse.cpp | 3 +- src/main_menu.cpp | 2 +- src/mapgen.cpp | 4 +- src/monattack.cpp | 3 +- src/monster.cpp | 4 +- src/player.cpp | 53 ++++++----- src/profession.cpp | 12 ++- src/savegame_json.cpp | 10 ++- src/text_snippets.cpp | 165 ++++++++++++++++++----------------- src/text_snippets.h | 106 ++++++++++++++-------- src/translations.cpp | 11 +++ src/translations.h | 5 ++ tests/npc_test.cpp | 24 ++--- 20 files changed, 291 insertions(+), 195 deletions(-) diff --git a/lang/extract_json_strings.py b/lang/extract_json_strings.py index 903fbbab31a89..3050dad1d8301 100755 --- a/lang/extract_json_strings.py +++ b/lang/extract_json_strings.py @@ -144,7 +144,6 @@ def warning_supressed(filename): "PET_ARMOR", "score", "skill", - "snippet", "speech", "SPELL", "start_location", @@ -760,6 +759,17 @@ def extract_fault(item): 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, @@ -782,6 +792,7 @@ def extract_fault(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, diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index c0817e18ed716..5d278c6f24c4f 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -4244,7 +4244,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; } diff --git a/src/character.cpp b/src/character.cpp index 5f3c3234b568a..7980f30a516c6 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -2941,8 +2941,8 @@ void Character::print_health() const 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 ); + 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 ); } } diff --git a/src/computer.cpp b/src/computer.cpp index 36038b1d6aba5..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 ) @@ -539,14 +539,14 @@ 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…" ) ); @@ -566,7 +566,7 @@ 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…" ) ); alerts ++; @@ -747,7 +747,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( "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,7 +786,7 @@ 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(); @@ -981,52 +981,52 @@ void computer::activate_function( computer_action action ) case COMPACT_SR1_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "sr1_mess" ) ) ); + 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" ) ) ); + 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" ) ) ); + 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" ) ) ); + 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" ) ) ); + 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" ) ) ); + 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" ) ) ); + 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" ) ) ); + 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" ) ) ); + print_text( "%s", SNIPPET.random_from_category( "scrf_seal_order" ).value_or( translation() ) ); query_any( _( "Press any key to continue…" ) ); break; diff --git a/src/help.cpp b/src/help.cpp index 46f214bb72ef8..5335567b1f92b 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -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/item.cpp b/src/item.cpp index f023fa6c4dd54..2fd39a3240acb 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 ) { @@ -2501,9 +2501,12 @@ void item::final_info( std::vector &info, const iteminfo_query *parts, insert_separation_line( info ); const std::map::const_iterator idescription = item_vars.find( "description" ); - if( !type->snippet_category.empty() ) { + 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.get( note ) ) ); + info.push_back( iteminfo( "DESCRIPTION", snippet.value().translated() ) ); } else if( idescription != item_vars.end() ) { info.push_back( iteminfo( "DESCRIPTION", idescription->second ) ); } else { @@ -7814,7 +7817,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; @@ -7823,13 +7826,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 diff --git a/src/item.h b/src/item.h index 9d7d491fe6faf..91a4e15a4b157 100644 --- a/src/item.h +++ b/src/item.h @@ -1195,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 @@ -2115,7 +2115,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/iuse.cpp b/src/iuse.cpp index 3268c99cc0105..f3c0e21be5360 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -4112,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!" ); diff --git a/src/main_menu.cpp b/src/main_menu.cpp index 6ba57a47fff36..760100334079d 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -336,7 +336,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 ) diff --git a/src/mapgen.cpp b/src/mapgen.cpp index e49359e4f7302..8063fa3676d3f 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -834,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; } @@ -886,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; } diff --git a/src/monattack.cpp b/src/monattack.cpp index 1bf0b47f5aeb8..de295c4c2c182 100644 --- a/src/monattack.cpp +++ b/src/monattack.cpp @@ -706,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 ) ); diff --git a/src/monster.cpp b/src/monster.cpp index 97f0672051fd7..ef719d999ee02 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -2109,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 ); diff --git a/src/player.cpp b/src/player.cpp index a3a304741bde3..71fd3de35b50e 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -3710,8 +3710,8 @@ void player::suffer() // Limb Breaks if( !done_effect && one_turn_in( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "broken_limb" ); - add_msg( m_bad, snip ); + const translation snip = SNIPPET.random_from_category( "broken_limb" ).value_or( translation() ); + add_msg( m_bad, "%s", snip ); done_effect = true; } @@ -3719,7 +3719,8 @@ void player::suffer() 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( "" ); + 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 ); @@ -3736,7 +3737,8 @@ void player::suffer() // Talk to self if( !done_effect && one_turn_in( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "schizo_self_talk" ); + const translation snip = SNIPPET.random_from_category( "schizo_self_talk" ).value_or( + translation() ); add_msg( _( "%1$s says: \"%2$s\"" ), name, snip ); done_effect = true; } @@ -3766,19 +3768,23 @@ void player::suffer() } } if( !seen_mons.empty() ) { - std::string talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_monster" ); + 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" ); + 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" ); + 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" ); + i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_misc" ).value_or( + translation() ).translated(); does_talk = true; } if( does_talk ) { @@ -3789,22 +3795,25 @@ void player::suffer() // 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 ); + const translation snip = SNIPPET.random_from_category( "schizo_delusion_paranoid" ).value_or( + translation() ); + add_msg( m_warning, "%s", 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 ); + const translation snip = SNIPPET.random_from_category( "schizo_delusion_grandiose" ).value_or( + translation() ); + add_msg( m_good, "%s", 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" ); + 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( m_bad, snip ); + add_msg( m_bad, "%s", snip ); done_effect = true; } // Numbness @@ -3831,7 +3840,8 @@ void player::suffer() } // Shout if( !done_effect && one_turn_in( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "schizo_self_shout" ); + const translation snip = SNIPPET.random_from_category( "schizo_self_shout" ).value_or( + translation() ); shout( string_format( _( "yourself shout, %s" ), snip ) ); done_effect = true; } @@ -3843,7 +3853,8 @@ void player::suffer() //~ %1$s: weapon name string_format( _( "your %1$s" ), weapon.type_name() ); - std::string snip = SNIPPET.random_from_category( "schizo_weapon_drop" ); + 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] ); @@ -4241,16 +4252,18 @@ void player::suffer() 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 ) ); + const translation smokin_hot_fiyah = + SNIPPET.random_from_category( "pyromania_withdrawal" ).value_or( translation() ); + 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 ) ); + const translation snip = SNIPPET.random_from_category( "killer_withdrawal" ).value_or( + translation() ); + add_msg_if_player( m_bad, "%s", snip ); } } 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/savegame_json.cpp b/src/savegame_json.cpp index 8a4a7393d65a3..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" @@ -2071,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 ); @@ -2134,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() ) { @@ -2146,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. 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/translations.cpp b/src/translations.cpp index 1bc46b7d25970..067e2cd77d32a 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -23,6 +23,7 @@ #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" @@ -579,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/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. From 4ab1657dc24a40b4d34409549bce62f1e3af6883 Mon Sep 17 00:00:00 2001 From: Qrox Date: Fri, 8 Nov 2019 16:18:12 +0800 Subject: [PATCH 016/175] Add ids to item snippets --- data/json/items/armor.json | 12 +- data/json/items/book/misc.json | 16 +- .../snippets/dimensional_exploration.json | 15 +- data/json/snippets/music.json | 2 +- data/json/snippets/snippets.json | 1501 +++++++++++++---- data/mods/Animatronics/snippets.json | 44 +- data/mods/DinoMod/snippets.json | 36 +- data/mods/FictonalWeapons/snippets.json | 34 +- data/mods/More_Survival_Tools/snippets.json | 9 +- .../My_Sweet_Cataclysm/sweet_snippets.json | 5 +- data/mods/Tanks/snippets.json | 35 +- data/mods/blazemod/snippets.json | 75 +- 12 files changed, 1255 insertions(+), 529 deletions(-) diff --git a/data/json/items/armor.json b/data/json/items/armor.json index 06fdf6eb4a9cc..3f82abd03679e 100644 --- a/data/json/items/armor.json +++ b/data/json/items/armor.json @@ -8890,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" ] }, @@ -8915,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" ] }, diff --git a/data/json/items/book/misc.json b/data/json/items/book/misc.json index d32f278b09e1f..3b94aa04342e2 100644 --- a/data/json/items/book/misc.json +++ b/data/json/items/book/misc.json @@ -868,10 +868,6 @@ }, { "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", @@ -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." } ] }, diff --git a/data/json/snippets/dimensional_exploration.json b/data/json/snippets/dimensional_exploration.json index b1f228cf55e2d..9b66875a87d40 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/music.json b/data/json/snippets/music.json index 5337c428d9b74..a6fc88485eb8a 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 ." ] }, { diff --git a/data/json/snippets/snippets.json b/data/json/snippets/snippets.json index 8b2837c768d86..a11b7542b9ce4 100644 --- a/data/json/snippets/snippets.json +++ b/data/json/snippets/snippets.json @@ -3,430 +3,1198 @@ "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": "\"d o nThelp scho Ol buss makE seeeedS ARe FUNGUS!! !\"" }, + { + "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." + } ] }, { @@ -641,7 +1409,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/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/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/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/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/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/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.\"" ] } ] From d80aa75d4935c11f7082ec88686d8b5350b0e9a9 Mon Sep 17 00:00:00 2001 From: Qrox Date: Fri, 8 Nov 2019 17:48:10 +0800 Subject: [PATCH 017/175] Fix snippet text style --- data/core/tips.json | 6 +- data/json/items/armor.json | 2 +- data/json/items/book/misc.json | 6 +- data/json/npcs/hints.json | 40 ++--- data/json/npcs/talk_tags.json | 96 ++++++------ .../snippets/dimensional_exploration.json | 4 +- data/json/snippets/health_msgs.json | 2 +- data/json/snippets/schizophrenia.json | 16 +- data/json/snippets/snippets.json | 145 +++++++++--------- 9 files changed, 160 insertions(+), 157 deletions(-) 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/items/armor.json b/data/json/items/armor.json index 3f82abd03679e..36a5231587dd6 100644 --- a/data/json/items/armor.json +++ b/data/json/items/armor.json @@ -6410,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", diff --git a/data/json/items/book/misc.json b/data/json/items/book/misc.json index 3b94aa04342e2..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", @@ -871,7 +871,7 @@ { "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." }, 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/talk_tags.json b/data/json/npcs/talk_tags.json index 7a72c91e8ff64..64a39317ff8bd 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?" ] }, { @@ -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?" ] }, { @@ -539,12 +539,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 +552,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 +601,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 +638,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 +688,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 +767,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 +784,7 @@ ", I'm doomed! There's a ", ", here comes a ", "Incoming!", - "Prepare yourself! We have a", + "Prepare yourself! We have a", "" ] }, @@ -872,7 +872,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 +968,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 +1032,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 +1050,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 +1076,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." ] @@ -1089,7 +1089,7 @@ "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 for my internal power supply. Anything on you?", - "Got any alcohol to spare? Need to recharge my drives. Methanol, would do." + "Got any alcohol to spare? Need to recharge my drives. Methanol, would do." ] }, { @@ -1148,8 +1148,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…" ] }, { @@ -1160,10 +1160,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." ] @@ -1254,7 +1254,7 @@ "Me go, you stay.", "Not that way! Go left!", "!", - "Retreat! Retreat!", + "Retreat! Retreat!", "Book it!", "Leg it!", "Thank fuck for all the cardio!" @@ -1279,7 +1279,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/snippets/dimensional_exploration.json b/data/json/snippets/dimensional_exploration.json index 9b66875a87d40..9a7cbfa61ae2c 100644 --- a/data/json/snippets/dimensional_exploration.json +++ b/data/json/snippets/dimensional_exploration.json @@ -5,7 +5,7 @@ "text": [ { "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." + "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." } ] }, @@ -25,7 +25,7 @@ "text": [ { "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." + "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/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 a11b7542b9ce4..a2e358e6dc732 100644 --- a/data/json/snippets/snippets.json +++ b/data/json/snippets/snippets.json @@ -125,23 +125,23 @@ }, { "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." + "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." + "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." + "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." + "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." + "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", @@ -149,7 +149,7 @@ }, { "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." + "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", @@ -277,14 +277,14 @@ "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_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...\"" + "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", @@ -347,7 +347,7 @@ "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_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.\"" @@ -356,7 +356,7 @@ "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_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?!\"" @@ -376,7 +376,7 @@ }, { "id": "note_47", - "text": "\"Those evac shelters have basements. Remember when they were full of food? Every single one is fucking empty now...\"" + "text": "\"Those evac shelters have basements. Remember when they were full of food? Every single one is fucking empty now…\"" }, { "id": "note_48", @@ -387,16 +387,16 @@ { "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.\"" + "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.\"" + "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!\"" + "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\"" }, @@ -415,30 +415,30 @@ }, { "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...\"" + "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.\"" + "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...\"" + "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.\"" + "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.\"" + "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?\"" }, @@ -451,12 +451,12 @@ "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_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.\"" + "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\"" }, @@ -490,7 +490,7 @@ { "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.\"" + "text": "\"They said a walking cane was a useless weapon… but then I hit one of them with it.\"" }, { "id": "note_102", @@ -503,9 +503,9 @@ }, { "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_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_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\"" @@ -521,7 +521,7 @@ }, { "id": "note_114", - "text": "\"Anyone else seen those really... SQUARE-looking towns? I don't think they're normal.\"" + "text": "\"Anyone else seen those really… SQUARE-looking towns? I don't think they're normal.\"" }, { "id": "note_115", @@ -560,7 +560,7 @@ { "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?\"" + "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", @@ -570,7 +570,7 @@ { "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!\"" + "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\"" }, { @@ -605,7 +605,7 @@ { "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\"" + "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!\"" }, @@ -664,11 +664,11 @@ { "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...\"" + "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\"" + "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.\"" }, @@ -682,7 +682,7 @@ { "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...\"" + "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", @@ -698,7 +698,7 @@ }, { "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_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?\"" @@ -713,7 +713,7 @@ }, { "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!\"" + "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", @@ -749,14 +749,14 @@ }, { "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_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_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.\"" @@ -790,7 +790,10 @@ "id": "note_216", "text": "\"School bus with solar panels = TRUST. Gave us berries and seeds, we were out of food\"" }, - { "id": "note_217", "text": "\"d o nThelp scho Ol buss makE seeeedS ARe FUNGUS!! !\"" }, + { + "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\"" @@ -810,7 +813,7 @@ }, { "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\"" + "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\"" } ] }, @@ -828,15 +831,15 @@ }, { "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.\"" + "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." + "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!\"" + "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", @@ -882,7 +885,7 @@ }, { "id": "many_years_old_news_2", - "text": "SECURIBOTS: Keeping your home safe, ready the second the alarm goes off... Who needs people?" + "text": "SECURIBOTS: Keeping your home safe, ready the second the alarm goes off… Who needs people?" }, { "id": "many_years_old_news_3", @@ -898,11 +901,11 @@ }, { "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." + "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\"!" + "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", @@ -960,7 +963,7 @@ }, { "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." + "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", @@ -972,7 +975,7 @@ }, { "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!" + "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", @@ -990,7 +993,7 @@ }, { "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.\"" + "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", @@ -1006,11 +1009,11 @@ }, { "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." + "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" + "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", @@ -1022,7 +1025,7 @@ }, { "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!" + "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", @@ -1030,11 +1033,11 @@ }, { "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!" + "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.\"" + "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.\"" } ] }, @@ -1044,7 +1047,7 @@ "text": [ { "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.\"" + "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", @@ -1060,11 +1063,11 @@ }, { "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." + "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!" + "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", @@ -1078,7 +1081,7 @@ "text": [ { "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?\"" + "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", @@ -1098,7 +1101,7 @@ }, { "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.\")" + "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", @@ -1110,11 +1113,11 @@ }, { "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!" + "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" + "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" } ] }, @@ -1154,7 +1157,7 @@ }, { "id": "scores_3", - "text": "The card is printed for a game of golf. Someone has filled out their score for the first 9 holes." + "text": "The card is printed for a game of golf. Someone has filled out their score for the first 9 holes." } ] }, @@ -1204,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." ] @@ -1352,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." ] }, { @@ -1397,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…" ] }, { From 47a0cac3725d572deec0e9edf654cb66673ed2d3 Mon Sep 17 00:00:00 2001 From: Qrox Date: Sat, 9 Nov 2019 00:45:39 +0800 Subject: [PATCH 018/175] Add translation context to some snippets --- data/json/npcs/talk_tags.json | 20 ++++++++++++++++---- data/json/snippets/music.json | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/data/json/npcs/talk_tags.json b/data/json/npcs/talk_tags.json index 64a39317ff8bd..6384cc419db6d 100644 --- a/data/json/npcs/talk_tags.json +++ b/data/json/npcs/talk_tags.json @@ -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", @@ -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", diff --git a/data/json/snippets/music.json b/data/json/snippets/music.json index a6fc88485eb8a..8b761cbb94318 100644 --- a/data/json/snippets/music.json +++ b/data/json/snippets/music.json @@ -21,7 +21,7 @@ "text": [ "amazing", "funky", - "okay", + { "text": { "ctxt": "", "str": "okay" } }, "pretty good", "sweet", "sick", From 440fae392ff9eb21ee33097d58c9d8bb29ed73ce Mon Sep 17 00:00:00 2001 From: Qrox Date: Sat, 9 Nov 2019 12:19:01 +0800 Subject: [PATCH 019/175] Update TRANSLATING.md --- doc/TRANSLATING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/TRANSLATING.md b/doc/TRANSLATING.md index f15b0db65ff33..153a1ea1832b0 100644 --- a/doc/TRANSLATING.md +++ b/doc/TRANSLATING.md @@ -313,6 +313,7 @@ issues reported by the `translation` class. | Recipe descriptions | Inscribe use action verbs/gerunds | Monster names (plural supported) and descriptions +| Snippets ### Recommendations From a600447f87f382287762f992ee079c59fc1df02b Mon Sep 17 00:00:00 2001 From: Harrison Greenlee Date: Sun, 10 Nov 2019 04:41:36 -0800 Subject: [PATCH 020/175] Increased weight and volume of large LCD screen --- data/json/items/generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 742a48ed9d7c7..c9917f7f2887a 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -1393,8 +1393,8 @@ "description": "A large backlit screen, used for displaying images. Useful in some electronics recipes.", "price": 10000, "material": "plastic", - "weight": "3000 g", - "volume": "1500 ml", + "weight": "13000 g", + "volume": "15000 ml", "to_hit": -4 }, { From c97fe3cca6b4ed2fbc7488236cd7b30a9ea8c4f0 Mon Sep 17 00:00:00 2001 From: Harrison Greenlee Date: Sun, 10 Nov 2019 04:47:20 -0800 Subject: [PATCH 021/175] Increased weight and volume of LCD TV --- data/json/items/generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index c9917f7f2887a..77205627ed2e5 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -820,8 +820,8 @@ "description": "A large LCD television, full of delicious electronics.", "price": 0, "material": "plastic", - "weight": "11300 g", - "volume": "3 L", + "weight": "15000 g", + "volume": "20 L", "bashing": 5, "to_hit": -5 }, From daf0d75d12a9f3bcec15e21ca38bd3a221907764 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 10 Nov 2019 17:53:31 +0100 Subject: [PATCH 022/175] Add some items to wall_bash_results itemgroup. --- data/json/furniture_and_terrain/terrain-walls.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data/json/furniture_and_terrain/terrain-walls.json b/data/json/furniture_and_terrain/terrain-walls.json index 6710f0dc0850f..ded202789f3af 100644 --- a/data/json/furniture_and_terrain/terrain-walls.json +++ b/data/json/furniture_and_terrain/terrain-walls.json @@ -7,7 +7,10 @@ { "item": "rock", "count": [ 0, 2 ] }, { "item": "wood_panel", "count": [ 0, 1 ] }, { "item": "nail", "charges": [ 2, 8 ] }, - { "item": "splinter", "count": [ 1, 5 ] } + { "item": "splinter", "count": [ 1, 5 ] }, + { "item": "pipe", "count": [ 0, 2 ] }, + { "item": "cu_pipe", "count": [ 0, 2 ] }, + { "item": "wire", "count": [ 1, 5 ] } ] }, { From 6a6877c537620d801539ec4d6bc48d78fc8c9d9e Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 10 Nov 2019 18:26:41 +0100 Subject: [PATCH 023/175] Prevent UB caused by accessing delete item When the player gives food to a pet (invokes the petfood iuse function) and that action succeeds, charges are consumed from the food item. This done via `player::consume_charges`, which handles the case when the last charge of that stack is consumed (the item instance is deleted). However, the functions still return 1, which indicates to the caller (specifically `player::invoke_item`) that *it* (the caller) should consume that many charges / the item. Consequently, the caller tries to access the (deleted!) item, causing UB. --- src/iuse.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/iuse.cpp b/src/iuse.cpp index 7030934ba71e1..f016f80478106 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -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, From d97a50c28f20ca267332dd23db3a45e27d3c223e Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 10 Nov 2019 18:48:47 +0100 Subject: [PATCH 024/175] Tweak number of drops and add prob. --- data/json/furniture_and_terrain/terrain-walls.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/json/furniture_and_terrain/terrain-walls.json b/data/json/furniture_and_terrain/terrain-walls.json index ded202789f3af..59286ffeb8f6f 100644 --- a/data/json/furniture_and_terrain/terrain-walls.json +++ b/data/json/furniture_and_terrain/terrain-walls.json @@ -8,9 +8,9 @@ { "item": "wood_panel", "count": [ 0, 1 ] }, { "item": "nail", "charges": [ 2, 8 ] }, { "item": "splinter", "count": [ 1, 5 ] }, - { "item": "pipe", "count": [ 0, 2 ] }, - { "item": "cu_pipe", "count": [ 0, 2 ] }, - { "item": "wire", "count": [ 1, 5 ] } + { "item": "pipe", "count": [ 0, 2 ], "prob": 10 }, + { "item": "cu_pipe", "count": [ 0, 2 ], "prob": 10 }, + { "item": "wire", "count": [ 0, 2 ], "prob": 10 } ] }, { From 4db3076883399f6dd28204bdadbbac0e719bcfc5 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 10 Nov 2019 19:13:11 +0100 Subject: [PATCH 025/175] Changed wire to cable. --- data/json/furniture_and_terrain/terrain-walls.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/furniture_and_terrain/terrain-walls.json b/data/json/furniture_and_terrain/terrain-walls.json index 59286ffeb8f6f..3548366be4ec6 100644 --- a/data/json/furniture_and_terrain/terrain-walls.json +++ b/data/json/furniture_and_terrain/terrain-walls.json @@ -10,7 +10,7 @@ { "item": "splinter", "count": [ 1, 5 ] }, { "item": "pipe", "count": [ 0, 2 ], "prob": 10 }, { "item": "cu_pipe", "count": [ 0, 2 ], "prob": 10 }, - { "item": "wire", "count": [ 0, 2 ], "prob": 10 } + { "item": "cable", "count": [ 0, 3 ], "prob": 10 } ] }, { From e63b7c1209a51bf67aa5d28476b38a78d455d76f Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 10 Nov 2019 19:32:35 +0100 Subject: [PATCH 026/175] Change count to charges --- data/json/furniture_and_terrain/terrain-walls.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/furniture_and_terrain/terrain-walls.json b/data/json/furniture_and_terrain/terrain-walls.json index 3548366be4ec6..219a3398356e5 100644 --- a/data/json/furniture_and_terrain/terrain-walls.json +++ b/data/json/furniture_and_terrain/terrain-walls.json @@ -10,7 +10,7 @@ { "item": "splinter", "count": [ 1, 5 ] }, { "item": "pipe", "count": [ 0, 2 ], "prob": 10 }, { "item": "cu_pipe", "count": [ 0, 2 ], "prob": 10 }, - { "item": "cable", "count": [ 0, 3 ], "prob": 10 } + { "item": "cable", "charges": [ 0, 200 ], "prob": 10 } ] }, { From 50d002d197512537826b68bed4a937e97b8aac34 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 10 Nov 2019 21:02:54 +0100 Subject: [PATCH 027/175] Raise number of drops for nails and add planks. --- data/json/furniture_and_terrain/terrain-walls.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data/json/furniture_and_terrain/terrain-walls.json b/data/json/furniture_and_terrain/terrain-walls.json index 219a3398356e5..5a5f91f6c905b 100644 --- a/data/json/furniture_and_terrain/terrain-walls.json +++ b/data/json/furniture_and_terrain/terrain-walls.json @@ -6,8 +6,9 @@ "entries": [ { "item": "rock", "count": [ 0, 2 ] }, { "item": "wood_panel", "count": [ 0, 1 ] }, - { "item": "nail", "charges": [ 2, 8 ] }, + { "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 } From 3f53e24831f75e50b8fa8fd5400b7165f91ace75 Mon Sep 17 00:00:00 2001 From: Qrox Date: Mon, 11 Nov 2019 10:56:02 +0800 Subject: [PATCH 028/175] Update `random_from_category` calls in suffer.cpp --- src/suffer.cpp | 54 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/src/suffer.cpp b/src/suffer.cpp index a4d429f628d38..4515032f678e1 100644 --- a/src/suffer.cpp +++ b/src/suffer.cpp @@ -469,22 +469,25 @@ void Character::suffer_from_schizophrenia() // Delusions if( one_turn_in( 8_hours ) ) { if( rng( 1, 20 ) > 5 ) { // 75% chance - std::string snip = SNIPPET.random_from_category( "schizo_delusion_paranoid" ); - add_msg_if_player( m_warning, snip ); + 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 - std::string snip = SNIPPET.random_from_category( "schizo_delusion_grandiose" ); - add_msg_if_player( m_good, snip ); + 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 ) ) { - std::string snip = SNIPPET.random_from_category( "schizo_formication" ); + 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, snip ); + add_msg_if_player( m_bad, "%s", snip ); return; } // Numbness @@ -512,23 +515,25 @@ void Character::suffer_from_schizophrenia() } // Shout if( one_turn_in( 4_hours ) ) { - shout( SNIPPET.random_from_category( "schizo_self_shout" ) ); + shout( SNIPPET.random_from_category( "schizo_self_shout" ).value_or( translation() ).translated() ); return; } // Drop weapon if( one_turn_in( 2_days ) && !weapon.is_null() ) { - std::string snip = SNIPPET.random_from_category( "schizo_weapon_drop" ); + 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, str ); + 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 ) ) { - std::string snip = SNIPPET.random_from_category( "schizo_self_talk" ); + const translation snip = SNIPPET.random_from_category( "schizo_self_talk" ).value_or( + translation() ); add_msg( _( "%1$s says: \"%2$s\"" ), name, snip ); return; } @@ -571,8 +576,8 @@ void Character::suffer_from_schizophrenia() // Limb Breaks if( one_turn_in( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "broken_limb" ); - add_msg( m_bad, snip ); + const translation snip = SNIPPET.random_from_category( "broken_limb" ).value_or( translation() ); + add_msg( m_bad, "%s", snip ); return; } @@ -580,7 +585,8 @@ void Character::suffer_from_schizophrenia() if( one_turn_in( 4_hours ) ) { std::string i_name = Name::generate( one_in( 2 ) ); - std::string i_talk = SNIPPET.random_from_category( "" ); + 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 ); @@ -614,19 +620,23 @@ void Character::suffer_from_schizophrenia() } } if( !seen_mons.empty() ) { - std::string talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_monster" ); + 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" ); + 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" ); + 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" ); + i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_misc" ).value_or( + translation() ).translated(); does_talk = true; } if( does_talk ) { @@ -998,16 +1008,18 @@ void Character::suffer_from_other_mutations() 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 ) ); + 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 ) ) { - std::string snip = SNIPPET.random_from_category( "killer_withdrawal" ); - add_msg_if_player( m_bad, _( snip ) ); + const translation snip = SNIPPET.random_from_category( "killer_withdrawal" ).value_or( + translation() ); + add_msg_if_player( m_bad, "%s", snip ); } } } From c045f742b880102f76ada3b7e7e393d4d6324368 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Sun, 10 Nov 2019 19:53:11 -0800 Subject: [PATCH 029/175] Add an entry describing a SUMMARY: None description --- doc/CHANGELOG_GUIDELINES.md | 3 +++ 1 file changed, 3 insertions(+) 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. From 1d6366e6881a1479d9874ac234709dc68f23f4a1 Mon Sep 17 00:00:00 2001 From: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Date: Mon, 11 Nov 2019 07:01:41 +0000 Subject: [PATCH 030/175] Basecamp storage zone : to populate camp inventory (#35379) --- src/basecamp.cpp | 20 ++++++++++-- src/clzones.cpp | 3 ++ src/faction_camp.cpp | 73 ++++++++++++++++---------------------------- 3 files changed, 47 insertions(+), 49 deletions(-) diff --git a/src/basecamp.cpp b/src/basecamp.cpp index 94170e64986dc..d744a24c6f852 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" @@ -34,6 +35,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 " ) } }, @@ -610,8 +614,20 @@ void basecamp::consume_components( const recipe &making, int 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 ) ) { + const std::unordered_set &src_set = mgr.get_near( z_camp_storage, dump_spot, 60 ); + for( const tripoint &src : src_set ) { + for( const item &it : target_map.i_at( target_map.getlocal( src ) ) ) { + _inv.add_item( it ); + } + } + } /* * 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 diff --git a/src/clzones.cpp b/src/clzones.cpp index 92a7b61b244e4..707933d9455aa 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -82,6 +82,9 @@ zone_manager::zone_manager() 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." ) ) ); diff --git a/src/faction_camp.cpp b/src/faction_camp.cpp index 7c58314c36569..27a9d5ce39f47 100644 --- a/src/faction_camp.cpp +++ b/src/faction_camp.cpp @@ -95,7 +95,7 @@ const skill_id skill_swimming( "swimming" ); static const trait_id trait_DEBUG_HS( "DEBUG_HS" ); -const zone_type_id z_loot_unsorted( "LOOT_UNSORTED" ); +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" ); @@ -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 ) { @@ -1018,12 +1018,12 @@ void basecamp::get_available_missions_by_dir( mission_data &mission_key, const p "Have a companion attempt to completely dissemble a vehicle into " "components.\n\n" "Skill used: mechanics\n" - "Difficulty: 2 \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" ); + "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() ) { @@ -1073,13 +1073,13 @@ void basecamp::get_available_missions_by_dir( mission_data &mission_key, const p farm_description( omt_trg, plots, farm_ops::plow ) + _( "\n\n" "Skill used: fabrication\n" - "Difficulty: N/A \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" ); + "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 { @@ -1100,14 +1100,14 @@ void basecamp::get_available_missions_by_dir( mission_data &mission_key, const p farm_description( omt_trg, plots, farm_ops::plant ) + _( "\n\n" "Skill used: survival\n" - "Difficulty: N/A \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" ); + "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 ) ); @@ -1128,12 +1128,12 @@ void basecamp::get_available_missions_by_dir( mission_data &mission_key, const p farm_description( omt_trg, plots, farm_ops::harvest ) + _( "\n\n" "Skill used: survival\n" - "Difficulty: N/A \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" ); + "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 ); @@ -1247,10 +1247,9 @@ void basecamp::get_available_missions( mission_data &mission_key ) 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" + "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" @@ -1263,20 +1262,6 @@ void basecamp::get_available_missions( mission_data &mission_key ) "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" @@ -1320,10 +1305,6 @@ bool basecamp::handle_mission( const std::string &miss_id, cata::optional 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_camps::base_dir, bldg + "_faction_upgrade_camp" ); @@ -3372,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 ); @@ -3396,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(); } @@ -3674,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 ); @@ -3769,8 +3748,8 @@ void basecamp::place_results( item result ) 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 ) { From b509d540193c1d56c4cafebd6d96b37fbe2d9411 Mon Sep 17 00:00:00 2001 From: RoyBerube Date: Mon, 11 Nov 2019 08:28:54 -0700 Subject: [PATCH 031/175] Bug fix for issue 35324 Disables change of player character symbol during mouse view. --- src/game.cpp | 4 ++-- src/live_view.cpp | 5 +++++ src/live_view.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 9983f7f5e5078..91b88b5e68cc8 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -5780,7 +5780,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 { @@ -5796,7 +5796,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; diff --git a/src/live_view.cpp b/src/live_view.cpp index bfb891376dc4b..5469e8c9149b7 100644 --- a/src/live_view.cpp +++ b/src/live_view.cpp @@ -75,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: From 02a8427a0034ef8c6d40df8f6b4c7ba1d67bd150 Mon Sep 17 00:00:00 2001 From: LaVeyanFiend Date: Mon, 11 Nov 2019 18:38:15 -0500 Subject: [PATCH 032/175] Fix Lava Bomb scroll giving non-existent spell --- data/mods/Magiclysm/items/spell_scrolls.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mods/Magiclysm/items/spell_scrolls.json b/data/mods/Magiclysm/items/spell_scrolls.json index aacb44b4ac8c6..9056ceab8cbfe 100644 --- a/data/mods/Magiclysm/items/spell_scrolls.json +++ b/data/mods/Magiclysm/items/spell_scrolls.json @@ -640,7 +640,7 @@ "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", "spells": [ "lava_bomb" ] } + "use_action": { "type": "learn_spell", "spells": [ "lava_bomb_main" ] } }, { "type": "GENERIC", From 35bff08a63f07c5f2444a0e0e71f253d9da41ada Mon Sep 17 00:00:00 2001 From: Rail-Runner Date: Tue, 12 Nov 2019 03:31:08 +0300 Subject: [PATCH 033/175] Tailoring overhaul, part 2: Requirements (#35304) --- data/json/items/resources/tailoring.json | 6 +- data/json/requirements/tailoring.json | 330 +++++++++++++++++++++++ 2 files changed, 333 insertions(+), 3 deletions(-) create mode 100644 data/json/requirements/tailoring.json diff --git a/data/json/items/resources/tailoring.json b/data/json/items/resources/tailoring.json index 99fe1c84253b2..cfeeb9801300a 100644 --- a/data/json/items/resources/tailoring.json +++ b/data/json/items/resources/tailoring.json @@ -297,13 +297,13 @@ "ammo_type": "components" }, { - "id": "sheet_nomex_patchwork", - "copy-from": "sheet_nomex", + "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": "100 g", + "weight": "60 g", "volume": "60 ml", "price": 1000, "count": 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 ] ] ] + } +] From 2e5e42e59ea3c5188389f66169424393575ad56f Mon Sep 17 00:00:00 2001 From: Violet Catanese Date: Mon, 11 Nov 2019 19:36:47 -0500 Subject: [PATCH 034/175] Mg controlled burst (#35334) --- data/json/items/gun/20x66mm.json | 2 +- data/json/items/gun/22.json | 4 ++-- data/json/items/gun/223.json | 20 ++++++++++---------- data/json/items/gun/3006.json | 2 +- data/json/items/gun/300BLK.json | 2 +- data/json/items/gun/308.json | 12 ++++++------ data/json/items/gun/32.json | 2 +- data/json/items/gun/380.json | 2 +- data/json/items/gun/40.json | 2 +- data/json/items/gun/40mm.json | 2 +- data/json/items/gun/45.json | 10 +++++----- data/json/items/gun/46.json | 2 +- data/json/items/gun/50.json | 2 +- data/json/items/gun/545x39.json | 4 ++-- data/json/items/gun/57.json | 2 +- data/json/items/gun/5x50.json | 4 ++-- data/json/items/gun/762.json | 4 ++-- data/json/items/gun/762x25.json | 2 +- data/json/items/gun/8x40mm.json | 12 ++++++------ data/json/items/gun/9mm.json | 18 +++++++++--------- data/json/items/gun/9x18.json | 2 +- data/json/items/gun/flammable.json | 4 ++-- data/json/items/gun/nail.json | 2 +- data/json/items/gun/shot.json | 4 ++-- data/json/items/gun/ups.json | 4 ++-- data/json/items/gunmod/mechanism.json | 2 +- data/json/items/ranged.json | 8 ++++---- data/mods/EW_Pack/ew_weapons.json | 8 ++++---- data/mods/Tanks/items.json | 2 +- data/mods/blazemod/blaze_blob.json | 10 +++++----- data/mods/blazemod/blaze_test.json | 4 ++-- data/mods/blazemod/blaze_weapons.json | 18 +++++++++--------- 32 files changed, 89 insertions(+), 89 deletions(-) diff --git a/data/json/items/gun/20x66mm.json b/data/json/items/gun/20x66mm.json index 7acc32f148499..0758ca553462f 100644 --- a/data/json/items/gun/20x66mm.json +++ b/data/json/items/gun/20x66mm.json @@ -55,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 ], diff --git a/data/json/items/gun/22.json b/data/json/items/gun/22.json index d5a7c35764921..dddea2ae55977 100644 --- a/data/json/items/gun/22.json +++ b/data/json/items/gun/22.json @@ -21,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 ], @@ -176,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 ], diff --git a/data/json/items/gun/223.json b/data/json/items/gun/223.json index 26f1819dcf47c..fa463b758e29c 100644 --- a/data/json/items/gun/223.json +++ b/data/json/items/gun/223.json @@ -19,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" ] ] ] @@ -66,7 +66,7 @@ "dispersion": 180, "durability": 8, "min_cycle_recoil": 1350, - "burst": 14, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { @@ -88,7 +88,7 @@ "dispersion": 150, "durability": 8, "min_cycle_recoil": 1350, - "burst": 13, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { @@ -152,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": [ @@ -253,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 ], @@ -277,7 +277,7 @@ "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 } }, @@ -301,7 +301,7 @@ "dispersion": 180, "durability": 6, "min_cycle_recoil": 1350, - "burst": 14, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { @@ -422,7 +422,7 @@ "dispersion": 150, "durability": 8, "min_cycle_recoil": 1350, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { @@ -442,7 +442,7 @@ "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" ] ] ] }, @@ -465,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 ], diff --git a/data/json/items/gun/3006.json b/data/json/items/gun/3006.json index 034ab5b4ccf84..993ddb3df9221 100644 --- a/data/json/items/gun/3006.json +++ b/data/json/items/gun/3006.json @@ -135,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 ], diff --git a/data/json/items/gun/300BLK.json b/data/json/items/gun/300BLK.json index 9635f03f038a0..95459c058ae58 100644 --- a/data/json/items/gun/300BLK.json +++ b/data/json/items/gun/300BLK.json @@ -19,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" ] ] ] diff --git a/data/json/items/gun/308.json b/data/json/items/gun/308.json index 1e2acb7406771..b302b3adf86f0 100644 --- a/data/json/items/gun/308.json +++ b/data/json/items/gun/308.json @@ -20,7 +20,7 @@ "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" ] ] ] }, @@ -45,7 +45,7 @@ "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" ] ] ] }, { @@ -87,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 ], @@ -161,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 ], @@ -199,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 ], @@ -354,7 +354,7 @@ "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" ] ] ] }, diff --git a/data/json/items/gun/32.json b/data/json/items/gun/32.json index ec4e4463113ff..1667b4d01f7c5 100644 --- a/data/json/items/gun/32.json +++ b/data/json/items/gun/32.json @@ -58,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 ], diff --git a/data/json/items/gun/380.json b/data/json/items/gun/380.json index b9d788e70c41d..1650d4c0c0f2d 100644 --- a/data/json/items/gun/380.json +++ b/data/json/items/gun/380.json @@ -12,7 +12,7 @@ "bashing": 5, "ammo": "380", "min_cycle_recoil": 270, - "burst": 23, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ], "magazines": [ [ "380", [ "mac11mag" ] ] ] }, { diff --git a/data/json/items/gun/40.json b/data/json/items/gun/40.json index 018279dc6c6e4..afd179307586a 100644 --- a/data/json/items/gun/40.json +++ b/data/json/items/gun/40.json @@ -137,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": [ diff --git a/data/json/items/gun/40mm.json b/data/json/items/gun/40mm.json index 843b24f6484ba..8d535c4bf967d 100644 --- a/data/json/items/gun/40mm.json +++ b/data/json/items/gun/40mm.json @@ -106,7 +106,7 @@ [ "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" ] }, diff --git a/data/json/items/gun/45.json b/data/json/items/gun/45.json index 37828cda8bf6d..081546905bd71 100644 --- a/data/json/items/gun/45.json +++ b/data/json/items/gun/45.json @@ -19,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 ], @@ -59,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 ], @@ -134,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 ], @@ -215,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": [ @@ -278,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 ], diff --git a/data/json/items/gun/46.json b/data/json/items/gun/46.json index c6ffb9a53b7e9..45dac19c34820 100644 --- a/data/json/items/gun/46.json +++ b/data/json/items/gun/46.json @@ -19,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/50.json b/data/json/items/gun/50.json index 7ac7b250b1cf5..b34f088fda80c 100644 --- a/data/json/items/gun/50.json +++ b/data/json/items/gun/50.json @@ -46,7 +46,7 @@ "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 ], diff --git a/data/json/items/gun/545x39.json b/data/json/items/gun/545x39.json index 97512d3af50a3..8f3fac8ea789c 100644 --- a/data/json/items/gun/545x39.json +++ b/data/json/items/gun/545x39.json @@ -19,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 ], @@ -58,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 97b55f78efa00..0c2e2d8b7edd8 100644 --- a/data/json/items/gun/57.json +++ b/data/json/items/gun/57.json @@ -56,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 937892ca1e024..f26e0aaedb6cc 100644 --- a/data/json/items/gun/5x50.json +++ b/data/json/items/gun/5x50.json @@ -21,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 ], @@ -58,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/762.json b/data/json/items/gun/762.json index 11da7fff34ef9..745915174ea58 100644 --- a/data/json/items/gun/762.json +++ b/data/json/items/gun/762.json @@ -18,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 ], @@ -58,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": [ diff --git a/data/json/items/gun/762x25.json b/data/json/items/gun/762x25.json index f6b3979bb6af7..7b3aad011a54b 100644 --- a/data/json/items/gun/762x25.json +++ b/data/json/items/gun/762x25.json @@ -22,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 ], diff --git a/data/json/items/gun/8x40mm.json b/data/json/items/gun/8x40mm.json index fb7011a9d64e1..f169ff2fcf163 100644 --- a/data/json/items/gun/8x40mm.json +++ b/data/json/items/gun/8x40mm.json @@ -55,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": [ @@ -90,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 ], @@ -126,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, @@ -153,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 ], @@ -190,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 ], @@ -225,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 64b19618a6007..274a0b74924df 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -22,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 ], @@ -128,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 ], @@ -166,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" ] }, { @@ -300,7 +300,7 @@ "//": "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 } }, { @@ -424,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": [ @@ -463,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 ], @@ -498,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 ], @@ -563,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 ], @@ -613,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" ] }, { diff --git a/data/json/items/gun/9x18.json b/data/json/items/gun/9x18.json index e155c4b755702..6a3fd5e7c56a2 100644 --- a/data/json/items/gun/9x18.json +++ b/data/json/items/gun/9x18.json @@ -45,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/flammable.json b/data/json/items/gun/flammable.json index 9f6c3fe949bd0..df307bda7cee2 100644 --- a/data/json/items/gun/flammable.json +++ b/data/json/items/gun/flammable.json @@ -15,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 ], @@ -44,7 +44,7 @@ "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", "NON-FOULING" ] }, "delete": { "flags": [ "FIRE_100" ] }, diff --git a/data/json/items/gun/nail.json b/data/json/items/gun/nail.json index a0f4bef0763f7..a09a46bbdde22 100644 --- a/data/json/items/gun/nail.json +++ b/data/json/items/gun/nail.json @@ -66,7 +66,7 @@ "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/shot.json b/data/json/items/gun/shot.json index 9a6976a52a830..5ddab3e6d5176 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -16,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, @@ -71,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": [ diff --git a/data/json/items/gun/ups.json b/data/json/items/gun/ups.json index d1e9e103af7d1..dac0f19ddc8b5 100644 --- a/data/json/items/gun/ups.json +++ b/data/json/items/gun/ups.json @@ -20,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, @@ -159,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, 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/ranged.json b/data/json/items/ranged.json index 54c7adf7995bb..f6689732d7a0d 100644 --- a/data/json/items/ranged.json +++ b/data/json/items/ranged.json @@ -214,7 +214,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": [ @@ -326,7 +326,7 @@ "range": 15, "dispersion": 75, "durability": 7, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 15, "reload": 6000, "loudness": 18, @@ -666,7 +666,7 @@ "to_hit": -3, "dispersion": 300, "durability": 5, - "burst": 1, + "modes": [ [ "DEFAULT", "semi-auto", 1 ] ], "clip_size": 1, "reload": 800, "loudness": 200, @@ -693,7 +693,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/mods/EW_Pack/ew_weapons.json b/data/mods/EW_Pack/ew_weapons.json index 0138feee38c46..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,7 +213,7 @@ "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 ] ], 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/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_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 bfc2e8a314511..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" ] ] ], @@ -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" ], @@ -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,7 +284,7 @@ "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": [ ], @@ -311,7 +311,7 @@ "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": [ ], @@ -365,7 +365,7 @@ "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": [ ], @@ -394,7 +394,7 @@ "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": [ ], @@ -445,7 +445,7 @@ "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, From 8fb02141f3b3cd3235490a5b7dd6988252a0f04e Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 12 Nov 2019 02:38:41 +0100 Subject: [PATCH 035/175] Add staff sling and ammo (#35417) --- data/json/items/ammo.json | 22 ++++++++++++++++++ data/json/items/ammo_types.json | 6 +++++ data/json/items/melee.json | 16 ------------- data/json/items/ranged.json | 34 ++++++++++++++++++++++++++++ data/json/recipes/weapon/ranged.json | 13 +++++++++++ 5 files changed, 75 insertions(+), 16 deletions(-) diff --git a/data/json/items/ammo.json b/data/json/items/ammo.json index 28d5bb11df3b1..85b7836910917 100644 --- a/data/json/items/ammo.json +++ b/data/json/items/ammo.json @@ -258,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", diff --git a/data/json/items/ammo_types.json b/data/json/items/ammo_types.json index ddd9cc673fb6b..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", 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/ranged.json b/data/json/items/ranged.json index f6689732d7a0d..70ee012afc17c 100644 --- a/data/json/items/ranged.json +++ b/data/json/items/ranged.json @@ -57,6 +57,40 @@ "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.", 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", From 0e6f2112f23f7387cc4b0e671a437df9fe15991b Mon Sep 17 00:00:00 2001 From: Eric <52087122+Ramza13@users.noreply.github.com> Date: Mon, 11 Nov 2019 20:42:11 -0500 Subject: [PATCH 036/175] Remove buggy code (#35418) --- src/crafting.cpp | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/src/crafting.cpp b/src/crafting.cpp index 1272cc038b645..49ead82965c45 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -617,35 +617,6 @@ static void set_components( std::list &components, const std::list & } } -/** - * @brief Round the item's birthday forward to the nearest hour. - * The purpose of this is so that items with close birthdays will stack more readily. - * - * @param newit - */ -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 ) ); -} - -/** - * @brief Calls set_item_food on the item if it's food, and set item's faction. - * - * @param newit The item for modification - * @param maker_fac The faction the item should belong to - */ -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 ) ) { @@ -1216,10 +1187,10 @@ void player::complete_craft( item &craft, const tripoint &loc ) } } - 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 ) { - finalize_crafted_item( food_contained, get_faction() ); + food_contained.set_owner( get_faction()->id ); } if( newit.made_of( LIQUID ) ) { @@ -1245,7 +1216,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 ) { From 8a3d96dfa68c50ddb4db0c8c98f405adbeee4890 Mon Sep 17 00:00:00 2001 From: Curtis Merrill Date: Mon, 11 Nov 2019 20:45:20 -0500 Subject: [PATCH 037/175] create item_info_data as parameter for draw_item_info (#35428) --- src/advanced_inv.cpp | 8 ++--- src/crafting_gui.cpp | 8 +++-- src/game.cpp | 24 +++++++++----- src/game_inventory.cpp | 11 +++++-- src/output.cpp | 71 ++++++++++++++++++------------------------ src/output.h | 55 ++++++++++++++++++++++++-------- src/pickup.cpp | 6 +++- 7 files changed, 111 insertions(+), 72 deletions(-) diff --git a/src/advanced_inv.cpp b/src/advanced_inv.cpp index 5d2e37eb302c1..b30987f87415d 100644 --- a/src/advanced_inv.cpp +++ b/src/advanced_inv.cpp @@ -1384,10 +1384,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 ); 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/game.cpp b/src/game.cpp index 0bd48ab485437..29b6a6ae0c031 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2060,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 ) { @@ -7323,11 +7324,13 @@ game::vmenu_ret game::list_items( const std::vector &item_list ) } else if( action == "EXAMINE" && !filtered_items.empty() && activeItem ) { std::vector vThisItem; std::vector vDummy; - int dummy = 0; // draw_item_info needs an int & 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" ) { @@ -7561,7 +7564,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 ); diff --git a/src/game_inventory.cpp b/src/game_inventory.cpp index 62d869ab9ba79..1c96a31188cb3 100644 --- a/src/game_inventory.cpp +++ b/src/game_inventory.cpp @@ -1415,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(); diff --git a/src/output.cpp b/src/output.cpp index 64d6061b35531..47dca17830fe2 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -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; } @@ -819,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 ) { @@ -852,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 { 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/pickup.cpp b/src/pickup.cpp index c022cc7561036..111e09f356090 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -788,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 ), "< " ); From 5e487e8dd6615e4479dc10949e659d155f1508d3 Mon Sep 17 00:00:00 2001 From: DaviBones Date: Mon, 11 Nov 2019 20:51:53 -0500 Subject: [PATCH 038/175] Refactor a few if-else switches in item.cpp to switch-case statements (#35438) --- src/item.cpp | 158 ++++++++++++++++++++++++++++----------------------- 1 file changed, 88 insertions(+), 70 deletions(-) diff --git a/src/item.cpp b/src/item.cpp index fd615cc6c1989..8b415efa77f0a 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -2682,96 +2682,114 @@ void item::final_info( std::vector &info, const iteminfo_query *parts, } 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( 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." ) ) ); + 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" ) ) { - if( !( sizing_level == sizing::small_sized_small_char || - sizing_level == sizing::human_sized_human_char || - sizing_level == sizing::big_sized_big_char ) ) { - std::string resize_str; - if( sizing_level == sizing::small_sized_human_char ) { + switch( sizing_level ) { + case sizing::small_sized_human_char: resize_str = _( "can be upsized" ); - } else if( sizing_level == sizing::human_sized_small_char ) { + break; + case sizing::human_sized_small_char: resize_str = _( "can be downsized" ); - } else if( sizing_level == sizing::big_sized_human_char || - sizing_level == sizing::big_sized_small_char ) { + break; + case sizing::big_sized_human_char: + case sizing::big_sized_small_char: resize_str = _( "can not be downsized" ); - } else if( sizing_level == sizing::small_sized_big_char || - sizing_level == sizing::human_sized_big_char ) { + 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 { - std::string resize_str; - if( sizing_level == sizing::small_sized_human_char ) { - resize_str = _( " and upsized" ); - } else if( sizing_level == sizing::human_sized_small_char ) { - resize_str = _( " and downsized" ); - } else if( sizing_level == sizing::big_sized_human_char || - sizing_level == sizing::big_sized_small_char ) { - resize_str = _( " but not downsized" ); - } else if( sizing_level == sizing::small_sized_big_char || - sizing_level == sizing::human_sized_big_char ) { - resize_str = _( " but not upsized" ); + 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.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can not be refitted, upsized, " - "or downsized." ) ) ); + info.emplace_back( "DESCRIPTION", _( "* This clothing can not be refitted, " + "upsized, or downsized." ) ); } } From c719efebfaf57b942bdbb0c95633b910ec5c5d55 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Mon, 11 Nov 2019 17:53:35 -0800 Subject: [PATCH 039/175] Fungal rebalance 2: Dramatically slow sporeling maturation (#35442) --- data/json/monsters/monsters.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/monsters/monsters.json b/data/json/monsters/monsters.json index 12f1f60211a71..b187f431bcd6a 100644 --- a/data/json/monsters/monsters.json +++ b/data/json/monsters/monsters.json @@ -1564,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" ] }, From ea3869b381fce2f093d79188470693f0d778d23f Mon Sep 17 00:00:00 2001 From: Mark Langsdorf Date: Mon, 11 Nov 2019 19:54:04 -0600 Subject: [PATCH 040/175] vehicles: rationalize damage on removal (#35444) Fixes #23215 When removing vehicle parts, rationalize the damage to the damage level * damage_scaling so that the removed parts will stack nicely with each other. --- src/vehicle_part.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vehicle_part.cpp b/src/vehicle_part.cpp index c056316750d97..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; } From 347ca25255e737d9342bb28aace7fb2e36961b6d Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Tue, 12 Nov 2019 02:57:41 +0100 Subject: [PATCH 041/175] update "sleep_min" and "sleep_max" for 1s turn (#35465) --- data/json/effects.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/json/effects.json b/data/json/effects.json index 10264381caef5..6a7428156c355 100644 --- a/data/json/effects.json +++ b/data/json/effects.json @@ -734,7 +734,7 @@ "str_mod": [ -1 ], "dex_mod": [ -1 ], "vomit_chance": [ 1000, 1200 ], - "sleep_min": [ 60, 30 ], + "sleep_min": [ 360, 180 ], "sleep_chance": [ -102 ] }, "scaling_mods": { @@ -760,7 +760,7 @@ "str_mod": [ -1 ], "dex_mod": [ -1 ], "vomit_chance": [ 1000 ], - "sleep_min": [ 60 ], + "sleep_min": [ 360 ], "sleep_chance": [ -102 ] }, "scaling_mods": { "pain_max_val": [ 30 ], "str_mod": [ -1 ], "dex_mod": [ -1 ], "vomit_chance": [ -400 ], "sleep_chance": [ 101 ] } @@ -1271,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 ], From ea781bdfe9a2785243bcc6c9b6da7961870938bc Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Tue, 12 Nov 2019 05:58:32 +0400 Subject: [PATCH 042/175] Triple falling force (#35468) --- src/trapfunc.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/trapfunc.cpp b/src/trapfunc.cpp index c829aa80fa64a..042fe574830b2 100644 --- a/src/trapfunc.cpp +++ b/src/trapfunc.cpp @@ -1198,7 +1198,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 +1212,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; } From e85bb23e338bf004600197367f3f5ca31befadfd Mon Sep 17 00:00:00 2001 From: Lil Shining Man <56778776+LilShiningMan@users.noreply.github.com> Date: Mon, 11 Nov 2019 18:00:22 -0800 Subject: [PATCH 043/175] softdrink list added (#35475) added softdrink list to food.json and changed item spawn lists in item_group, locations and food_service to reflect this. --- data/json/itemgroups/food.json | 15 +++ data/json/itemgroups/food_service.json | 33 +------ data/json/itemgroups/item_groups.json | 128 ++++--------------------- data/json/itemgroups/locations.json | 6 +- 4 files changed, 37 insertions(+), 145 deletions(-) diff --git a/data/json/itemgroups/food.json b/data/json/itemgroups/food.json index 0fc61a29bfc81..f966276067061 100644 --- a/data/json/itemgroups/food.json +++ b/data/json/itemgroups/food.json @@ -149,5 +149,20 @@ [ "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 ] + ] } ] diff --git a/data/json/itemgroups/food_service.json b/data/json/itemgroups/food_service.json index c4d363d7b0f28..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", @@ -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 } ] }, { @@ -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" }, diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 2f09b9b4403b0..359de6b55d5f7 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -17,13 +17,7 @@ [ "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" }, @@ -203,20 +197,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" }, @@ -671,15 +657,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,13 +974,7 @@ [ "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 ], @@ -1155,8 +1127,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" }, @@ -1243,15 +1214,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 ], @@ -1310,15 +1273,7 @@ "id": "fast_food", "items": [ [ "water_clean", 90 ], - [ "cola", 70 ], - [ "choc_drink", 30 ], - [ "rootbeer", 65 ], - [ "creamsoda", 60 ], - [ "lemonlime", 60 ], - [ "orangesoda", 60 ], - [ "crispycran", 30 ], - [ "colamdew", 60 ], - [ "purple_drink", 45 ], + { "group": "softdrinks_canned", "prob": 480 }, [ "sandwich_t", 30 ], [ "sandwich_pb", 30 ], [ "sandwich_pbj", 30 ], @@ -1382,15 +1337,7 @@ "items": [ [ "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 ], + { "group": "softdrinks_canned", "prob": 470 }, [ "almond_milk", 30 ], [ "soy_milk", 30 ], [ "juice", 20 ], @@ -3055,12 +3002,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 ], @@ -3073,7 +3015,6 @@ [ "mag_unarmed", 10 ], [ "decoy_anarch", 8 ], [ "recipe_augs", 8 ], - [ "choc_drink", 20 ], [ "aspirin", 85 ], [ "junk_burrito", 25 ], [ "cigar", 5 ], @@ -3128,13 +3069,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 ], @@ -3188,8 +3123,6 @@ [ "bubblewrap", 50 ], [ "coffee_raw", 15 ], [ "usb_drive", 5 ], - [ "rootbeer", 65 ], - [ "purple_drink", 55 ], [ "cig", 80 ], [ "tobacco", 10 ], [ "chaw", 20 ], @@ -3226,15 +3159,7 @@ "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 ], + { "group": "softdrinks_canned", "prob": 900 }, [ "maltballs", 60 ], [ "chocolate", 100 ], [ "cookies", 60 ], @@ -4953,10 +4878,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 ], @@ -5625,12 +5549,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 ], @@ -6651,13 +6570,7 @@ "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 }, { "item": "cola", "prob": 25, "container-item": "bottle_glass" }, { "item": "creamsoda", "prob": 25, "container-item": "bottle_glass" }, { "item": "lemonlime", "prob": 25, "container-item": "bottle_glass" }, @@ -7213,13 +7126,7 @@ [ "maltballs", 45 ], [ "cookies", 45 ], [ "bat", 15 ], - [ "purple_drink", 42 ], - [ "cola", 32 ], - [ "creamsoda", 42 ], - [ "lemonlime", 32 ], - [ "orangesoda", 32 ], - [ "crispycran", 32 ], - [ "colamdew", 32 ], + { "group": "softdrinks_canned", "prob": 244 }, [ "backpack", 20 ], [ "hairpin", 10 ], [ "fc_hairpin", 4 ], @@ -8163,11 +8070,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 ], diff --git a/data/json/itemgroups/locations.json b/data/json/itemgroups/locations.json index 8bf8779214448..b520ffadbe89b 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 ], From dbae0ae8cfe27c1c58688352a59a868e0cdad124 Mon Sep 17 00:00:00 2001 From: anothersimulacrum Date: Mon, 11 Nov 2019 23:35:07 -0800 Subject: [PATCH 044/175] Fix astyle regression (#35478) --- src/iexamine.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/iexamine.cpp b/src/iexamine.cpp index aa57edf11d8a6..2fc08aee552e5 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -422,7 +422,8 @@ class atm_menu //!Get a new cash card. $10.00 fine. bool do_purchase_card() { - const char *prompt = _( "This will automatically deduct $10.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; From cf218bbaf43cd39b3675642bc28bb5e7e2ea5e66 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Tue, 12 Nov 2019 02:37:11 -0500 Subject: [PATCH 045/175] add hotel roof, extra floors (#35474) * add hotel roof, extra floors * Update regional_map_settings.json --- data/json/mapgen/hotel_tower.json | 621 ++++++++++++++++-- .../mapgen_palettes/hotel_tower_palette.json | 10 +- .../overmap/multitile_city_buildings.json | 116 +++- .../overmap_terrain_commercial.json | 226 ++++++- data/json/regional_map_settings.json | 4 +- 5 files changed, 905 insertions(+), 72 deletions(-) diff --git a/data/json/mapgen/hotel_tower.json b/data/json/mapgen/hotel_tower.json index ed0e6c8d47851..acbf28641cdfe 100644 --- a/data/json/mapgen/hotel_tower.json +++ b/data/json/mapgen/hotel_tower.json @@ -1,14 +1,17 @@ [ { "method": "json", + "om_terrain": [ [ "hotel_tower_1_3", "hotel_tower_1_2", "hotel_tower_1_1" ] ], + "type": "mapgen", + "weight": 250, "object": { "fill_ter": "t_pavement", "rows": [ " sssssssssssssssssssssssss________sssss________sssssssssssssssssssssssss", " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", - " s_____,_____,_____,_____,________s'''s________,_____,_____,_V___,_____s", - " s_____,_V___,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_V___,_____,_V___,________s'''s________,_V___,_____,_V___,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", " s_____,_____,_____,_____,________sssss________,_____,_____,_____,_____s", " s_____,_____,_____,_____,_____________________,_____,_____,_____,_____s", " s_____________________________________________________________________s", @@ -17,10 +20,10 @@ " s_____________________________________________________________________s", " s_____________________________________________________________________s", " s_____,_____,_____,_____,_____________________,_____,_____,_____,_____s", - " s_____,_____,_____,_____,________sssss________,_____,_____,_____,_____s", - " s_____,_____,_____,_____,________s'''s________,_____,_V___,_V___,_____s", + " s___V_,_____,___V_,_____,________sssss________,_____,_V___,_____,_V___s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", - " s_____,_____,___v_,_____,________s'''s________,_____,_____,_____,_____s", " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", " sssssssssssssssssssssssss________s'''s________sssssssssssssssssssssssss", " sssssssssssssssssssssssss________s'''s________sssssssssssssssssssssssss", @@ -37,13 +40,13 @@ { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 0, 23 ], "chance": 2 }, { "monster": "GROUP_ZOMBIE", "x": [ 48, 71 ], "y": [ 0, 23 ], "chance": 2 } ] - }, - "om_terrain": [ [ "hotel_tower_1_3", "hotel_tower_1_2", "hotel_tower_1_1" ] ], - "type": "mapgen", - "weight": 250 + } }, { "method": "json", + "om_terrain": [ [ "hotel_tower_1_6", "hotel_tower_1_5A", "hotel_tower_1_4" ] ], + "type": "mapgen", + "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ @@ -57,20 +60,20 @@ " s___________________________sssssssssssssss___________________________s", " s_____,_____,_____,_____,_sssssssssssssssssss_,_____,_____,_____,_____s", " s_____,_____,_____,_____,sssssssssssssssssssss,_____,_V___,_____,_____s", - " s_____,_____,_____,_____,ssssss-HHGGGHH-ssssss,_____,_____,_____,_____s", - " s_____,_____,_____,_____,sssss||^.....^||sssss,_____,_____,_____,_____s", - " s_____,___v_,_____,_____,ssss||^......Yc||ssss,_____,_____,_____,___v_s", - " s_____,_____,_____,_____,sss||^.......YcD||sss,_____,_____,_____,_____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" + " 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" ], "palettes": [ "hotel_tower_palette.json" ], "terrain": { "V": "t_pavement", "w": "t_window_domestic", "x": "t_console_broken" }, @@ -91,10 +94,193 @@ { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 7, 23 ], "repeat": 2 }, { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 0, 23 ] } ] - }, - "om_terrain": [ [ "hotel_tower_1_6", "hotel_tower_1_5", "hotel_tower_1_4" ] ], + } + }, + { + "method": "json", + "om_terrain": [ [ "hotel_tower_flr2_1_6", "hotel_tower_flr2_1_5A", "hotel_tower_flr2_1_4" ] ], + "type": "mapgen", + "weight": 250, + "object": { + "fill_ter": "t_floor", + "rows": [ + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "********************************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%*****" + ], + "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 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } + }, + "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_flr3_1_6", "hotel_tower_flr3_1_5", "hotel_tower_flr3_1_4" ] ], "type": "mapgen", - "weight": 250 + "weight": 250, + "object": { + "fill_ter": "t_floor", + "rows": [ + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "******%%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%*****" + ], + "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 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } + }, + "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_flr4_1_6", "hotel_tower_flr4_1_5", "hotel_tower_flr4_1_4" ] ], + "type": "mapgen", + "weight": 250, + "object": { + "fill_ter": "t_floor", + "rows": [ + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "******%%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%*****" + ], + "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 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } + }, + "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", @@ -104,29 +290,29 @@ "object": { "fill_ter": "t_floor", "rows": [ - " 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|888=...|x88|S.+..|S.+..|S.+..|S.+..|''''s", - " s''''|..|.&|..|.&|..|.&|..|.&|888=...=888|&.|..|&.|..|&.|..|&.|..|''''s", - " s'|--|..|bb|..|bb|..|bb|..|bb|88x|...=888|bb|..|bb|..|bb|..|bb|..|--|'s", - " s'|.>|-7|--|-7|--|-7|--|-7|--|---|...|---|--|7-|--|7-|--|7-|--|7-|>.|'s", - " ss|..|...........................................................|..|ss", + " 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", - " |..|-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-| ", + " 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%% ", " " ], "palettes": [ "hotel_tower_palette.json" ], @@ -147,6 +333,211 @@ ] } }, + { + "method": "json", + "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": [ + "******%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%%*****", + "*************************************************************************" + ], + "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 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } + }, + "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 } + ] + } + }, + { + "method": "json", + "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": [ + "******%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%%*****", + "*************************************************************************" + ], + "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 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } + }, + "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 } + ] + } + }, + { + "method": "json", + "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": [ + "******%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%%*****", + "*************************************************************************" + ], + "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 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } + }, + "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 } + ] + } + }, + { + "method": "json", + "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_flat_roof", + "rows": [ + " |...........................................................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_stairs_down" ], + "#": "t_adobe_brick_wall", + "_": "t_thconc_floor", + "+": "t_door_metal_c", + "D": "t_chaingate_l", + "%": "t_chainfence", + "H": "t_generator_broken" + }, + "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" ] ], @@ -200,7 +591,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_5" ], + "om_terrain": [ "hotel_tower_1_5B" ], "weight": 250, "object": { "fill_ter": "t_floor", @@ -213,20 +604,66 @@ "________________________", "________________________", "__sssssssssssssssssssss_", - "_,sssssXsssssssssXsssss,", "_,sssssssssssssssssssss,", - "_,sss|HHHGGHHHGGHHH|sss,", - "_,sssH............^|sss,", + "_,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", + "_,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 } + }, + "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_flr2_1_5B" ], + "weight": 250, + "object": { + "fill_ter": "t_floor", + "rows": [ + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "*****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" ], @@ -239,14 +676,14 @@ "c": { "item": "magazines", "chance": 15 }, "d": { "item": "book_hotel_tower_bible", "chance": 2 } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 7, 23 ], "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_1_5" ], + "om_terrain": [ "hotel_tower_1_5C" ], "weight": 250, "object": { "fill_ter": "t_floor", @@ -261,17 +698,17 @@ "________________________", "________________________", "________________________", + "_____________V__________", "________________________", "________________________", - "________________________", - "__'''''''''''''''''''''_", - "ssssssssssssssssssssssss", - "sssss|---HGGHGGH---|ssss", - "'''''|.............|''''", + "___MMMMMMsssssssMMMMMM__", + "sssXsssssssssssssssssXss", + "sssss%%%%HGGHGGH%%%%ssss", + "'''''%.............%''''", "'''''H.............H''''", "''T''H....ccccc....H''T'", - "'''''|^...cDxDc...^|''''", - "|-www||......hc...||www-", + "'''''%^...cDxDc...^%''''", + "%%www%%......hc...%%www%", "|....d|...ccccc...|d..ht", "|c..BB|...........|BB..h", "|c.LBB|h.........h|BB..c" @@ -281,6 +718,7 @@ "+": [ "t_door_c", "t_door_c", "t_door_o" ], "G": "t_door_glass_c", "w": "t_window_domestic", + "V": "t_pavement", "x": "t_console_broken" }, "furniture": { "D": "f_desk" }, @@ -291,7 +729,58 @@ "d": { "item": "book_hotel_tower_bible", "chance": 2 } }, "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_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_flr2_1_5C" ], + "weight": 250, + "object": { + "fill_ter": "t_floor", + "rows": [ + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "***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_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": { + "B": { "item": "bed", "chance": 50 }, + "L": { "item": "hotel_luggage", "chance": 100 }, + "c": { "item": "magazines", "chance": 15 }, + "d": { "item": "book_hotel_tower_bible", "chance": 2 } + }, + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 21, 23 ] } ] } } ] diff --git a/data/json/mapgen_palettes/hotel_tower_palette.json b/data/json/mapgen_palettes/hotel_tower_palette.json index acc3f7722767e..0b1d665dc2f77 100644 --- a/data/json/mapgen_palettes/hotel_tower_palette.json +++ b/data/json/mapgen_palettes/hotel_tower_palette.json @@ -26,14 +26,19 @@ }, "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_adobe_brick_wall", - "|": "t_adobe_brick_wall", + "-": "t_wall_w", + "|": "t_wall_w", + "%": "t_adobe_brick_wall", "T": "t_tree_young", "v": "t_pavement", "w": "t_water_pool_shallow", @@ -51,6 +56,7 @@ ">": "t_stairs_down", "#": "t_rock", "$": "t_sewage_pipe", + "4": "t_gutter_downspout", "P": "t_sewage_pump" } } diff --git a/data/json/overmap/multitile_city_buildings.json b/data/json/overmap/multitile_city_buildings.json index ffa0b724b4921..53b65e1f90ac1 100644 --- a/data/json/overmap/multitile_city_buildings.json +++ b/data/json/overmap/multitile_city_buildings.json @@ -840,7 +840,7 @@ }, { "type": "city_building", - "id": "hotel", + "id": "hotel_1", "locations": [ "land" ], "overmaps": [ { "point": [ 1, 0, 0 ], "overmap": "road_end_north" }, @@ -848,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": [ 1, 2, 0 ], "overmap": "hotel_tower_1_5_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_5A_north" }, + { "point": [ 1, 2, 1 ], "overmap": "hotel_tower_flr2_1_5A_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" } diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json index f0cde32e72b62..027408bbfea79 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json @@ -1509,20 +1509,148 @@ }, { "type": "overmap_terrain", - "id": "hotel_tower_1_5", + "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_5A", + "copy-from": "generic_city_building", + "name": "hotel entrance", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_5A", + "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", @@ -1531,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", @@ -1539,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", @@ -1547,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/regional_map_settings.json b/data/json/regional_map_settings.json index 46c22b86ad736..2a9430e9f0f93 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -797,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, From 79538bb1c7179e8c6a400c076d59ff46f03df1af Mon Sep 17 00:00:00 2001 From: Lil Shining Man <56778776+LilShiningMan@users.noreply.github.com> Date: Tue, 12 Nov 2019 07:15:35 -0800 Subject: [PATCH 046/175] Item_Groups cleanup - Religious Books We have a religious books category -- let's use it! Replacted 90 redundant entries in item_groups.json by calling already existing religious books category. --- data/json/itemgroups/item_groups.json | 104 ++------------------------ 1 file changed, 7 insertions(+), 97 deletions(-) diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 359de6b55d5f7..e0d7b3e65948f 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -372,24 +372,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 ], @@ -1026,24 +1009,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 ], @@ -2932,25 +2898,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 ], @@ -3342,24 +3290,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 ], @@ -4908,24 +4839,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 ], @@ -8144,8 +8058,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 ], @@ -8560,10 +8473,7 @@ [ "touristmap", 3 ], [ "trailmap", 3 ], [ "phonebook", 60 ], - [ "holybook_bible1", 1 ], - [ "holybook_bible2", 1 ], - [ "holybook_quran", 1 ], - [ "holybook_scientology", 1 ] + { "group": "religious_books", "prob": 4 } ] }, { From 6b7dbb3459cde49dd0104215d231d0f06d243ccd Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Tue, 12 Nov 2019 10:55:07 -0500 Subject: [PATCH 047/175] add roof to farm_2side, cosmetic improvements, loot --- data/json/mapgen/farm_2side.json | 201 ++++++++++++++---- .../overmap/overmap_special/specials.json | 4 + .../overmap_terrain_agricultural.json | 40 ++++ 3 files changed, 205 insertions(+), 40 deletions(-) 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/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json index 93125eb2b990c..6f991ab42a852 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" } ], 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", From c9348783e630b02594bc70bfa8e5a44f0adb76b2 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Tue, 12 Nov 2019 12:18:19 -0500 Subject: [PATCH 048/175] hotel bugfix --- data/json/mapgen/hotel_tower.json | 4 ++-- data/json/overmap/multitile_city_buildings.json | 4 ++-- .../overmap/overmap_terrain/overmap_terrain_commercial.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/json/mapgen/hotel_tower.json b/data/json/mapgen/hotel_tower.json index acbf28641cdfe..19fdc6abcb07a 100644 --- a/data/json/mapgen/hotel_tower.json +++ b/data/json/mapgen/hotel_tower.json @@ -44,7 +44,7 @@ }, { "method": "json", - "om_terrain": [ [ "hotel_tower_1_6", "hotel_tower_1_5A", "hotel_tower_1_4" ] ], + "om_terrain": [ [ "hotel_tower_1_6", "hotel_tower_1_5", "hotel_tower_1_4" ] ], "type": "mapgen", "weight": 250, "object": { @@ -98,7 +98,7 @@ }, { "method": "json", - "om_terrain": [ [ "hotel_tower_flr2_1_6", "hotel_tower_flr2_1_5A", "hotel_tower_flr2_1_4" ] ], + "om_terrain": [ [ "hotel_tower_flr2_1_6", "hotel_tower_flr2_1_5", "hotel_tower_flr2_1_4" ] ], "type": "mapgen", "weight": 250, "object": { diff --git a/data/json/overmap/multitile_city_buildings.json b/data/json/overmap/multitile_city_buildings.json index 53b65e1f90ac1..d3f3460264f36 100644 --- a/data/json/overmap/multitile_city_buildings.json +++ b/data/json/overmap/multitile_city_buildings.json @@ -852,8 +852,8 @@ { "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_5A_north" }, - { "point": [ 1, 2, 1 ], "overmap": "hotel_tower_flr2_1_5A_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" }, diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json index 027408bbfea79..bc95887c2e749 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json @@ -1541,7 +1541,7 @@ }, { "type": "overmap_terrain", - "id": "hotel_tower_1_5A", + "id": "hotel_tower_1_5", "copy-from": "generic_city_building", "name": "hotel entrance", "sym": "H", @@ -1549,7 +1549,7 @@ }, { "type": "overmap_terrain", - "id": "hotel_tower_flr2_1_5A", + "id": "hotel_tower_flr2_1_5", "copy-from": "generic_city_building", "name": "hotel", "sym": "h", From 7a01c9e15b6053b0fdf3ab319d6b00388ca92608 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 12 Nov 2019 19:00:13 +0100 Subject: [PATCH 049/175] Blazemod fix rock override (#35486) --- data/mods/blazemod/blaze_override.json | 1 - 1 file changed, 1 deletion(-) 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" ] From 912d054c59edfac1061a4d49294e1f587616cb06 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Tue, 12 Nov 2019 10:02:18 -0800 Subject: [PATCH 050/175] Supress test timing output when time spent is tiny (#35425) --- build-scripts/build.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build-scripts/build.sh b/build-scripts/build.sh index 924a499fe248c..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 From 15449b8b21ce5e66956b72eacc0f3ad5127eec59 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Tue, 12 Nov 2019 21:44:54 +0300 Subject: [PATCH 051/175] Allow using array in MIGRATION object for id (#35481) --- src/item_factory.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/item_factory.cpp b/src/item_factory.cpp index 8a830585b9fe5..4fbe314056447 100644 --- a/src/item_factory.cpp +++ b/src/item_factory.cpp @@ -2233,13 +2233,23 @@ void Item_factory::load_basic_info( JsonObject &jo, itype &def, const std::strin 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 ) From 17ca1cabe8f68058bbeadb9d5f8f06522d1ff9f7 Mon Sep 17 00:00:00 2001 From: FuelType-Memes <42695732+FuelType-Memes@users.noreply.github.com> Date: Tue, 12 Nov 2019 23:47:39 +0300 Subject: [PATCH 052/175] Fix leotard coverage Leotard covered LEGS instead of TORSO --- data/json/items/armor.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/armor.json b/data/json/items/armor.json index 06fdf6eb4a9cc..6a8cd3e3d9515 100644 --- a/data/json/items/armor.json +++ b/data/json/items/armor.json @@ -6364,7 +6364,7 @@ "material": [ "lycra" ], "symbol": "[", "color": "dark_gray", - "covers": [ "LEGS" ], + "covers": [ "TORSO" ], "coverage": 55, "warmth": 5, "material_thickness": 1, From 6e205f8c03d2716ce2d7948e0bf55d37a32a1736 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:23:56 -0500 Subject: [PATCH 053/175] inital common maps and standard walls --- .../modular_shelter_1_common.json | 494 +++++++++++++++++ .../modular_shelter_1_standard.json | 138 +++++ .../json/recipes/basecamps/recipe_groups.json | 3 +- .../recipe_modular_shelter_1_common.json | 502 ++++++++++++++++++ .../recipe_modular_shelter_1_standard.json | 77 +++ 5 files changed, 1213 insertions(+), 1 deletion(-) create mode 100644 data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_common.json create mode 100644 data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_standard.json create mode 100644 data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json create mode 100644 data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_standard.json 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_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/recipes/basecamps/recipe_groups.json b/data/json/recipes/basecamps/recipe_groups.json index 9614d17c0ec6d..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" ] } ] }, { 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_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 + } +] From cf46f152478f948813a4b734f5918c8a1bd8cdd7 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Tue, 12 Nov 2019 17:30:50 -0500 Subject: [PATCH 054/175] wall variations, shelter tweek --- .../modular_shelter_1_log.json | 157 ++++++++++++++++++ .../modular_shelter_1_rock.json | 157 ++++++++++++++++++ .../modular_shelter_1_wad.json | 157 ++++++++++++++++++ .../modular_shelter_1_wood.json | 157 ++++++++++++++++++ data/json/mapgen/shelter.json | 10 +- .../recipe_modular_shelter_1_log.json | 77 +++++++++ .../recipe_modular_shelter_1_rock.json | 77 +++++++++ .../recipe_modular_shelter_1_wad.json | 77 +++++++++ .../recipe_modular_shelter_1_wood.json | 77 +++++++++ 9 files changed, 941 insertions(+), 5 deletions(-) create mode 100644 data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_log.json create mode 100644 data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_rock.json create mode 100644 data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wad.json create mode 100644 data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wood.json create mode 100644 data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_log.json create mode 100644 data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_rock.json create mode 100644 data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wad.json create mode 100644 data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wood.json 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_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/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/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_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 + } +] From eb3c2fda08826ab51d85366a2fdd83e3207bb7eb Mon Sep 17 00:00:00 2001 From: Mark Langsdorf Date: Tue, 12 Nov 2019 22:07:49 -0600 Subject: [PATCH 055/175] suffer: set character's initial radiation to 0 (#35491) in the process of moving suffer() from player:: to Character::, radiation wasn't being initialized. --- src/character.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/character.cpp b/src/character.cpp index f2f8b6592c877..a802ab7fddd5c 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -236,6 +236,7 @@ Character::Character() : thirst = 0; fatigue = 0; sleep_deprivation = 0; + radiation = 0; tank_plut = 0; reactor_plut = 0; slow_rad = 0; From 3d27d0780dcc51b90de0ac811627e43a834d25fb Mon Sep 17 00:00:00 2001 From: Alexey Mostovoy <1931904+AMurkin@users.noreply.github.com> Date: Wed, 13 Nov 2019 11:30:55 +0000 Subject: [PATCH 056/175] Remove unnecessary spaces --- src/iexamine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/iexamine.cpp b/src/iexamine.cpp index 2fc08aee552e5..dcfa731a090f7 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -4427,7 +4427,7 @@ void iexamine::autodoc( player &p, const tripoint &examp ) 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. " ); + _( "\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_header; From 96dafea7d64507b323003ce905deba8be2d650f3 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Wed, 13 Nov 2019 15:25:14 +0300 Subject: [PATCH 057/175] Update Cataclysm-vcpkg-static.vcxproj Add missing dependency for hidapi in SDL 2.0.10 (setupapi.lib) --- msvc-full-features/Cataclysm-vcpkg-static.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From fa4dd381b1eb8d500a509d87078a0f4b30512930 Mon Sep 17 00:00:00 2001 From: FuelType-Memes <42695732+FuelType-Memes@users.noreply.github.com> Date: Wed, 13 Nov 2019 22:15:52 +0300 Subject: [PATCH 058/175] Fix MD trait not giving immunity to faulty bionics --- src/bionics.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bionics.cpp b/src/bionics.cpp index 0d8d7852c6dab..d97f6e1a76f72 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -1878,7 +1878,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 ); } } From 2b666e9bad6bf0ce7d2bed1165c9bdb17e6a8e74 Mon Sep 17 00:00:00 2001 From: Fris0uman Date: Wed, 13 Nov 2019 20:55:47 +0100 Subject: [PATCH 059/175] check weapon is not null --- src/player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/player.cpp b/src/player.cpp index ec49e0f812acf..284ea724afe36 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -2048,7 +2048,7 @@ 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( !can_wield( weapon ).success() ) { + if( !weapon.is_null() && !can_wield( weapon ).success() ) { put_into_vehicle_or_drop( *this, item_drop_reason::tumbling, { weapon } ); i_rem( &weapon ); } From fbbe0bb32b2d3c6e8a056a5ff2695a4b4e24d78c Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Wed, 13 Nov 2019 22:05:35 +0000 Subject: [PATCH 060/175] fix basecamp inv --- src/basecamp.cpp | 8 ++------ src/inventory.cpp | 19 +++++++++++++++++-- src/inventory.h | 6 ++++++ 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/basecamp.cpp b/src/basecamp.cpp index d744a24c6f852..a62e090d03ad1 100644 --- a/src/basecamp.cpp +++ b/src/basecamp.cpp @@ -621,12 +621,8 @@ void basecamp::form_crafting_inventory( map &target_map ) mgr.cache_vzones(); } if( mgr.has_near( z_camp_storage, dump_spot, 60 ) ) { - const std::unordered_set &src_set = mgr.get_near( z_camp_storage, dump_spot, 60 ); - for( const tripoint &src : src_set ) { - for( const item &it : target_map.i_at( target_map.getlocal( src ) ) ) { - _inv.add_item( it ); - } - } + 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 diff --git a/src/inventory.cpp b/src/inventory.cpp index 441ab9eed1570..a56efa0e15889 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -398,6 +398,16 @@ void inventory::form_from_map( const tripoint &origin, int range, const Characte form_from_map( g->m, origin, range, pl, assign_invlet, clear_path ); } +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 ) diff --git a/src/inventory.h b/src/inventory.h index 308a40a3ab452..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_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 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. From 178839a17beced96bc1c1a01be61e790581ea959 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Wed, 13 Nov 2019 17:43:08 -0500 Subject: [PATCH 061/175] Add roof to junkyard. merge junkyard/add palette (#35477) * merge junkyard map, add palette, add roof * Update junkyard_palette.json --- data/json/mapgen/junkyard.json | 476 +++++------------- .../mapgen_palettes/junkyard_palette.json | 49 ++ .../overmap/overmap_special/specials.json | 2 + .../overmap_terrain_waste_junk.json | 18 + 4 files changed, 194 insertions(+), 351 deletions(-) create mode 100644 data/json/mapgen_palettes/junkyard_palette.json 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_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/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json index 6f991ab42a852..5114a8e66ba5a 100644 --- a/data/json/overmap/overmap_special/specials.json +++ b/data/json/overmap/overmap_special/specials.json @@ -3599,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" } ], 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", From e0f9e485e628d9fb39e4a2817f1c812dee9e4d84 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Wed, 13 Nov 2019 23:43:45 +0100 Subject: [PATCH 062/175] Revise EFFECTS_JSON.md (#35506) * Revise EFFECT_JSON.md Also put basic definitions as first thing in Effect effects paragraph. * Typo fix --- doc/EFFECTS_JSON.md | 115 ++++++++++++++++++++++---------------------- 1 file changed, 58 insertions(+), 57 deletions(-) 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++ From 859b5568b04f2a32f3f9289907810161b9075a59 Mon Sep 17 00:00:00 2001 From: Alexandr Epaneshnikov Date: Thu, 14 Nov 2019 01:45:57 +0300 Subject: [PATCH 063/175] make code comments in game_constants.h uniform (#35505) * make code comments in game_constants.h uniform * fix typo --- src/game_constants.h | 108 ++++++++++++++++++++++++------------------- 1 file changed, 60 insertions(+), 48 deletions(-) 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; From 12af57c6aa1d5b0363ad4b7a45a030d88d1602ad Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Wed, 13 Nov 2019 18:34:55 -0500 Subject: [PATCH 064/175] sinks be gone --- data/json/mapgen/gambling_hall.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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", From 77d09811d65c6fb04b16a2d9c2360cf94b8b4b7d Mon Sep 17 00:00:00 2001 From: ipcyborg Date: Thu, 14 Nov 2019 11:20:59 +0200 Subject: [PATCH 065/175] Fixed: detecting the final stage of the construction --- src/clzones.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/clzones.cpp b/src/clzones.cpp index 707933d9455aa..5ab9879e0d6a9 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -173,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; } From 33b3a291a3a6692e8192dd1c0f0e5af7520729d9 Mon Sep 17 00:00:00 2001 From: KorGgenT Date: Thu, 14 Nov 2019 13:28:43 -0500 Subject: [PATCH 066/175] mouth encumbrance doesn't drain stamina while walking --- src/character.cpp | 19 +++++++++++++++++-- src/character.h | 1 + src/player.cpp | 12 +----------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/character.cpp b/src/character.cpp index a802ab7fddd5c..0daffb3c09118 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -5193,7 +5193,7 @@ void Character::burn_move_stamina( int moves ) if( move_mode == CMM_RUN ) { burn_ratio = burn_ratio * 7; } - mod_stat( "stamina", -( ( moves * burn_ratio ) / 100.0 ) ); + 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 @@ -5207,6 +5207,21 @@ void Character::burn_move_stamina( int moves ) } } +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(); @@ -5249,7 +5264,7 @@ void Character::update_stamina( int turns ) } } - mod_stamina( roll_remainder( stamina_recovery * turns ) ); + 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 ) ); diff --git a/src/character.h b/src/character.h index ff6d811470f24..39b4176749f66 100644 --- a/src/character.h +++ b/src/character.h @@ -1343,6 +1343,7 @@ class Character : public Creature, public visitable 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 ); diff --git a/src/player.cpp b/src/player.cpp index 284ea724afe36..6c1d4574fcb04 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -850,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( 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; - } movecost = calculate_by_enchantment( movecost, enchantment::mod::MOVE_COST ); - movecost /= stamina_modifier; + movecost /= stamina_move_cost_modifier(); } if( diag ) { From 789c84aacd01da61d1a2cb7d8a6d67c82332af64 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Thu, 14 Nov 2019 17:50:45 -0500 Subject: [PATCH 067/175] deduplicate json (#35512) --- .../modular_shelter_common.json | 106 ------------------ .../modular_shelter_standard.json | 58 ++++------ 2 files changed, 20 insertions(+), 144 deletions(-) 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 } ] } } ] From d61abe8bf614bd7e3e80836bc2d215aa42a66dbc Mon Sep 17 00:00:00 2001 From: Curtis Merrill Date: Thu, 14 Nov 2019 18:01:26 -0500 Subject: [PATCH 068/175] jsonize bionic slots (#35508) --- data/json/body_parts.json | 36 ++++++++++++++++++++++++------------ src/bionics.cpp | 33 +-------------------------------- src/bodypart.cpp | 2 ++ src/bodypart.h | 6 ++++++ 4 files changed, 33 insertions(+), 44 deletions(-) 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/src/bionics.cpp b/src/bionics.cpp index d97f6e1a76f72..5edaa15b430b5 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -1997,38 +1997,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 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 From b67042672578c92608dcdbceaacbd2d81a935770 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Fri, 15 Nov 2019 03:25:08 +0400 Subject: [PATCH 069/175] Don't apply trap effects on player if player is riding a mount (#35495) * Don't apply trap effects on player if player is riding a mount * Don't move player if steed is somehow isn't able to move --- src/game.cpp | 14 +++++++++----- src/trapfunc.cpp | 7 ++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 29b6a6ae0c031..29dbd4a89cbbb 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,17 +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_tied( "tied" ); -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" ); @@ -9070,6 +9070,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 ); diff --git a/src/trapfunc.cpp b/src/trapfunc.cpp index 042fe574830b2..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." ), From bb3648ebf30c571a5b7c6bf17c3d8972f3af6cc3 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Fri, 15 Nov 2019 00:52:24 +0100 Subject: [PATCH 070/175] Replaced sleep effects for fatigue effects (#35499) for infected and recover status effects. --- data/json/effects.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data/json/effects.json b/data/json/effects.json index 6a7428156c355..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": [ 360, 180 ], - "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": [ 360 ], - "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", From 73f6a9af717e6277a563c25db2ea1207792b99df Mon Sep 17 00:00:00 2001 From: Matthew Taylor Date: Fri, 15 Nov 2019 01:20:31 +0000 Subject: [PATCH 071/175] Replace outpost laser turrets with M2HB turrets (#35206) --- data/json/mapgen/outpost.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/data/json/mapgen/outpost.json b/data/json/mapgen/outpost.json index b34bf41c8604c..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 }, @@ -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 }, From 354a038e50ce5ac2f4d698306ce0d9630d4cc129 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Thu, 14 Nov 2019 21:55:28 -0500 Subject: [PATCH 072/175] Two typos in magazine descriptions --- data/json/items/magazine/308.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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, From 6257742040b865d234b3bd1a55ef2d34658c2ef0 Mon Sep 17 00:00:00 2001 From: Lee Martin Date: Thu, 14 Nov 2019 23:11:11 +0000 Subject: [PATCH 073/175] fix Deconstruct Without Light at Night Adding a check when examining that ensures the light level is high enough to construct, matching starting construction checks fixes #35066 --- src/iexamine.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/iexamine.cpp b/src/iexamine.cpp index dcfa731a090f7..c8fecf5d95ec2 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -3503,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?" ), From 05d7db669fe8947757bf3b0eb0d907b8c166e824 Mon Sep 17 00:00:00 2001 From: tenmillimaster Date: Fri, 15 Nov 2019 03:58:40 -0600 Subject: [PATCH 074/175] Update muzzle.json --- data/json/items/gunmod/muzzle.json | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/data/json/items/gunmod/muzzle.json b/data/json/items/gunmod/muzzle.json index d49fc9d04f44d..1acbf9774ef76 100644 --- a/data/json/items/gunmod/muzzle.json +++ b/data/json/items/gunmod/muzzle.json @@ -129,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, @@ -151,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, @@ -191,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": ":", From 1cc10cd464274c3948bc244cbc4104fd5992218a Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Fri, 15 Nov 2019 12:53:01 +0100 Subject: [PATCH 075/175] Support item_locations on NPCs This commit fixes serialization of ACT_READ for NPCs Add a new `character_id` field to `item_on_person` for serialization Lazily turn the character_id into a Character pointer on first access Also add a sainity check in the finish function of ACT_READ to prevent a crash if something goes wrong --- src/activity_handlers.cpp | 3 ++ src/game.cpp | 1 + src/item_location.cpp | 62 ++++++++++++++++++++++++++------------- 3 files changed, 46 insertions(+), 20 deletions(-) diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index f8069c706ed51..ee45b576d9967 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -2909,6 +2909,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() ); diff --git a/src/game.cpp b/src/game.cpp index 29b6a6ae0c031..a05d40ff3c5c5 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -4663,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 ); diff --git a/src/item_location.cpp b/src/item_location.cpp index df322fa67ba59..c25da558896ec 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" @@ -228,21 +229,34 @@ 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; + + void ensure_who_unpacked() const { + if( !who ) { + who = g->critter_by_id( who_id ); + } + } 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 { + ensure_who_unpacked(); 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 ); + ensure_who_unpacked(); + return retrieve_index( *who, idx ); } type where() const override { @@ -250,7 +264,8 @@ class item_location::impl::item_on_person : public item_location::impl } tripoint position() const override { - return who.pos(); + ensure_who_unpacked(); + return who->pos(); } std::string describe( const Character *ch ) const override { @@ -258,12 +273,14 @@ class item_location::impl::item_on_person : public item_location::impl return std::string(); } - if( ch == &who ) { - auto parents = who.parents( *target() ); - if( !parents.empty() && who.is_worn( *parents.back() ) ) { + ensure_who_unpacked(); + + 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 +288,7 @@ class item_location::impl::item_on_person : public item_location::impl } } else { - return who.name; + return who->name; } } @@ -298,6 +315,8 @@ class item_location::impl::item_on_person : public item_location::impl return 0; } + ensure_who_unpacked(); + int mv = 0; item obj = *target(); @@ -306,33 +325,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 +359,8 @@ class item_location::impl::item_on_person : public item_location::impl } void remove_item() override { - who.remove_item( *what ); + ensure_who_unpacked(); + who->remove_item( *what ); } }; @@ -503,7 +523,9 @@ 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; + obj.read( "character", who_id ); + ptr.reset( new impl::item_on_person( who_id, idx ) ); } else if( type == "map" ) { ptr.reset( new impl::item_on_map( pos, idx ) ); From 8096889c4cc50870f833fa1f9af99795b99c9dad Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sat, 16 Nov 2019 00:24:58 +0100 Subject: [PATCH 076/175] Properly handle failure case of critter_by_id() --- src/item_location.cpp | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/src/item_location.cpp b/src/item_location.cpp index c25da558896ec..e66f9ecb20674 100644 --- a/src/item_location.cpp +++ b/src/item_location.cpp @@ -85,7 +85,7 @@ class item_location::impl return what.get(); } - bool valid() const { + virtual bool valid() const { ensure_unpacked(); return !!what; } @@ -232,10 +232,16 @@ class item_location::impl::item_on_person : public item_location::impl character_id who_id; mutable Character *who; - void ensure_who_unpacked() const { + 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: @@ -243,10 +249,13 @@ class item_location::impl::item_on_person : public item_location::impl 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 { - ensure_who_unpacked(); + if( !ensure_who_unpacked() ) { + return; + } js.start_object(); js.member( "type", "character" ); js.member( "character", who_id ); @@ -255,7 +264,9 @@ class item_location::impl::item_on_person : public item_location::impl } item *unpack( int idx ) const override { - ensure_who_unpacked(); + if( !ensure_who_unpacked() ) { + return nullptr; + } return retrieve_index( *who, idx ); } @@ -264,17 +275,17 @@ class item_location::impl::item_on_person : public item_location::impl } tripoint position() const override { - ensure_who_unpacked(); + 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(); } - ensure_who_unpacked(); - if( ch == who ) { auto parents = who->parents( *target() ); if( !parents.empty() && who->is_worn( *parents.back() ) ) { @@ -311,12 +322,10 @@ 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; } - ensure_who_unpacked(); - int mv = 0; item obj = *target(); @@ -359,9 +368,17 @@ class item_location::impl::item_on_person : public item_location::impl } void remove_item() override { - ensure_who_unpacked(); + if( !ensure_who_unpacked() ) { + return; + } who->remove_item( *what ); } + + bool valid() const override { + ensure_who_unpacked(); + ensure_unpacked(); + return !!what && !!who; + } }; class item_location::impl::item_on_vehicle : public item_location::impl From 5461dc531500dda17982862218438916c67d345b Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Fri, 15 Nov 2019 18:37:03 -0500 Subject: [PATCH 077/175] Read mutation categories using typed_reader (#35446) This allows the categories to be altered with "extend" or "delete" keys in the JSON. --- src/generic_factory.h | 2 ++ src/init.cpp | 1 + src/mutation_data.cpp | 14 +++++++------- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/generic_factory.h b/src/generic_factory.h index e82ec476f396c..a755e792f7d4e 100644 --- a/src/generic_factory.h +++ b/src/generic_factory.h @@ -830,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/init.cpp b/src/init.cpp index cda51b76658bf..ee79651aa4513 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -594,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/mutation_data.cpp b/src/mutation_data.cpp index 58b7fc8f84e81..83b0551f1d335 100644 --- a/src/mutation_data.cpp +++ b/src/mutation_data.cpp @@ -395,14 +395,9 @@ 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() ); @@ -615,6 +610,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(); } From ba7cde0869aecee2e4efcfcee099a6c3f7be229f Mon Sep 17 00:00:00 2001 From: KorGgenT Date: Fri, 15 Nov 2019 20:54:06 -0500 Subject: [PATCH 078/175] add extra capabilities to mutation copy-from --- src/mutation_data.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/mutation_data.cpp b/src/mutation_data.cpp index 83b0551f1d335..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; @@ -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() ) { From 2c05dc710fefc4b29445b1cd43111ba6b155603a Mon Sep 17 00:00:00 2001 From: Cyrano7 Date: Fri, 15 Nov 2019 20:23:52 -0800 Subject: [PATCH 079/175] Update No Antique Firearms mod Update No Antique Firearms mod --- data/mods/No_Old_guns/modinfo.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/data/mods/No_Old_guns/modinfo.json b/data/mods/No_Old_guns/modinfo.json index 01dee47e29971..3ec9700b92acf 100644 --- a/data/mods/No_Old_guns/modinfo.json +++ b/data/mods/No_Old_guns/modinfo.json @@ -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" ] } ] From d6ab00fa4f68f06910f829cc5ae7abf1423bb842 Mon Sep 17 00:00:00 2001 From: Cyrano7 Date: Fri, 15 Nov 2019 20:32:38 -0800 Subject: [PATCH 080/175] Add my name to maintainers Add my name to maintainers --- data/mods/No_Old_guns/modinfo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mods/No_Old_guns/modinfo.json b/data/mods/No_Old_guns/modinfo.json index 3ec9700b92acf..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" ] From e0e148f0a6f6bc0219af09447c8b2063c3f83052 Mon Sep 17 00:00:00 2001 From: Brett Dong Date: Sat, 16 Nov 2019 19:00:03 +0800 Subject: [PATCH 081/175] Routine i18n updates on 16 Nov 2019 --- lang/po/cataclysm-dda.pot | 2349 ++++++++++++--------- lang/po/de.po | 2856 ++++++++++++++++--------- lang/po/es_AR.po | 2827 ++++++++++++++++--------- lang/po/es_ES.po | 2698 +++++++++++++++--------- lang/po/hu.po | 3953 ++++++++++++++++++++++------------ lang/po/ja.po | 3142 ++++++++++++++++----------- lang/po/ko.po | 2683 ++++++++++++++--------- lang/po/pl.po | 2923 ++++++++++++++++---------- lang/po/pt_BR.po | 4202 ++++++++++++++++++++++--------------- lang/po/ru.po | 3832 ++++++++++++++++++++------------- lang/po/zh_CN.po | 3035 +++++++++++++++++---------- lang/po/zh_TW.po | 2882 +++++++++++++++---------- 12 files changed, 23531 insertions(+), 13851 deletions(-) diff --git a/lang/po/cataclysm-dda.pot b/lang/po/cataclysm-dda.pot index 33a2bb94ec826..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-11-09 00:53+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 "" @@ -5941,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" @@ -16044,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" @@ -27095,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 "" @@ -36802,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 @@ -37221,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" @@ -38588,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" @@ -49606,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" @@ -51424,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 "" @@ -51496,6 +51553,15 @@ msgstr "" 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 "" @@ -52304,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 @@ -52345,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 @@ -63493,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 "" @@ -78351,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 "" @@ -90067,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" @@ -90146,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" @@ -90340,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" @@ -90705,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" @@ -93649,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" @@ -119387,6 +119483,10 @@ msgstr "" 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 "" @@ -121135,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 "" @@ -128150,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 @@ -146254,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 @@ -146262,7 +146353,7 @@ 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 @@ -146411,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 @@ -146506,16 +146597,16 @@ 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." -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 "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 "" @@ -146557,10 +146648,10 @@ 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" @@ -146575,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 "" @@ -146632,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 " @@ -146715,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 @@ -146749,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 @@ -146807,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 " @@ -146830,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 " @@ -146928,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 " @@ -146936,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 @@ -146947,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." @@ -146957,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 @@ -147037,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 @@ -147049,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 @@ -147065,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 @@ -147460,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 @@ -147528,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 @@ -147546,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 @@ -147560,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 @@ -147643,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 @@ -147703,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 @@ -147736,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 @@ -147744,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 @@ -147956,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 @@ -147972,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 @@ -147988,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 @@ -147996,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 @@ -148088,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 @@ -148140,11 +148307,11 @@ 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 @@ -148290,13 +148457,13 @@ 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 @@ -148422,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 @@ -148449,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 "" +"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 "" +"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 "" -"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." +"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 "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 "" -"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" +"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 "" -"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." +"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 "Thanks, let's go back to talking about camps." +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 @@ -148543,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 " @@ -149226,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 @@ -149242,11 +149597,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What sorcery is this?" +msgid "Still here? Take your time, it's rough out there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So you're back... Explain yourself!" +msgid "Greeting citizen, what brings you to the FoodLair?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -150583,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 " @@ -150591,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 @@ -150603,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 @@ -150943,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 "" @@ -151009,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 @@ -151019,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 @@ -151044,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 @@ -151123,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 "" @@ -151135,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 "" @@ -151773,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." @@ -151784,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." @@ -151868,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 @@ -152180,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 "" @@ -152201,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 @@ -152231,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 @@ -152239,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 @@ -152315,16 +152670,16 @@ msgstr "" msgid "Where can I find Chris?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hi, what's up?" -msgstr "" - #: lang/json/talk_topic_from_json.py 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 "Hi, what's up?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Hi, Your dad asked me to come find you, said you've been looking for your " @@ -152416,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 @@ -152424,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 @@ -152722,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 @@ -152854,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 @@ -152927,6 +153282,10 @@ 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 "" + #: 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 " @@ -152939,10 +153298,6 @@ msgid "" "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 "" - #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" msgstr "" @@ -153002,7 +153357,7 @@ 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 @@ -153010,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 @@ -153048,47 +153403,47 @@ 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 @@ -153146,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 @@ -153160,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 @@ -153186,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 @@ -153291,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 "" @@ -153342,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 @@ -153351,7 +153706,7 @@ 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 @@ -153383,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 @@ -153483,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 @@ -153511,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 @@ -153532,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 @@ -153826,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 " @@ -153840,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 "" @@ -153895,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 @@ -153920,14 +154275,14 @@ 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 @@ -153951,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 @@ -154228,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 "" @@ -154248,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 "" @@ -154265,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 @@ -154273,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 @@ -154284,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 " @@ -154301,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 " @@ -154342,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 @@ -154353,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 @@ -154383,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 "" @@ -154438,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 " @@ -154452,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 @@ -154463,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 @@ -154478,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 "" @@ -154546,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 " @@ -154556,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 " @@ -154591,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 @@ -154651,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 @@ -154665,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 @@ -154688,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 " @@ -154715,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 " @@ -154744,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 " @@ -154751,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 " @@ -154792,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 @@ -155035,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 @@ -155072,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 " @@ -155135,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 @@ -155193,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 "" @@ -155211,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 "" @@ -155304,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 @@ -155378,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 @@ -155438,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 @@ -155594,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 " @@ -155615,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 "" @@ -155680,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. " @@ -155700,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 @@ -155717,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 @@ -155741,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 "" @@ -155800,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 @@ -155847,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 @@ -156056,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 @@ -156152,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 @@ -156275,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 @@ -156320,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, " @@ -156336,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 " @@ -156513,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 @@ -156920,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 @@ -157152,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 @@ -157214,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 @@ -157288,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 "" @@ -157323,19 +157682,19 @@ 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 @@ -157607,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 @@ -157617,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 @@ -157869,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, " @@ -157892,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 @@ -157904,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 "" @@ -158116,7 +158475,7 @@ 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 @@ -158124,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 @@ -158230,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 @@ -167190,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 "" @@ -171351,7 +171714,7 @@ msgstr "" #: src/activity_handlers.cpp #, c-format -msgid "You learn a little about the spell : %s" +msgid "You learn a little about the spell: %s" msgstr "" #: src/activity_handlers.cpp src/character_martial_arts.cpp @@ -171808,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 "" @@ -176160,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 @@ -176182,6 +176554,11 @@ 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 "" @@ -176929,6 +177306,16 @@ msgstr "" 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 "" @@ -182381,13 +182768,13 @@ msgid "" "Have a companion attempt to completely dissemble a vehicle into components.\n" "\n" "Skill used: mechanics\n" -"Difficulty: 2 \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" +"Time: 5 days\n" msgstr "" #: src/faction_camp.cpp @@ -182402,14 +182789,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A \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" +"Time: 5 Min / Plot\n" +"Positions: 0/1\n" msgstr "" #: src/faction_camp.cpp @@ -182424,15 +182811,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A \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" +"Time: 1 Min / Plot\n" +"Positions: 0/1\n" msgstr "" #: src/faction_camp.cpp @@ -182447,13 +182834,13 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A \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" +"Time: 3 Min / Plot\n" +"Positions: 0/1\n" msgstr "" #: src/faction_camp.cpp @@ -182486,8 +182873,8 @@ 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" @@ -182506,25 +182893,6 @@ 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" @@ -183046,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 @@ -184685,6 +185052,11 @@ msgstr "" 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 msgid "Can't find grabbed object." msgstr "" @@ -185194,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 "" @@ -186930,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 @@ -186972,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 @@ -188417,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 "" @@ -189001,6 +189388,10 @@ msgstr "" msgid "Anatomies" msgstr "" +#: src/init.cpp +msgid "Mutations" +msgstr "" + #: src/init.cpp msgid "Tileset" msgstr "" @@ -189045,10 +189436,6 @@ msgstr "" msgid "Scenarios" msgstr "" -#: src/init.cpp -msgid "Mutations" -msgstr "" - #: src/init.cpp msgid "Mutation Categories" msgstr "" @@ -190693,6 +191080,10 @@ 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 "" @@ -197610,6 +198001,11 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +#, c-format +msgid " (%s current)" +msgstr "" + #: src/magic.cpp msgid "Not Enough Energy" msgstr "" @@ -197622,6 +198018,10 @@ msgstr "" msgid "Casting Time (impeded)" msgstr "" +#: src/magic.cpp +msgid "self" +msgstr "" + #: src/magic.cpp msgid "Valid Targets" msgstr "" @@ -197635,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 @@ -197746,6 +198154,11 @@ 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 "" @@ -203665,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 "" @@ -205430,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 "" @@ -206590,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]: " @@ -210194,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 "" @@ -210826,11 +210834,6 @@ msgstr "" msgid "You are too weak to wield %s with only one arm." msgstr "" -#: src/player.cpp -#, c-format -msgid "You cannot unwield your %s." -msgstr "" - #: src/player.cpp msgid "Keep hands free (off)" msgstr "" @@ -211054,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." @@ -212923,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!" @@ -212938,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 "" @@ -212967,6 +212971,409 @@ 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 "" @@ -213116,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 @@ -213272,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 @@ -213498,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 "" diff --git a/lang/po/de.po b/lang/po/de.po index 2533c64f10d9b..4ba658552a7d9 100644 --- a/lang/po/de.po +++ b/lang/po/de.po @@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-04 19:23+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" @@ -6254,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" @@ -6305,6 +6317,27 @@ msgid "" "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 "Feuerlanzenladung" @@ -8723,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" @@ -9491,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" @@ -18653,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 @@ -18665,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." @@ -24891,6 +24953,21 @@ msgid "" "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" @@ -26538,6 +26615,30 @@ msgid "" "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" @@ -26990,6 +27091,41 @@ msgid "" " 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" @@ -34376,6 +34512,17 @@ msgstr[1] "" 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 "" @@ -38291,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" @@ -40771,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" @@ -44245,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" @@ -44273,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" @@ -53658,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" @@ -55690,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 "" @@ -56809,6 +57007,296 @@ msgstr "GETRAGENES" 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" @@ -71260,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" @@ -84671,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 "" @@ -86070,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" @@ -87524,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" @@ -87960,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" @@ -87998,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 @@ -88378,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" @@ -89296,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" @@ -89959,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 "" @@ -95138,25 +95683,49 @@ 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 "" +#. ~ 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," @@ -95166,22 +95735,46 @@ msgid "" "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 " @@ -95192,51 +95785,111 @@ msgid "" "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." @@ -95244,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." @@ -95256,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 @@ -95967,8 +96680,7 @@ msgstr "Eine Straßensperre. Zum Verbarrikadieren von Straßen." 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!«." @@ -96083,7 +96795,8 @@ msgstr "Statue" msgid "A carved statue made of stone." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "»Bums.«." @@ -96483,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!«." @@ -97360,6 +98073,17 @@ msgstr "Hocker" 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" @@ -98610,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!" @@ -104599,6 +105332,19 @@ msgid "" "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" @@ -104726,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 " @@ -115729,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 "" @@ -122698,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" @@ -132409,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 @@ -132424,6 +133189,14 @@ 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 "" @@ -133109,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" @@ -144248,6 +145025,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 " @@ -145095,6 +146048,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 "" @@ -151771,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 @@ -151785,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?" -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 @@ -161695,7 +162638,7 @@ msgid "Clothing Store" msgstr "Bekleidungsgeschäft" #: 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 @@ -161703,7 +162646,7 @@ msgid "You're back. Have you come to listen to the song?" 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 @@ -161851,36 +162794,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161948,13 +162891,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -162269,16 +163212,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 "Was machst du hier?" @@ -162350,24 +163293,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "Nein, einfach nein, …" +msgid "Anything to do before I go to sleep?" +msgstr "Gibt es irgendetwas zu tun, bevor ich mich schlafen lege?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "Lass mich einfach schlafen, !" +msgid "Just few minutes more..." +msgstr "Nur noch ein paar Minuten …" #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "Mach schnell, ich will mich wieder schlafen legen." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "Nur noch ein paar Minuten …" +msgid "Just let me sleep, !" +msgstr "Lass mich einfach schlafen, !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "Gibt es irgendetwas zu tun, bevor ich mich schlafen lege?" +msgid "No, just no..." +msgstr "Nein, einfach nein, …" #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -162378,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 @@ -162767,11 +163710,11 @@ msgid "Show me what needs to be done at the camp." 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 -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162834,14 +163777,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 " @@ -162857,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 @@ -162872,14 +163815,14 @@ msgstr "Nun, ich fühle mich ziemlich krank ... geht es dir wenigstens gut?" #: 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 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 @@ -162956,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." @@ -163016,14 +163959,6 @@ msgstr "Worum geht’s?" msgid "I don't care." msgstr "Ist mir egal." -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 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?" @@ -163032,6 +163967,14 @@ msgstr "Ich hab nur eine Aufgabe für dich. Willst du sie hören?" 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 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 "" + #: 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." @@ -163049,14 +163992,14 @@ 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 "Which job?" -msgstr "Welche Aufgabe?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "Wie wär’s?" +#: lang/json/talk_topic_from_json.py +msgid "Which job?" +msgstr "Welche Aufgabe?" + #: lang/json/talk_topic_from_json.py msgid "You're not working on anything for me now." msgstr "" @@ -163280,31 +164223,31 @@ msgid "Thanks!" msgstr "Danke!" #: 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 -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 "I'm too thirsty, give me something to drink." -msgstr "Ich bin zu durstig, gib mir was zu Trinken." +msgid "I'm too tired, let me rest first." +msgstr "Ich bin zu müde, lass mich zuerst etwas ruhen." #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "Ich bin zu hungrig, gib mir etwas zu Essen." #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "Ich bin zu müde, lass mich zuerst etwas ruhen." +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 "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 have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163312,16 +164255,16 @@ msgid "Ah, okay." msgstr "Ah, okay." #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "Nicht, bevor ich ein paar Antibiotika kriege." +msgid "Why should I travel with you?" +msgstr "Warum sollte ich mit dir reisen?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "Du hast mich erst kürzlich gefragt; frag später nach." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "Warum sollte ich mit dir reisen?" +msgid "Not until I get some antibiotics..." +msgstr "Nicht, bevor ich ein paar Antibiotika kriege." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -163412,20 +164355,20 @@ 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 "" +msgid "I have some reason for denying you training." +msgstr "Ich habe Gründe, um dir die Ausbildung zu verweigern." #: lang/json/talk_topic_from_json.py 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 have some reason for denying you training." -msgstr "Ich habe Gründe, um dir die Ausbildung zu verweigern." +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!" @@ -163463,14 +164406,14 @@ msgstr "Ich behalte das lieber für mich." msgid "I understand…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "Du hast mich gerade eben um etwas gefragt, frag später nach." - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "Warum sollte ich dir etwas abgeben?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "Du hast mich gerade eben um etwas gefragt, frag später nach." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "In Ordnung." @@ -163613,16 +164556,16 @@ msgstr "Es war mir ein Vergnügen, Geschäfte zu machen!" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "" @@ -164560,15 +165503,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 @@ -164576,11 +165519,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166379,10 +167322,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 "Ich kann darüber jetzt einfach nicht reden. Ich kann nicht." - #: 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." @@ -166391,7 +167330,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 "" "Ich war auf der Arbeit im Krankenhaus, als das alles passiert ist. Es ist " "ein bisschen verschwommen. Für ’ne Weile gab es seltsame Berichte, Dinge, " @@ -166400,7 +167340,8 @@ msgstr "" "es erst richtig los. Wir dachten, dass es ein chinesischer Angriff wäre, und" " das war das, was man uns erzählte. Leute kamen verstört herein, voller " "Wunden von Kugeln und Bissen. Und in der Hälfe meiner Schicht, … nun, da bin" -" ich zusammengebrochen." +" ich zusammengebrochen. Ich habe solch furchtbare Wunden gesehen und dann " +"habe ich … , ich kann noch nicht mal darüber reden." #: lang/json/talk_topic_from_json.py msgid "" @@ -166410,8 +167351,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 "" "Ich war auf der Arbeit im Krankenhaus, als das alles passiert ist. Es ist " "ein bisschen verschwommen. Für ’ne Weile gab es seltsame Berichte, Dinge, " @@ -166420,8 +167360,11 @@ msgstr "" "es erst richtig los. Wir dachten, dass es ein chinesischer Angriff wäre, und" " das war das, was man uns erzählte. Leute kamen verstört herein, voller " "Wunden von Kugeln und Bissen. Und in der Hälfe meiner Schicht, … nun, da bin" -" ich zusammengebrochen. Ich habe solch furchtbare Wunden gesehen und dann " -"habe ich … , ich kann noch nicht mal darüber reden." +" ich zusammengebrochen." + +#: lang/json/talk_topic_from_json.py +msgid "I just can't talk about that right now. I can't." +msgstr "Ich kann darüber jetzt einfach nicht reden. Ich kann nicht." #: lang/json/talk_topic_from_json.py msgid "It might help to get it off your chest." @@ -166945,20 +167888,20 @@ msgstr "Danke, dass du mir das alles erzählt hast. " #: 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 "" -"Mein Mann schaffte es mit mir zusammen nach draußen, aber sie wurde von " +"Meine Frau schaffte es mit mir zusammen nach draußen, aber sie wurde von " "eines dieser verdammten Pflanzenmonster gefressen. Das ist ein paar Tage, " "bevor ich dich getroffen habe, passiert. Das war kein großartiges Jahr für " "mich." #: 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 "" -"Meine Frau schaffte es mit mir zusammen nach draußen, aber sie wurde von " +"Mein Mann schaffte es mit mir zusammen nach draußen, aber sie wurde von " "eines dieser verdammten Pflanzenmonster gefressen. Das ist ein paar Tage, " "bevor ich dich getroffen habe, passiert. Das war kein großartiges Jahr für " "mich." @@ -167039,11 +167982,10 @@ msgid "I'm sorry you lost someone." msgstr "Es tut mir leid, dass du jemanden verloren hast." #: 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 "" -"Ich habe gesagt, dass ich darüber nicht reden will. Wieso kannst du das " -"nicht verstehen?" +"Nur eine weitere Geschichte über Liebe und Verlust. Keine die ich " +"gerne erzähle." #: lang/json/talk_topic_from_json.py msgid "" @@ -167054,10 +167996,11 @@ msgstr "" "nicht um, sie noch einmal zu erzählen." #: 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 "" -"Nur eine weitere Geschichte über Liebe und Verlust. Keine die ich " -"gerne erzähle." +"Ich habe gesagt, dass ich darüber nicht reden will. Wieso kannst du das " +"nicht verstehen?" #: lang/json/talk_topic_from_json.py msgid "You said you lost someone." @@ -167082,52 +168025,52 @@ msgid "" msgstr "Oh, . Das hat weder etwas mit dir, noch mit uns zu tun." #: 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 "In Ordnung, schon gut. Ich hatte jemanden und hab sie verloren." #: 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 "In Ordnung, schon gut. Ich hatte jemanden und hab sie verloren." #: 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 "" -"Er war zuhause, als die Bomben fielen und die Hölle auf Erden ausbrach. Ich " -"war auf der Arbeit. Ich versuchte, zu unserem Haus zu gelangen, aber die " +"Sie war zuhause, als die Bomben fielen und die Hölle auf Erden ausbrach. Ich" +" war auf der Arbeit. Ich versuchte, zu unserem Haus zu gelangen, aber die " "Stadt war ein Kriegsgebiet. Dinge, die ich nicht beschreiben kann, taumelten" " durch die Straßen und zerschlugen Menschen und Autos. Soldaten versuchten, " "sie zu stoppen, aber sie trafen Menschen im Kreuzfeuer so oft wie andere " "Dinge. Und dann stünde der Kollateralschaden gleich wieder auf und liefe zum" -" Feind über. Wenn da nicht noch mein Mann gewesen wäre, wär ich einfach " +" Feind über. Wenn da nicht noch meine Frau gewesen wäre, wär ich einfach " "abgehauen, aber ich tat, was ich konnte und kam durch. Ich hab es verdammt " "noch mal lebendig geschafft." #: 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 "" -"Sie war zuhause, als die Bomben fielen und die Hölle auf Erden ausbrach. Ich" -" war auf der Arbeit. Ich versuchte, zu unserem Haus zu gelangen, aber die " +"Er war zuhause, als die Bomben fielen und die Hölle auf Erden ausbrach. Ich " +"war auf der Arbeit. Ich versuchte, zu unserem Haus zu gelangen, aber die " "Stadt war ein Kriegsgebiet. Dinge, die ich nicht beschreiben kann, taumelten" " durch die Straßen und zerschlugen Menschen und Autos. Soldaten versuchten, " "sie zu stoppen, aber sie trafen Menschen im Kreuzfeuer so oft wie andere " "Dinge. Und dann stünde der Kollateralschaden gleich wieder auf und liefe zum" -" Feind über. Wenn da nicht noch meine Frau gewesen wäre, wär ich einfach " +" Feind über. Wenn da nicht noch mein Mann gewesen wäre, wär ich einfach " "abgehauen, aber ich tat, was ich konnte und kam durch. Ich hab es verdammt " "noch mal lebendig geschafft." @@ -167204,11 +168147,11 @@ msgstr "Hast du es ins Haus geschafft?" #: 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 "" @@ -167216,11 +168159,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 "" @@ -168131,17 +169074,17 @@ 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." msgstr "" "Ich lebte allein, auf dem alten Familiengrundstück weit außerhalb der Stadt." -" Mein Mann ist etwa einen Monat zuvor gestorben, bevor all dies anfing … " -"Krebs. Wenn diese Sache ein Gutes hat, ist es, dass ich froh bin, ihn so " +" Meine Frau ist etwa einen Monat zuvor gestorben, bevor all dies anfing … " +"Krebs. Wenn diese Sache ein Gutes hat, ist es, dass ich froh bin, sie so " "früh zu verlieren. Ich war sowieso schon für eine Weile sehr deprimiert. Als" " die Nachrichten anfingen, über chinesische Biowaffen und Schläfer zu reden " "und sie die Krawalle in Boston und so zeigten, nahm ich meine Konservensuppe" @@ -168149,17 +169092,17 @@ 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." msgstr "" "Ich lebte allein, auf dem alten Familiengrundstück weit außerhalb der Stadt." -" Meine Frau ist etwa einen Monat zuvor gestorben, bevor all dies anfing … " -"Krebs. Wenn diese Sache ein Gutes hat, ist es, dass ich froh bin, sie so " +" Mein Mann ist etwa einen Monat zuvor gestorben, bevor all dies anfing … " +"Krebs. Wenn diese Sache ein Gutes hat, ist es, dass ich froh bin, ihn so " "früh zu verlieren. Ich war sowieso schon für eine Weile sehr deprimiert. Als" " die Nachrichten anfingen, über chinesische Biowaffen und Schläfer zu reden " "und sie die Krawalle in Boston und so zeigten, nahm ich meine Konservensuppe" @@ -168277,14 +169220,6 @@ msgstr "Es tut mir leid wegen Buck. " msgid "I'm sorry about Buck. " msgstr "Es tut mir leid wegen 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 "" -"Wie ich schon sagte, wenn du von mir eine Geschichte hören willst, musst du " -"den Whisky rüberwachsen lassen. Eine volle Flasche, wohlgemerkt." - #: lang/json/talk_topic_from_json.py msgid "" "Listen. I'm gonna cut this off short. I work for you, okay? I'm not " @@ -168294,6 +169229,14 @@ msgstr "" "interessiert darin, eine Beziehung anzufangen. Du hast mich nicht dafür " "bezahlt, dein Freund zu sein." +#: 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 "" +"Wie ich schon sagte, wenn du von mir eine Geschichte hören willst, musst du " +"den Whisky rüberwachsen lassen. Eine volle Flasche, wohlgemerkt." + #: 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 " @@ -168734,30 +169677,30 @@ 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 "" "Nun, ich habe diese seltsame Hoffnung. Sie ist vielleicht dumm, aber ich " -"sah, wie mein Verlobter mit seiner Schwester – meiner Ehrendame – mit " -"quietschdem Reifen in ihrem Pick-Up floh, als die Dinge so richtig schlimm " +"sah, wie meine Verlobte mit ihrem Bruder – meinem besten Mann – mit " +"quietschdem Reifen in seinem Pick-Up floh, als die Dinge so richtig schlimm " "wurden. Also, bis ich ihnen wieder begegne – so oder so – werde ich weiter " "glauben, dass sie da draußen sind und es ihnen gut geht. Das ist mehr als " "was die meisten von uns haben." #: 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 "" "Nun, ich habe diese seltsame Hoffnung. Sie ist vielleicht dumm, aber ich " -"sah, wie meine Verlobte mit ihrem Bruder – meinem besten Mann – mit " -"quietschdem Reifen in seinem Pick-Up floh, als die Dinge so richtig schlimm " +"sah, wie mein Verlobter mit seiner Schwester – meiner Ehrendame – mit " +"quietschdem Reifen in ihrem Pick-Up floh, als die Dinge so richtig schlimm " "wurden. Also, bis ich ihnen wieder begegne – so oder so – werde ich weiter " "glauben, dass sie da draußen sind und es ihnen gut geht. Das ist mehr als " "was die meisten von uns haben." @@ -168767,11 +169710,11 @@ msgid "What were you saying before that?" msgstr "Was hast du davor gesagt?" #: 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 @@ -168797,9 +169740,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 @@ -168807,7 +169748,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 @@ -168882,13 +169825,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 fondness " -"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 @@ -168982,7 +169925,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 @@ -168990,7 +169933,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 @@ -169288,11 +170231,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 @@ -169420,14 +170363,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 "Hallo." +#: 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 "" @@ -169495,8 +170438,13 @@ 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 "Marshal, ich hoffe, dass du hier bist, um uns zu helfen." +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 "" +"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 "" @@ -169508,13 +170456,8 @@ msgstr "" " 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." -msgstr "" -"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." +msgid "Marshal, I hope you're here to assist us." +msgstr "Marshal, ich hoffe, dass du hier bist, um uns zu helfen." #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -169596,16 +170539,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "Marshal, ich bin doch etwas überrascht, dich hier zu sehen." +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "Hey, du darfst hier nicht sein … Du solltest gehen." #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "Junge, du darfst hier nicht sein … Du solltest gehen." #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "Hey, du darfst hier nicht sein … Du solltest gehen." +msgid "Marshal, I'm rather surprised to see you here." +msgstr "Marshal, ich bin doch etwas überrascht, dich hier zu sehen." #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -169655,22 +170598,6 @@ msgstr "" "Kommunikationsnetzwerks zu bewahren. Wir hoffen, dass wir ein paar Meldungen" " im Klartext aufnehmen können." -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "Hallo, Marshal!" - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "Marshal, ich fürchte, ich kann jetzt nicht reden." - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "Ich bin nicht der Verantwortliche hier, Marshal." - -#: lang/json/talk_topic_from_json.py -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 "Hey, citizen... I'm not sure you belong here." msgstr "Hey, Bürger. Ich bin mir nicht sicher, dass du hierhergehörst." @@ -169685,6 +170612,16 @@ msgstr "" msgid "If you need something you'll need to talk to someone else." msgstr "Wenn du etwas brauchst, musst du mit jemand anderem reden." +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "Gnä’ Frau" + +#: lang/json/talk_topic_from_json.py +msgid "Hey miss, don't you think it would be safer if you stuck with me?" +msgstr "" +"Hey, Fräulein, glaubst du nicht, dass es sicherer wäre, wenn du mich " +"begleiten würdest?" + #: lang/json/talk_topic_from_json.py msgid "Sir." msgstr "Sir." @@ -169696,14 +170633,20 @@ msgstr "" "einzuschreiben." #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "Gnä’ Frau" +msgid "Hello, marshal." +msgstr "Hallo, Marshal!" #: lang/json/talk_topic_from_json.py -msgid "Hey miss, don't you think it would be safer if you stuck with me?" -msgstr "" -"Hey, Fräulein, glaubst du nicht, dass es sicherer wäre, wenn du mich " -"begleiten würdest?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "Marshal, ich fürchte, ich kann jetzt nicht reden." + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "Ich bin nicht der Verantwortliche hier, Marshal." + +#: lang/json/talk_topic_from_json.py +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…" @@ -169760,15 +170703,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 "Bitte hilf mir. Ich brauche Essen." #: 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 "" +"Bitte hilf mir. Ich brauche etwas zu essen. Bist du nicht deren Sheriff? " +"Kannst du mir nicht helfen?" #: lang/json/talk_topic_from_json.py msgid "Thank you again. I really appreciate the food." @@ -169776,15 +170720,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 "" -"Bitte hilf mir. Ich brauche etwas zu essen. Bist du nicht deren Sheriff? " -"Kannst du mir nicht helfen?" #: lang/json/talk_topic_from_json.py -msgid "Please, help me. I need food." -msgstr "Bitte hilf mir. Ich brauche Essen." +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169803,18 +170746,18 @@ msgstr "Geh weg von mir." #: 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 "" +"Sie lassen mich nicht rein. Sie sagen, dass sie zu voll sind. Ich darf " +"hier draußen campen, solange ich es sauber halte und keinen großen Wirbel " +"mache, aber ich bin so hungrig." #: 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 "" -"Sie lassen mich nicht rein. Sie sagen, dass sie zu voll sind. Ich darf " -"hier draußen campen, solange ich es sauber halte und keinen großen Wirbel " -"mache, aber ich bin so hungrig." #: lang/json/talk_topic_from_json.py msgid "Why don't you scavenge your own food?" @@ -169925,13 +170868,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 @@ -170016,16 +170959,16 @@ msgstr "Trägst du ernsthaft ein Dinosaurierkostüm?" 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 "" @@ -170125,15 +171068,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 @@ -170153,15 +171096,18 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "" +msgid "Don't bother with these assholes." +msgstr "Kümmere dich nicht um diese Arschlöcher." #: 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 @@ -170171,19 +171117,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 "Kümmere dich nicht um diese Arschlöcher." +msgid "Fuck off, dickwaddle." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -170474,16 +171417,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 @@ -170528,14 +171471,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 "Hey, was hältst du vom Prinzip des Überleben des Stärkeren?" +#: 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 "Warum fragst du?" @@ -170552,12 +171495,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. " @@ -170566,6 +171503,12 @@ msgstr "" "Denn ich bin bestimmt nicht stark, also harre ich hier aus, bis ich zu Tode " "verhungere. Kannst du einer armen schwachen Seele helfen?" +#: 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 "I could maybe help you out… want something to eat?" msgstr "" @@ -170587,12 +171530,12 @@ msgid "Why are you camped out here if they won't let you in?" msgstr "Warum kampierst du hier draußen, wenn sie dich nicht hereinlassen?" #: 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 @@ -170892,6 +171835,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, hmm … hi. Du scheinst neu zu sein. Ich bin Aleesha." + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "Hallöchen!" @@ -170908,10 +171855,6 @@ msgstr "" msgid "Aw hey, look who's back." msgstr "Sieh mal an, wer wieder da ist." -#: lang/json/talk_topic_from_json.py -msgid "Oh, uh... hi. You look new. I'm Aleesha." -msgstr "Oh, hmm … hi. Du scheinst neu zu sein. Ich bin Aleesha." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, kid. What's up?" msgstr "Schön dich zu sehen, Kind. Was ist los?" @@ -170929,16 +171872,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 "Ich bin kein Kind, ok? Ich bin sechzehn." +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "Ich bin kein Kind, ok? Ich bin vierzehn." #: lang/json/talk_topic_from_json.py msgid "I'm not a kid, okay? I'm fifteen." msgstr "Ich bin kein Kind, ok? Ich bin fünfzehn" #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm fourteen." -msgstr "Ich bin kein Kind, ok? Ich bin vierzehn." +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "Ich bin kein Kind, ok? Ich bin sechzehn." #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -170948,6 +171891,19 @@ msgstr "Tschuldigung, so meinte ich das nicht. Was ist los?" msgid "Sorry, I didn't mean anything by it. I'll be on my way." msgstr "Tschuldigung, so meinte ich das nicht. Ich bin schon unterwegs." +#: 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 "" +"Ich weiß nicht, was los ist. Ich bin mir nicht sicher, was wir hier " +"eigentlich machen. Sie sagen, wir sollten hier warten, bis wir zum " +"Unterschlupf treppab umziehen können, aber wir waren hier tagelang und es " +"gab keine Erklärung darüber, wie lange wir warten werden. Es ist alles so " +"traurig, und niemand kann mir etwas sagen." + #: lang/json/talk_topic_from_json.py msgid "" "We're just standing around here waiting, like a bunch of idiots. We're " @@ -170962,19 +171918,6 @@ msgstr "" "was wir hier tun. Ich habe all die Bücher gelesen und es gibt Zombies da " "draußen, also stecken wir hier fest. Nachts können wir sie hören." -#: 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 "" -"Ich weiß nicht, was los ist. Ich bin mir nicht sicher, was wir hier " -"eigentlich machen. Sie sagen, wir sollten hier warten, bis wir zum " -"Unterschlupf treppab umziehen können, aber wir waren hier tagelang und es " -"gab keine Erklärung darüber, wie lange wir warten werden. Es ist alles so " -"traurig, und niemand kann mir etwas sagen." - #: lang/json/talk_topic_from_json.py msgid "" "You can't just go asking people questions like that nowadays. I'm a " @@ -171016,7 +171959,8 @@ msgid "How are things here?" 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 @@ -171026,8 +171970,7 @@ msgid "" 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 @@ -171057,33 +172000,33 @@ 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 "" -"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 "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 "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 "" -"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 "" #: 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 "" @@ -171112,6 +172055,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 " @@ -171120,8 +172069,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 @@ -171131,10 +172080,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, ein weiteres neues Gesicht. Hallo. Ich bin Boris." #: lang/json/talk_topic_from_json.py msgid "Well, well. I'm glad you are back." @@ -171148,10 +172095,6 @@ msgstr "Hallo zurück, mein Freund." msgid "It is good to see you again." msgstr "Es ist schön, dich wieder zu sehen." -#: lang/json/talk_topic_from_json.py -msgid "Ah, another new face. Hello. I am Boris." -msgstr "Ah, ein weiteres neues Gesicht. Hallo. Ich bin Boris." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Boris." msgstr "" @@ -171220,13 +172163,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 " @@ -171237,6 +172173,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 " @@ -171265,6 +172208,10 @@ msgstr "" 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 "Hallo. Ich bin Dana, schön, ein neues Gesicht zu sehen." + #: lang/json/talk_topic_from_json.py msgid "Hello, nice to see you again." msgstr "Hallo, nett, dich wiederzusehen." @@ -171273,10 +172220,6 @@ msgstr "Hallo, nett, dich wiederzusehen." msgid "It's good to see you're still around." msgstr "Gut zu sehen, dass es dich noch gibt." -#: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." -msgstr "Hallo. Ich bin Dana, schön, ein neues Gesicht zu sehen." - #: lang/json/talk_topic_from_json.py msgid "Dana, hey? Nice to meet you." msgstr "Dana, ja? Schön, dich zu sehen." @@ -171327,8 +172270,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 @@ -171339,10 +172284,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 @@ -171364,6 +172307,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 " @@ -171385,12 +172334,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" @@ -171420,10 +172363,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" @@ -171431,6 +172370,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 " @@ -171467,16 +172410,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 "" @@ -171711,12 +172654,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 @@ -171812,15 +172755,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 @@ -171871,6 +172814,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 "Hallo nochmal." @@ -171883,12 +172832,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 "" @@ -171948,15 +172891,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 @@ -172021,6 +172964,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 "Hi." @@ -172029,12 +172978,6 @@ msgstr "Hi." 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 "" @@ -172081,10 +173024,6 @@ msgid "" " I think my mom's on the fence." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Nice to see you again." -msgstr "Nett dich wiederzusehen." - #: lang/json/talk_topic_from_json.py msgid "" "Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." @@ -172092,6 +173031,10 @@ msgstr "" "Hi. Ich habe dich hier bisher noch nicht gesehen. Ich bin Jenny. Jenny " "Forcette." +#: lang/json/talk_topic_from_json.py +msgid "Nice to see you again." +msgstr "Nett dich wiederzusehen." + #: lang/json/talk_topic_from_json.py msgid "Nice meeting you. What are you doing on that computer?" msgstr "Schön dich kennenzulernen. Was machst du an dem Computer?" @@ -172298,6 +173241,20 @@ msgstr "" " genug zu Essen und wir sind nicht freiwillig zusammen. Ich weiß nicht, wie " "lange wir noch so bleiben können, bis jemand durchdreht." +#: 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 "" +"Nun, es gibt ein paar von uns. Wir sind im Begriff, eine Art Gemeinschaft zu" +" bilden. Fatima und ich arbeiten recht häufig zusammen und ich hänge oft mit" +" Dana, Draco und Aleesha ab. Ich kenne die Borichenko-Leute, die Singhs, " +"Vanessa, Uyen und Rhyzaea nicht so gut, aber wir haben genug geredet. Was " +"wolltest du wissen?" + #: lang/json/talk_topic_from_json.py msgid "" "For better or worse, we're a community now. Fatima and I work together a " @@ -172318,20 +173275,6 @@ msgstr "" "hier ist. Uyen und Rhyzaea streiten sich immer über Führungsentscheidungen, " "als ob sie solche Dinge tun könnten. Was wolltest du wissen?" -#: 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 "" -"Nun, es gibt ein paar von uns. Wir sind im Begriff, eine Art Gemeinschaft zu" -" bilden. Fatima und ich arbeiten recht häufig zusammen und ich hänge oft mit" -" Dana, Draco und Aleesha ab. Ich kenne die Borichenko-Leute, die Singhs, " -"Vanessa, Uyen und Rhyzaea nicht so gut, aber wir haben genug geredet. Was " -"wolltest du wissen?" - #: lang/json/talk_topic_from_json.py msgid "Can you tell me about the Free Merchants?" msgstr "Kannst du mir etwas über die Freien Händler erzählen?" @@ -172402,6 +173345,20 @@ 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 "" +"Ich denke, Boris und Garry sind verheiratet. Sie bleiben meistens unter " +"sich, sie scheinen sehr reserviert zu sein, wenn du mich fragst. Stan ist " +"Boris’ Bruder, denke ich, aber ich bin nicht hundertprozentig sicher. Er " +"scheint jedoch nett zu sein, aber er ist ein Mann der wenigen Worte. Ich " +"kriege nicht viel aus ihnen heraus. Ich begriff, dass es besser ist, nicht " +"zu sehr zu graben." + #: lang/json/talk_topic_from_json.py msgid "" "I didn't get to know Boris, Garry, and Stan so well for the first while. " @@ -172420,17 +173377,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 "" -"Ich denke, Boris und Garry sind verheiratet. Sie bleiben meistens unter " -"sich, sie scheinen sehr reserviert zu sein, wenn du mich fragst. Stan ist " -"Boris’ Bruder, denke ich, aber ich bin nicht hundertprozentig sicher. Er " -"scheint jedoch nett zu sein, aber er ist ein Mann der wenigen Worte. Ich " -"kriege nicht viel aus ihnen heraus. Ich begriff, dass es besser ist, nicht " -"zu sehr zu graben." +"Aus ihnen kriege ich gar nichts heraus. Sie sprechen nicht wirklich zu " +"jemanden außerhalb ihrer kleinen Familiengruppe, sie sitzen einfach auf " +"ihrem eigenem Platz und sprechen Pandschabi. Sie scheinen immer nett zu sein" +" und sie erfüllen ihre Pflicht, sie haben nur keine soziale Verbindung." #: lang/json/talk_topic_from_json.py msgid "" @@ -172448,15 +173403,24 @@ 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 "" -"Aus ihnen kriege ich gar nichts heraus. Sie sprechen nicht wirklich zu " -"jemanden außerhalb ihrer kleinen Familiengruppe, sie sitzen einfach auf " -"ihrem eigenem Platz und sprechen Pandschabi. Sie scheinen immer nett zu sein" -" und sie erfüllen ihre Pflicht, sie haben nur keine soziale Verbindung." +"Vanessa … nun ja, sie ist nett, denke ich. Ich muss sagen, sie macht mich " +"etwas verrückt, aber wir sitzen im selben Boot also versuch ich, nicht zu " +"kritisch zu sein. Uyen und Rhyzaea scheinen Anführer spielen zu wollen, aber" +" ich versuche, mich aus dieser Politik herauszuhalten und nur darauf zu " +"konzentrieren, Sachen zu bauen. Es hat sonst keinen Sinn. Alonso ist in " +"Ordnung, er ist offensichtlich in mich interessiert, so wie in jede andere " +"alleinstehende Frau hier. Nicht mein Ding, in einer so kleinen Gruppe. John " +"ist ein laufender Stereotyp, ich stell mir vor, dass in ihm mehr steckt, " +"aber das habe ich noch nicht gesehen." #: lang/json/talk_topic_from_json.py msgid "" @@ -172481,34 +173445,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 … nun ja, sie ist nett, denke ich. Ich muss sagen, sie macht mich " -"etwas verrückt, aber wir sitzen im selben Boot also versuch ich, nicht zu " -"kritisch zu sein. Uyen und Rhyzaea scheinen Anführer spielen zu wollen, aber" -" ich versuche, mich aus dieser Politik herauszuhalten und nur darauf zu " -"konzentrieren, Sachen zu bauen. Es hat sonst keinen Sinn. Alonso ist in " -"Ordnung, er ist offensichtlich in mich interessiert, so wie in jede andere " -"alleinstehende Frau hier. Nicht mein Ding, in einer so kleinen Gruppe. John " -"ist ein laufender Stereotyp, ich stell mir vor, dass in ihm mehr steckt, " -"aber das habe ich noch nicht gesehen." #: 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 "" @@ -172563,11 +173506,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -172610,15 +173553,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 @@ -172819,12 +173762,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 @@ -172915,17 +173858,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 @@ -173037,10 +173980,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, da bist du ja wieder." - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " @@ -173049,6 +173988,10 @@ msgstr "" "Oh, fantastisch. Noch ein Maul zu stopfen? Genau was wir gebraucht haben. " "Jedenfalls, ich bin Vanessa." +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "Oh, da bist du ja wieder." + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "" @@ -173089,14 +174032,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 " @@ -173105,6 +174040,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 " @@ -173282,15 +174225,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 @@ -173689,14 +174632,14 @@ 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 "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 "" @@ -173729,14 +174672,14 @@ msgstr "" msgid "Well, I'd better be going. Bye." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "Willkommen, Marshal…" - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "Willkommen…" +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "Willkommen, Marshal…" + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -174001,14 +174944,14 @@ msgid "" "attacked by zombie hordes, as you might guess." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "Marshal…" - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "Bürger…" +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "Marshal…" + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "Kann ich gegen Vorräte handeln?" @@ -174081,14 +175024,14 @@ msgstr "" " hab nicht die Mittel, um von dir zu kaufen. Ich glaube nicht, dass du " "spenden willst." -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "Das ist wirklich eine glänzende Dienstmarke, die Sie da haben!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "Hey, du siehst wichtig aus." +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "Das ist wirklich eine glänzende Dienstmarke, die Sie da haben!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "Ich bin eigentlich neu hier." @@ -174174,6 +175117,10 @@ msgstr "" "Händler will mich eindeutig nicht hier haben, wenn ich nicht verkaufe, aber " "… einige Leute scheinen damit davonzukommen." +#: lang/json/talk_topic_from_json.py +msgid "Ssh. Some people in here hate... mutations. This was an accident." +msgstr "Psst. Einige Leute hier hassen … Mutationen. Dies war ein Unfall." + #: lang/json/talk_topic_from_json.py msgid "" "Same way you got yours, I bet. Keep quiet about it, some people here look " @@ -174182,10 +175129,6 @@ msgstr "" "Genauso, wie ich deins gekriegt habe, glaub ich. Sag besser kein Wort davon," " einige Leute hier schauen auf Leute wie uns herab." -#: lang/json/talk_topic_from_json.py -msgid "Ssh. Some people in here hate... mutations. This was an accident." -msgstr "Psst. Einige Leute hier hassen … Mutationen. Dies war ein Unfall." - #: lang/json/talk_topic_from_json.py msgid "Sorry to ask" msgstr "Es tut mir leid, dass ich frage." @@ -174215,23 +175158,23 @@ msgstr "Ich kaufe." msgid "Who needs rebar?" msgstr "Wer braucht Bewehrungsstab?" +#: lang/json/talk_topic_from_json.py +msgid "Screw You!" +msgstr "Geh zum Teufel!" + #: lang/json/talk_topic_from_json.py msgid "As if you're one to talk. Screw You." msgstr "Als ob man mit dir reden könnte. Geh zum Teufel!" #: lang/json/talk_topic_from_json.py -msgid "Screw You!" -msgstr "Geh zum Teufel!" +msgid "Huh, thought I smelled someone new. Can I help you?" +msgstr "Hö? Ich dachte, ich hätte jemand Neues gerochen. Kann ich dir helfen?" #: lang/json/talk_topic_from_json.py msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "" "Ich glaub, ich riech ein Schwein. Ich … Bitte verhaften Sie mich nicht." -#: lang/json/talk_topic_from_json.py -msgid "Huh, thought I smelled someone new. Can I help you?" -msgstr "Hö? Ich dachte, ich hätte jemand Neues gerochen. Kann ich dir helfen?" - #: lang/json/talk_topic_from_json.py msgid "You… smelled me?" msgstr "" @@ -174571,7 +175514,9 @@ msgid "Glad to have you aboard." msgstr "Ich bin froh, dich an Bord zu haben." #: 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 @@ -174579,9 +175524,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 @@ -174830,38 +175773,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 @@ -175110,16 +176053,16 @@ msgid "I'll talk with them then…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "Kann ich dir helfen, Marshal?" +msgid "Morning ma'am, how can I help you?" +msgstr "Guten Morgen, wie kann ich helfen?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "Guten Morgen, wie kann ich helfen?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "Guten Morgen, wie kann ich helfen?" +msgid "Can I help you, marshal?" +msgstr "Kann ich dir helfen, Marshal?" #: lang/json/talk_topic_from_json.py msgid "" @@ -175255,15 +176198,15 @@ msgid "Not now." msgstr "Jetzt nicht." #: 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 "" -"Komm später wieder zurück, ich werde mich zuerst um ein paar Dinge kümmern " -"müssen." +"Ich kann mir dich oder deine Begleiter ansehen, wenn ihr verletzt seid." #: 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 "" -"Ich kann mir dich oder deine Begleiter ansehen, wenn ihr verletzt seid." +"Komm später wieder zurück, ich werde mich zuerst um ein paar Dinge kümmern " +"müssen." #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." @@ -182240,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" @@ -187319,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" @@ -189831,16 +190789,11 @@ msgstr "Du taust die Nahrung auf und erhitzt sie anschließend." msgid "You heat up the food." msgstr "Du erhitzt die Nahrung." -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.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 -#, c-format -msgid "You successfully mended the %s." -msgstr "Du hast den Defekt von %s erfolgreich behoben." - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -192766,6 +193719,11 @@ 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 "" @@ -193178,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." @@ -193295,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." @@ -193531,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 "" @@ -194602,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" @@ -195016,6 +196000,28 @@ msgstr "" 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 "" @@ -195256,266 +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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" @@ -198256,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!)" @@ -200888,6 +201638,14 @@ 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 "" @@ -200903,59 +201661,6 @@ 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 -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 #, c-format msgid "" @@ -200990,23 +201695,6 @@ 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 "" @@ -201169,27 +201857,19 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: 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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" #: src/faction_camp.cpp @@ -201204,14 +201884,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -201226,15 +201906,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -201249,13 +201929,83 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "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 +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 @@ -201268,6 +202018,10 @@ msgid "" "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 "" @@ -201304,10 +202058,6 @@ msgstr "" 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…" msgstr "" @@ -209549,19 +210299,19 @@ msgid "" msgstr "" #: src/item.cpp -msgid "can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp @@ -209570,24 +210320,24 @@ msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid " and upsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid " and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid " but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid " but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -209690,6 +210440,12 @@ 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 "" @@ -211729,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" @@ -217791,7 +218556,7 @@ 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 @@ -220575,6 +221340,14 @@ msgstr "" msgid "You don't have any companions to send out…" msgstr "" +#: src/mission_companion.cpp +msgid "Who do you want to send?" +msgstr "Wen möchtest du losschicken?" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" + #. ~ %1$s: npc name #: src/mission_companion.cpp #, c-format @@ -220582,40 +221355,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "Wen möchtest du entsenden? [ KAMPF : ÜBERLEBEN: INDUSTRIE]" - #: src/mission_companion.cpp msgid "You choose to send no one…" msgstr "" -#: 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!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "" @@ -222585,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" @@ -225827,6 +226585,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" @@ -225925,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." @@ -226613,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" @@ -229813,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!" @@ -229866,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!" @@ -230623,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 "" -#. ~ %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." @@ -230810,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 @@ -231062,6 +231825,13 @@ msgstr "Hungrig" 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…" @@ -232443,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" @@ -233425,6 +234191,10 @@ msgstr "" 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" diff --git a/lang/po/es_AR.po b/lang/po/es_AR.po index 6ca918560adba..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-11-04 19:23+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" @@ -3725,7 +3725,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".50 BMG M2 AP" -msgstr "" +msgstr ".50 BMG M2 AP" #. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py @@ -3738,7 +3738,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".50 BMG Raufoss Mk 211" -msgstr "" +msgstr ".50 BMG Raufoss Mk 211" #. ~ Description for .50 BMG Raufoss Mk 211 #: lang/json/AMMO_from_json.py @@ -3752,6 +3752,14 @@ msgid "" "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" @@ -3764,6 +3772,9 @@ msgid "" "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. 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 Match" @@ -3778,6 +3789,11 @@ msgid "" "piercing capabilities make it one of the most deadly rounds available, " "offset only by its drastic recoil and noise." msgstr "" +"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" @@ -6279,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" @@ -6330,6 +6358,27 @@ msgid "" "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 "carga de lanza de fuego" @@ -8758,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" @@ -9522,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" @@ -19076,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" @@ -19091,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." @@ -25493,6 +25568,21 @@ msgid "" "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" @@ -27157,6 +27247,30 @@ msgid "" "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" @@ -27611,6 +27725,41 @@ msgid "" " 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" @@ -34957,6 +35106,17 @@ msgstr[1] "" 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 "" @@ -38854,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" @@ -41324,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" @@ -44781,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" @@ -44809,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" @@ -54141,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" @@ -56159,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 "" @@ -57250,6 +57461,294 @@ msgstr "OBJETOS PUESTOS" 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" @@ -71544,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" @@ -84775,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 "" @@ -86131,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" @@ -87576,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" @@ -88009,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" @@ -88046,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 @@ -88422,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" @@ -89339,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 "" @@ -90000,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 "" @@ -95090,25 +95646,49 @@ 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 "" +#. ~ 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," @@ -95118,22 +95698,46 @@ msgid "" "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 " @@ -95144,49 +95748,109 @@ msgid "" "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." @@ -95194,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." @@ -95206,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 @@ -95913,8 +96637,7 @@ msgstr "Es una barricada de caminos. Se usa para cortar calles." 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." @@ -96029,7 +96752,8 @@ msgstr "estatua" msgid "A carved statue made of stone." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "tomp." @@ -96429,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!" @@ -97302,6 +98026,17 @@ msgstr "banquito" 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" @@ -98548,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!" @@ -104447,6 +105191,19 @@ msgid "" "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" @@ -104572,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 " @@ -115491,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 "" @@ -122362,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" @@ -131977,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 @@ -131992,6 +132768,14 @@ 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 "" @@ -132677,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" @@ -143747,6 +144535,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 " @@ -144594,6 +145558,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 "" @@ -151233,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 @@ -151247,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 @@ -161061,7 +162015,7 @@ msgid "Clothing Store" msgstr "Negocio de Ropa" #: 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 @@ -161069,7 +162023,7 @@ msgid "You're back. Have you come to listen to the song?" 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 @@ -161217,36 +162171,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161314,13 +162268,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -161635,16 +162589,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 "¿Qué estás haciendo acá?" @@ -161716,24 +162670,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "No, solo no..." +msgid "Anything to do before I go to sleep?" +msgstr "¿Algo para hacer antes de que me vaya a dormir?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "¡Dejame dormir, !" +msgid "Just few minutes more..." +msgstr "Unos minutitos más..." #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "Hacelo rápido, quiero irme a dormir." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "Unos minutitos más..." +msgid "Just let me sleep, !" +msgstr "¡Dejame dormir, !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "¿Algo para hacer antes de que me vaya a dormir?" +msgid "No, just no..." +msgstr "No, solo no..." #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -161744,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 @@ -162132,11 +163086,11 @@ msgid "Show me what needs to be done at the camp." 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 -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162199,14 +163153,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 " @@ -162220,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 @@ -162235,14 +163189,14 @@ msgstr "Bueno, me siento un poco enfermo... ¿vos andás bien?" #: 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 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 @@ -162318,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." @@ -162378,14 +163332,6 @@ msgstr "¿Qué pasa?" msgid "I don't care." msgstr "No me importa." -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 just have one job for you. Want to hear about it?" msgstr "Tengo un trabajo para vos. ¿Querés que te cuente?" @@ -162394,6 +163340,14 @@ msgstr "Tengo un trabajo para vos. ¿Querés que te cuente?" 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 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 "" + #: 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." @@ -162411,14 +163365,14 @@ msgstr "Ah, bueno." msgid "Never mind, I'm not interested." msgstr "No importa, no estoy interesado." -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "¿Cuál trabajo?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "¿Qué te parece?" +#: lang/json/talk_topic_from_json.py +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 "" @@ -162638,31 +163592,31 @@ msgid "Thanks!" msgstr "¡Gracias!" #: 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 -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 "I'm too thirsty, give me something to drink." -msgstr "Tengo mucha sed, dame algo para tomar." +msgid "I'm too tired, let me rest first." +msgstr "Estoy muy cansado/a, dejame descansar un poco." #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "Tengo mucha hambre, dame algo para comer." #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "Estoy muy cansado/a, dejame descansar un poco." +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 "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 have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162670,16 +163624,16 @@ msgid "Ah, okay." msgstr "Ah, ok." #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "Hasta que no tenga algún antibiótico, no..." +msgid "Why should I travel with you?" +msgstr "¿Por qué tendría que viajar con vos?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "Recién me preguntaste; preguntame de nuevo después." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "¿Por qué tendría que viajar con vos?" +msgid "Not until I get some antibiotics..." +msgstr "Hasta que no tenga algún antibiótico, no..." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -162770,21 +163724,21 @@ 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 "" +msgid "I have some reason for denying you training." +msgstr "Tengo razones para negarte el entrenamiento." #: 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..." #: lang/json/talk_topic_from_json.py -msgid "I have some reason for denying you training." -msgstr "Tengo razones para negarte el entrenamiento." +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!" @@ -162822,14 +163776,14 @@ msgstr "Prefiero quedarme con eso para mí." msgid "I understand…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "Ya me pediste cosas; preguntame en otro momento." - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "¿Por qué tendría que compartir mi equipo con vos?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "Ya me pediste cosas; preguntame en otro momento." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "Bueno, está bien." @@ -162972,16 +163926,16 @@ msgstr "¡Un placer hacer negocios!" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "" @@ -163916,15 +164870,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 @@ -163932,11 +164886,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165660,10 +166614,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 "Ahora no puedo hablar de eso. No puedo." - #: 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." @@ -165672,7 +166622,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 "" "Estaba trabajando en el hospital, cuando sucedió. No recuerdo muy bien. Por " "un tiempo había noticias raras, cosas que sonaban increíbles acerca de " @@ -165680,7 +166631,8 @@ msgstr "" "normal. Entonces, cerca del final, la cosa escaló pronto. Pensamos que era " "un ataque chino y eso fue lo que nos dijeron. La gente llegaba loca, llena " "de heridas de balas y mordeduras. Cerca de la mitad de mi turno, bueno... no" -" aguanté más." +" aguanté más. Vi tantas heridas horribles y entonces... , ni siquiera" +" puedo hablar de eso." #: lang/json/talk_topic_from_json.py msgid "" @@ -165690,8 +166642,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 "" "Estaba trabajando en el hospital, cuando sucedió. No recuerdo muy bien. Por " "un tiempo había noticias raras, cosas que sonaban increíbles acerca de " @@ -165699,8 +166650,11 @@ msgstr "" "normal. Entonces, cerca del final, la cosa escaló pronto. Pensamos que era " "un ataque chino y eso fue lo que nos dijeron. La gente llegaba loca, llena " "de heridas de balas y mordeduras. Cerca de la mitad de mi turno, bueno... no" -" aguanté más. Vi tantas heridas horribles y entonces... , ni siquiera" -" puedo hablar de eso." +" aguanté más." + +#: lang/json/talk_topic_from_json.py +msgid "I just can't talk about that right now. I can't." +msgstr "Ahora no puedo hablar de eso. No puedo." #: lang/json/talk_topic_from_json.py msgid "It might help to get it off your chest." @@ -166189,19 +167143,19 @@ msgstr "Gracias por decirme todo eso. " #: 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 "" -"Mi esposo pudo salir conmigo, pero se lo comió uno de esos monstruos plantas" +"Mi esposa pudo salir conmigo, pero se la comió uno de esos monstruos plantas" " de unos días antes de que te encuentre a vos. Este no ha sido un " "buen año para mí." #: 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 "" -"Mi esposa pudo salir conmigo, pero se la comió uno de esos monstruos plantas" +"Mi esposo pudo salir conmigo, pero se lo comió uno de esos monstruos plantas" " de unos días antes de que te encuentre a vos. Este no ha sido un " "buen año para mí." @@ -166278,9 +167232,10 @@ msgid "I'm sorry you lost someone." msgstr "Lamento que hayas perdido a alguien querido." #: lang/json/talk_topic_from_json.py -msgid "" -"I said, I don't wanna talk about it. How are you not understanding this?" -msgstr "Dije que no quería hablar de eso. ¿No entendés?" +msgid "Just another tale of love and loss. Not one I like to tell." +msgstr "" +"Es solo otra historia de de amor y pérdida. Y no me agrada " +"narrarla." #: lang/json/talk_topic_from_json.py msgid "" @@ -166291,10 +167246,9 @@ msgstr "" "contarla una vez más." #: lang/json/talk_topic_from_json.py -msgid "Just another tale of love and loss. Not one I like to tell." -msgstr "" -"Es solo otra historia de de amor y pérdida. Y no me agrada " -"narrarla." +msgid "" +"I said, I don't wanna talk about it. How are you not understanding this?" +msgstr "Dije que no quería hablar de eso. ¿No entendés?" #: lang/json/talk_topic_from_json.py msgid "You said you lost someone." @@ -166317,33 +167271,13 @@ msgid "" "Oh, . This doesn't have anything to do with you, or with us." msgstr "Oh, . Eso no tiene nada que ver con vos, o con nosotros." -#: lang/json/talk_topic_from_json.py -msgid "All right, fine. I had someone. I lost him." -msgstr "Está bien. Tenía a alguien. Lo perdí." - #: lang/json/talk_topic_from_json.py msgid "All right, fine. I had someone. I lost her." msgstr "Está bien. Tenía a alguien. La perdí." #: 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 " -"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." -msgstr "" -"Él estaba en casa cuando empezaron a caer las bombas y el mundo se fue a la " -"mierda. Yo estaba en el trabajo. Intenté llegar hasta la casa pero la ciudad" -" era una zona de guerra. Cosas que no sé cómo describir tambaleándose por " -"las calles, aplastando gente y autos. Los soldados intentando detenerlos, " -"pero también le daban a la gente en los tiroteos. Y entonces, esos caídos en" -" el daño colateral también se unían al enemigo. Si no hubiera sido por mi " -"marido, me habría ido, pero hice lo que pude y logré escabullirme. Logré " -"sobrevivir,." +msgid "All right, fine. I had someone. I lost him." +msgstr "Está bien. Tenía a alguien. Lo perdí." #: lang/json/talk_topic_from_json.py msgid "" @@ -166365,6 +167299,26 @@ msgstr "" "sido por mi esposa, me habría ido, pero hice lo que pude y logré " "escabullirme. Logré sobrevivir,." +#: 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 " +"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." +msgstr "" +"Él estaba en casa cuando empezaron a caer las bombas y el mundo se fue a la " +"mierda. Yo estaba en el trabajo. Intenté llegar hasta la casa pero la ciudad" +" era una zona de guerra. Cosas que no sé cómo describir tambaleándose por " +"las calles, aplastando gente y autos. Los soldados intentando detenerlos, " +"pero también le daban a la gente en los tiroteos. Y entonces, esos caídos en" +" el daño colateral también se unían al enemigo. Si no hubiera sido por mi " +"marido, me habría ido, pero hice lo que pude y logré escabullirme. Logré " +"sobrevivir,." + #: lang/json/talk_topic_from_json.py msgid "You must have seen some shit." msgstr "Debés haber visto cosas horribles." @@ -166433,11 +167387,11 @@ msgstr "¿Llegaste a entrar a la 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 "" @@ -166445,11 +167399,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 "" @@ -167315,24 +168269,6 @@ msgstr "" " a transitar este Infierno en la Tierra. Me arrepiento de no haber prestado " "atención en Catecismo." -#: 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 "" -"Vivía sola, en la casa de mi familia en las afueras del pueblo. Mi marido se" -" murió casi un mes antes de que empezara esto... cáncer. Si algo bueno salió" -" de todo esto, es que finalmente puedo ver lo bueno de haberlo perdido tan " -"joven. Estuve encerrada por un tiempo, igual. Cuando las noticias empezaron " -"a hablar de las bioarmas chinas y agentes durmientes, y a mostrar los " -"disturbios en Boston y esas cosas, me acurruqué con mi sopa enlatada y " -"cambié 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 " @@ -167351,6 +168287,24 @@ msgstr "" " mostrar los disturbios en Boston y esas cosas, me acurruqué con mi sopa " "enlatada y cambié 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 "" +"Vivía sola, en la casa de mi familia en las afueras del pueblo. Mi marido se" +" murió casi un mes antes de que empezara esto... cáncer. Si algo bueno salió" +" de todo esto, es que finalmente puedo ver lo bueno de haberlo perdido tan " +"joven. Estuve encerrada por un tiempo, igual. Cuando las noticias empezaron " +"a hablar de las bioarmas chinas y agentes durmientes, y a mostrar los " +"disturbios en Boston y esas cosas, me acurruqué con mi sopa enlatada y " +"cambié 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 " @@ -167458,14 +168412,6 @@ msgstr "Lamento lo de Buck. " msgid "I'm sorry about Buck. " msgstr "Lamento lo de 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 te dije, vos querés que yo te cuente una historia, vas a tener que " -"poner whisky. Un botella entera, en lo posible." - #: lang/json/talk_topic_from_json.py msgid "" "Listen. I'm gonna cut this off short. I work for you, okay? I'm not " @@ -167474,6 +168420,14 @@ msgstr "" "Escuchame. Te la hago corta. Yo trabajo para vos, ¿no? No tengo interés en " "crear una relación. No me pagás para que sea tu 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 te dije, vos querés que yo te cuente una historia, vas a tener que " +"poner whisky. Un botella entera, en lo posible." + #: 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 " @@ -167889,19 +168843,19 @@ 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 "" #: 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 "" @@ -167910,11 +168864,11 @@ msgid "What were you saying before that?" 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 -msgid "I can't believe my eyes. Please get my outta here..." +msgid "Hey, ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167940,9 +168894,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 @@ -167950,7 +168902,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 @@ -168025,13 +168979,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 fondness " -"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 @@ -168125,7 +169079,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 @@ -168133,7 +169087,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 @@ -168431,11 +169385,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 @@ -168563,14 +169517,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 "Hola." +#: 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 "" @@ -168638,8 +169592,12 @@ 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 "Alguacil, espero que esté aquí para ayudarnos." +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 "" +"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 "" @@ -168650,12 +169608,8 @@ msgstr "" "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." -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." +msgid "Marshal, I hope you're here to assist us." +msgstr "Alguacil, espero que esté aquí para ayudarnos." #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -168736,16 +169690,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "Alguacil, estoy bastante sorprendido de verlo aquí." +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "Señora, no está autorizada para estar acá... debería irse." #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "Señor, no está autorizado para estar acá... debería irse." #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "Señora, no está autorizada para estar acá... debería irse." +msgid "Marshal, I'm rather surprised to see you here." +msgstr "Alguacil, estoy bastante sorprendido de verlo aquí." #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -168793,24 +169747,6 @@ msgstr "" "de la red de comunicaciones. Esperamos igual que algunos simples mensajes de" " texto puedan ser recibidos." -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "Hola, alguacil." - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "Alguacil, me temo que no puedo hablar ahora." - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "No estoy a cargo acá, alguacil." - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "" -"Se supone que dirija todas las preguntas directamente al liderazgo, " -"alguacil." - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "Hey, ciudadano... me parece que no pertenecés a este lugar." @@ -168824,6 +169760,15 @@ msgstr "" msgid "If you need something you'll need to talk to someone else." msgstr "Si necesitás algo vas a tener que hablar con otra persona." +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "Señora" + +#: lang/json/talk_topic_from_json.py +msgid "Hey miss, don't you think it would be safer if you stuck with me?" +msgstr "" +"Hey señorita, ¿no le parece que estaría más segura si se queda conmigo?" + #: lang/json/talk_topic_from_json.py msgid "Sir." msgstr "Señor." @@ -168833,13 +169778,22 @@ msgid "Dude, if you can hold your own you should look into enlisting." msgstr "Amigo, si podés controlarte deberías enrolarte." #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "Señora" +msgid "Hello, marshal." +msgstr "Hola, alguacil." #: 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 "Alguacil, me temo que no puedo hablar ahora." + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "No estoy a cargo acá, alguacil." + +#: lang/json/talk_topic_from_json.py +msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "" -"Hey señorita, ¿no le parece que estaría más segura si se queda conmigo?" +"Se supone que dirija todas las preguntas directamente al liderazgo, " +"alguacil." #: lang/json/talk_topic_from_json.py msgid "Don't mind me…" @@ -168896,15 +169850,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, ayudame. Necesito 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, ayudame. Necesito comida. ¿Vos no sos el sheriff? ¿No me podés " +"ayudar?" #: lang/json/talk_topic_from_json.py msgid "Thank you again. I really appreciate the food." @@ -168912,15 +169867,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, ayudame. Necesito comida. ¿Vos no sos el sheriff? ¿No me podés " -"ayudar?" #: lang/json/talk_topic_from_json.py -msgid "Please, help me. I need food." -msgstr "Por favor, ayudame. Necesito 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 "" @@ -168939,17 +169893,17 @@ msgstr "Salí de acá." #: 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 "" +"No me dejan entrar. Dicen que está lleno. Me permiten quedarme acá afuera " +"mientras no ensucie y no haga quilombo, pero tengo hambre." #: 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 "" -"No me dejan entrar. Dicen que está lleno. Me permiten quedarme acá afuera " -"mientras no ensucie y no haga quilombo, pero tengo hambre." #: lang/json/talk_topic_from_json.py msgid "Why don't you scavenge your own food?" @@ -169057,13 +170011,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 @@ -169147,16 +170101,16 @@ msgstr "¿En serio tenés puesto un disfraz de dinosaurio?" 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 "" @@ -169255,15 +170209,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 @@ -169283,15 +170237,18 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "" +msgid "Don't bother with these assholes." +msgstr "No te calentés con estos boludos." #: 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 @@ -169301,19 +170258,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 "No te calentés con estos boludos." +msgid "Fuck off, dickwaddle." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -169604,16 +170558,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 @@ -169658,14 +170612,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 "Ey, ¿te gusta eso de 'supervivencia del más 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 qué me preguntás?" @@ -169682,12 +170636,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. " @@ -169696,6 +170644,12 @@ msgstr "" "Porque yo seguro que no estoy apto, así que me quedo sentado acá hasta que " "me muera de hambre. ¿Podés ayudar a este pobre mendigo?" +#: 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 "I could maybe help you out… want something to eat?" msgstr "" @@ -169717,12 +170671,12 @@ msgid "Why are you camped out here if they won't let you in?" msgstr "¿Y qué hacés acampando acá si no te dejan 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 @@ -170019,6 +170973,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 "Ah, oh... hola. Parecés nuevo. Soy Aleesha." + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "Hola, ¿qué tal?" @@ -170035,10 +170993,6 @@ msgstr "" msgid "Aw hey, look who's back." msgstr "Oh, hey, miren quién volvió." -#: lang/json/talk_topic_from_json.py -msgid "Oh, uh... hi. You look new. I'm Aleesha." -msgstr "Ah, oh... hola. Parecés nuevo. Soy Aleesha." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, kid. What's up?" msgstr "Encantado de conocerte, chico. ¿Cómo va?" @@ -170056,16 +171010,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 "No soy un chico, eh. Tengo dieciséis." +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "No soy un chico, eh. Tengo catorce." #: lang/json/talk_topic_from_json.py msgid "I'm not a kid, okay? I'm fifteen." msgstr "No soy un chico, eh. Tengo quince." #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm fourteen." -msgstr "No soy un chico, eh. Tengo catorce." +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "No soy un chico, eh. Tengo dieciséis." #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -170075,15 +171029,6 @@ msgstr "Perdoname, no quise insinuar nada. ¿Cómo va?" msgid "Sorry, I didn't mean anything by it. I'll be on my way." msgstr "Perdoname, no quise insinuar nada. Ya me voy yendo." -#: lang/json/talk_topic_from_json.py -msgid "" -"We're just standing around here waiting, like a bunch of idiots. We're " -"supposedly waiting to go downstairs to the shelter, but it's been over a " -"month. I don't think it's happening. I don't know what we're doing here. " -"I've read all the books, and there's zombies outside so we're stuck in 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 " @@ -170096,6 +171041,15 @@ msgstr "" "abajo, pero hace días que estamos acá y no nos dicen cuánto tenemos que " "esperar. Es todo muy idiota, y nadie te dice nada." +#: lang/json/talk_topic_from_json.py +msgid "" +"We're just standing around here waiting, like a bunch of idiots. We're " +"supposedly waiting to go downstairs to the shelter, but it's been over a " +"month. I don't think it's happening. I don't know what we're doing here. " +"I've read all the books, and there's zombies outside so we're stuck in here." +" We can hear them at night." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "You can't just go asking people questions like that nowadays. I'm a " @@ -170137,7 +171091,8 @@ msgid "How are things here?" 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 @@ -170147,8 +171102,7 @@ msgid "" 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 @@ -170178,33 +171132,33 @@ 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 "" -"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 "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 "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 "" -"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 "" #: 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 "" @@ -170233,6 +171187,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 " @@ -170241,8 +171201,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 @@ -170252,9 +171212,7 @@ 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." +msgid "Ah, another new face. Hello. I am Boris." msgstr "" #: lang/json/talk_topic_from_json.py @@ -170269,10 +171227,6 @@ 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 "" @@ -170341,13 +171295,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 " @@ -170358,6 +171305,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 " @@ -170387,15 +171341,15 @@ msgid "Got any more bread I can trade flour for?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, nice to see you again." +msgid "Hi there. I'm Dana, nice to see a new face." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It's good to see you're still around." +msgid "Hello, nice to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." +msgid "It's good to see you're still around." msgstr "" #: lang/json/talk_topic_from_json.py @@ -170447,8 +171401,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 @@ -170459,10 +171415,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 @@ -170484,6 +171438,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 " @@ -170505,12 +171465,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" @@ -170540,10 +171494,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" @@ -170551,6 +171501,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 " @@ -170587,16 +171541,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 "" @@ -170831,12 +171785,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 @@ -170932,15 +171886,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 @@ -170992,21 +171946,21 @@ msgid "Is there anything I can do to help you out?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello again." +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 "Good to see you're still around." +msgid "Hello again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, hi." +msgid "Good to see you're still around." 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." +msgid "Oh, hi." msgstr "" #: lang/json/talk_topic_from_json.py @@ -171068,15 +172022,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 @@ -171142,17 +172096,17 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi." +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 "Hey again." +msgid "Hi." 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 "Hey again." msgstr "" #: lang/json/talk_topic_from_json.py @@ -171202,12 +172156,12 @@ msgid "" 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 -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 @@ -171358,6 +172312,15 @@ msgid "" "like 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 " @@ -171370,15 +172333,6 @@ 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 "" @@ -171444,6 +172398,14 @@ 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. " @@ -171456,10 +172418,10 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -171473,10 +172435,14 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -171493,25 +172459,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 "" #: 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 "" @@ -171566,11 +172520,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -171613,15 +172567,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 @@ -171822,12 +172776,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 @@ -171918,17 +172872,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 @@ -172040,16 +172994,16 @@ 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 "" - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " "Vanessa." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "" @@ -172086,14 +173040,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 " @@ -172102,6 +173048,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 " @@ -172279,15 +173233,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 @@ -172683,14 +173637,14 @@ 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 "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 "" @@ -172723,14 +173677,14 @@ msgstr "" msgid "Well, I'd better be going. Bye." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "Bienvenido, alguacil..." - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "Bienvenido..." +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "Bienvenido, alguacil..." + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -172988,14 +173942,14 @@ msgid "" "attacked by zombie hordes, as you might guess." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "Alguacil..." - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "Ciudadano..." +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "Alguacil..." + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "¿Podemos comerciar recursos?" @@ -173066,14 +174020,14 @@ msgstr "" "No podemos. No hay nada que nos sobre como para venderlo y no tengo plata " "para comprarte nada. Pero si querés donar algo..." -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "¡Esa placa que tenés es bien brillante!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "Parecés una persona importante." +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "¡Esa placa que tenés es bien brillante!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "En realidad, soy nuevo." @@ -173156,6 +174110,11 @@ msgstr "" "quiere por acá cuando no estoy vendiendo algo, pero... algunos se salen con " "la suya." +#: lang/json/talk_topic_from_json.py +msgid "Ssh. Some people in here hate... mutations. This was an accident." +msgstr "" +"Shhh... Algunas personas acá odian las... mutaciones. Esto fue un accidente." + #: lang/json/talk_topic_from_json.py msgid "" "Same way you got yours, I bet. Keep quiet about it, some people here look " @@ -173164,11 +174123,6 @@ msgstr "" "De la misma manera que vos conseguiste el tuyo, supongo. No hables mucho, " "algunos de acá desprecian a las personas como nosotros." -#: lang/json/talk_topic_from_json.py -msgid "Ssh. Some people in here hate... mutations. This was an accident." -msgstr "" -"Shhh... Algunas personas acá odian las... mutaciones. Esto fue un accidente." - #: lang/json/talk_topic_from_json.py msgid "Sorry to ask" msgstr "Perdón por preguntar." @@ -173198,13 +174152,17 @@ msgstr "Lo voy a comprar." msgid "Who needs rebar?" msgstr "¿Quién necesita varillas corrugadas?" +#: lang/json/talk_topic_from_json.py +msgid "Screw You!" +msgstr "¡Andá a cagar!" + #: lang/json/talk_topic_from_json.py msgid "As if you're one to talk. Screw You." msgstr "Mirá quién habla. No me jodas." #: lang/json/talk_topic_from_json.py -msgid "Screw You!" -msgstr "¡Andá a cagar!" +msgid "Huh, thought I smelled someone new. Can I help you?" +msgstr "Ah, me pareció oler a alguien nuevo. ¿Te puedo ayudar en algo?" #: lang/json/talk_topic_from_json.py msgid "I thought I smelled a pig. I jest... please don't arrest me." @@ -173212,10 +174170,6 @@ msgstr "" "Me pareció oler un lindo chanchito. Era un chiste... por favor, no me " "arrestes." -#: lang/json/talk_topic_from_json.py -msgid "Huh, thought I smelled someone new. Can I help you?" -msgstr "Ah, me pareció oler a alguien nuevo. ¿Te puedo ayudar en algo?" - #: lang/json/talk_topic_from_json.py msgid "You… smelled me?" msgstr "" @@ -173546,7 +174500,9 @@ msgid "Glad to have you aboard." msgstr "Me alegra tenerte en el equipo." #: 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 @@ -173554,9 +174510,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 @@ -173805,38 +174759,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 @@ -174082,16 +175036,16 @@ msgid "I'll talk with them then…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "¿Te puedo ayudar, alguacil?" +msgid "Morning ma'am, how can I help you?" +msgstr "Buenos días, señora, ¿la puedo ayudar en algo?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "Buenos días, señor, ¿lo puedo ayudar en algo?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "Buenos días, señora, ¿la puedo ayudar en algo?" +msgid "Can I help you, marshal?" +msgstr "¿Te puedo ayudar, alguacil?" #: lang/json/talk_topic_from_json.py msgid "" @@ -174224,14 +175178,14 @@ msgstr "¿Qué tipo de trabajo tienen para mí?" msgid "Not now." msgstr "Ahora no." -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "Vení después, necesito encargarme de unas cosas antes." - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "Puedo revisarte a vos o a tus compañeros si hay alguien herido." +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "Vení después, necesito encargarme de unas cosas antes." + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "[$200, 30m] Necesito que me cures." @@ -181181,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" @@ -186194,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" @@ -188677,16 +189646,11 @@ msgstr "Descongelás y calentás la comida." msgid "You heat up the food." msgstr "Calentás la comida." -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.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 -#, c-format -msgid "You successfully mended the %s." -msgstr "Pudiste arreglar satisfactoriamente el/a %s." - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -191613,6 +192577,11 @@ 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 "" @@ -192023,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." @@ -192140,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 "" @@ -192374,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 "" @@ -193430,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" @@ -193844,6 +194839,28 @@ msgstr "" 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 "" @@ -194084,264 +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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" @@ -197076,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!)" @@ -199708,6 +200471,14 @@ 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 "" @@ -199723,59 +200494,6 @@ 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 -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 #, c-format msgid "" @@ -199810,23 +200528,6 @@ 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 "" @@ -199989,27 +200690,19 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: 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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" #: src/faction_camp.cpp @@ -200024,14 +200717,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -200046,15 +200739,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -200069,13 +200762,83 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "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 +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 @@ -200088,6 +200851,10 @@ msgid "" "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 "" @@ -200124,10 +200891,6 @@ msgstr "" 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…" msgstr "" @@ -208314,19 +209077,19 @@ msgid "" msgstr "" #: src/item.cpp -msgid "can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp @@ -208335,24 +209098,24 @@ msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid " and upsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid " and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid " but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid " but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -208453,6 +209216,12 @@ 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 "" @@ -210479,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" @@ -216510,7 +217288,7 @@ 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 @@ -219281,6 +220059,14 @@ msgstr "¡Combate entre %d miembros de %s %s y %d miembros de %s %s%s!" msgid "You don't have any companions to send out…" msgstr "" +#: src/mission_companion.cpp +msgid "Who do you want to send?" +msgstr "¿A quién querés enviar?" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" + #. ~ %1$s: npc name #: src/mission_companion.cpp #, c-format @@ -219288,42 +220074,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" -msgstr "" - -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" -"¿A quién querés enviar? [ COMBATE : SUPERVIVENCIA : " -"INDUSTRIA ]" #: src/mission_companion.cpp msgid "You choose to send no one…" 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!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "" @@ -221269,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" @@ -224488,6 +225257,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" @@ -224586,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." @@ -225278,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" @@ -228453,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!" @@ -228506,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!" @@ -229257,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 "" -#. ~ %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." @@ -229443,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 @@ -229688,6 +230462,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…" @@ -231065,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" @@ -232037,6 +232814,10 @@ msgstr "" 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" diff --git a/lang/po/es_ES.po b/lang/po/es_ES.po index ccc4d34d94766..ad85c30f139c2 100644 --- a/lang/po/es_ES.po +++ b/lang/po/es_ES.po @@ -7,16 +7,16 @@ # lokatronao , 2019 # Brett Dong , 2019 # Vlasov Vitaly , 2019 -# Toni López , 2019 # Miguel de Dios Matias , 2019 +# Toni López , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-04 19:23+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Miguel de Dios Matias , 2019\n" +"Last-Translator: Toni López , 2019\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/es_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -6000,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" @@ -6051,6 +6063,27 @@ msgid "" "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 "carga para la lanza de fuego" @@ -8438,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" @@ -9197,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" @@ -18257,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 @@ -18269,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." @@ -24560,6 +24622,21 @@ msgid "" "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" @@ -26169,6 +26246,30 @@ msgid "" "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" @@ -26593,6 +26694,41 @@ msgid "" " 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" @@ -33767,6 +33903,17 @@ msgstr[1] "" 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 "" @@ -37582,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 "" @@ -40008,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" @@ -43422,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" @@ -43450,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" @@ -52570,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" @@ -54556,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 "" @@ -55595,6 +55793,292 @@ msgstr "OBJETOS PUESTOS" 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" @@ -69529,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" @@ -82558,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 "" @@ -83850,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" @@ -85268,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" @@ -85682,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" @@ -85719,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 @@ -86082,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" @@ -86971,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 "" @@ -87627,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 "" @@ -92496,25 +93037,49 @@ 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 "" +#. ~ 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," @@ -92524,22 +93089,46 @@ msgid "" "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 " @@ -92550,49 +93139,109 @@ msgid "" "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." @@ -92600,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." @@ -92612,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 @@ -93319,8 +94028,7 @@ msgstr "" 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." @@ -93433,7 +94141,8 @@ msgstr "estatua" msgid "A carved statue made of stone." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "tomp." @@ -93833,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!" @@ -94700,6 +95409,17 @@ msgstr "taburete" 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" @@ -95919,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 "" @@ -101735,6 +102464,19 @@ msgid "" "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" @@ -101860,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 " @@ -112605,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 "" @@ -118948,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" @@ -128238,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 @@ -128253,6 +129014,14 @@ 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 "" @@ -128938,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" @@ -139841,6 +140614,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 " @@ -140688,6 +141637,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 "" @@ -147187,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 @@ -147201,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?" -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 @@ -156923,7 +157862,7 @@ msgid "Clothing Store" msgstr "Tienda de Ropa" #: 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 @@ -156931,7 +157870,7 @@ msgid "You're back. Have you come to listen to the song?" 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 @@ -157079,36 +158018,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157176,13 +158115,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -157497,16 +158436,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 "¿Qué estás haciendo aquí?" @@ -157578,24 +158517,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "No, solo no..." +msgid "Anything to do before I go to sleep?" +msgstr "¿Algo para hacer antes de que me vaya a dormir?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "¡Déjame dormir, !" +msgid "Just few minutes more..." +msgstr "Unos minutitos más..." #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "Hazlo rápido, quiero irme a dormir." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "Unos minutitos más..." +msgid "Just let me sleep, !" +msgstr "¡Déjame dormir, !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "¿Algo para hacer antes de que me vaya a dormir?" +msgid "No, just no..." +msgstr "No, solo no..." #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -157606,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 @@ -157994,11 +158933,11 @@ msgid "Show me what needs to be done at the camp." 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 -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158061,14 +159000,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 " @@ -158080,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 @@ -158095,14 +159034,14 @@ 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 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 @@ -158178,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 "" @@ -158238,14 +159177,6 @@ msgstr "¿Qué pasa?" msgid "I don't care." msgstr "No me importa." -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 just have one job for you. Want to hear about it?" msgstr "Tengo un trabajo para ti. ¿Quieres que te cuente?" @@ -158254,6 +159185,14 @@ msgstr "Tengo un trabajo para ti. ¿Quieres que te cuente?" 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 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 "" + #: 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." @@ -158271,14 +159210,14 @@ msgstr "Ah, bueno." msgid "Never mind, I'm not interested." msgstr "No importa, no estoy interesado." -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "¿Cuál trabajo?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "¿Qué te parece?" +#: lang/json/talk_topic_from_json.py +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 "" @@ -158498,31 +159437,31 @@ msgid "Thanks!" msgstr "¡Gracias!" #: 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 -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 "I'm too thirsty, give me something to drink." -msgstr "Tengo mucha sed, dame algo para beber." +msgid "I'm too tired, let me rest first." +msgstr "Estoy muy cansado/a, dejame descansar un poco." #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "Tengo mucha hambre, dame algo para comer." #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "Estoy muy cansado/a, dejame descansar un poco." +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 "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 have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158530,16 +159469,16 @@ msgid "Ah, okay." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "Hasta que no tenga algún antibiótico, no..." +msgid "Why should I travel with you?" +msgstr "¿Por qué tendría que viajar contigo?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "Recién me preguntaste; preguntame de nuevo después." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "¿Por qué tendría que viajar contigo?" +msgid "Not until I get some antibiotics..." +msgstr "Hasta que no tenga algún antibiótico, no..." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -158630,11 +159569,7 @@ 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 "" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" +msgid "I have some reason for denying you training." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158642,7 +159577,11 @@ 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 "I can't train you properly while you're operating a vehicle!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158681,14 +159620,14 @@ msgstr "Prefiero quedarme con eso para mí." msgid "I understand…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "Ya me pediste cosas; pregúntame en otro momento." - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "¿Por qué tendría que compartir mi equipo contigo?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "Ya me pediste cosas; pregúntame en otro momento." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "Bueno, está bien." @@ -158831,16 +159770,16 @@ msgstr "¡Un placer hacer negocios!" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "" @@ -159742,15 +160681,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 @@ -159758,11 +160697,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161121,10 +162060,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 "" - #: 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." @@ -161133,7 +162068,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 "" #: lang/json/talk_topic_from_json.py @@ -161144,8 +162080,11 @@ 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 +msgid "I just can't talk about that right now. I can't." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161481,13 +162420,13 @@ msgstr "Gracias por decirme todo eso. " #: 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 "" #: 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 "" @@ -161547,8 +162486,7 @@ msgid "I'm sorry you lost someone." msgstr "Siento que hayas perdido a alguien." #: 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 @@ -161558,7 +162496,8 @@ msgid "" 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 @@ -161583,34 +162522,34 @@ msgid "" 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 "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 "" -"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 "" #: 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 "" @@ -161662,11 +162601,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 "" @@ -161674,11 +162613,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 "" @@ -162322,10 +163261,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." @@ -162333,10 +163272,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." @@ -162417,14 +163356,14 @@ 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 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 @@ -162734,19 +163673,19 @@ 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 "" #: 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 "" @@ -162755,11 +163694,11 @@ msgid "What were you saying before that?" 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 -msgid "I can't believe my eyes. Please get my outta here..." +msgid "Hey, ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162785,9 +163724,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 @@ -162795,7 +163732,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 @@ -162870,13 +163809,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 fondness " -"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 @@ -162970,7 +163909,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 @@ -162978,7 +163917,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 @@ -163276,11 +164215,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 @@ -163408,14 +164347,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 "Hola." +#: 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 "" @@ -163483,8 +164422,12 @@ 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 "Alguacil, espero que esté aquí para ayudarnos." +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 "" +"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 "" @@ -163495,12 +164438,8 @@ msgstr "" "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." -msgstr "" -"Señor, no sé cómo demonios llegó hasta aquí abajo pero si le queda un poco " -"de juicio se iría mientras pueda." +msgid "Marshal, I hope you're here to assist us." +msgstr "Alguacil, espero que esté aquí para ayudarnos." #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -163572,16 +164511,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "Alguacil, estoy bastante sorprendido de verlo aquí." +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "Señora, no está autorizada para estar aquí... debería irse." #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "Señor, no está autorizado para estar aquí... debería irse." #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "Señora, no está autorizada para estar aquí... debería irse." +msgid "Marshal, I'm rather surprised to see you here." +msgstr "Alguacil, estoy bastante sorprendido de verlo aquí." #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -163629,23 +164568,6 @@ msgstr "" "de la red de comunicaciones. Esperamos igual que algunos simples mensajes de" " texto puedan ser recibidos." -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "Hola, alguacil." - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "Alguacil, me temo que no puedo hablar ahora." - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "" -"Se supone que debo dirigir todas las preguntas a mi liderazgo, alguacil." - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "Hey, ciudadano... me parece que no pertenecés a este lugar." @@ -163658,6 +164580,15 @@ msgstr "Deberías meterte en tus propios asuntos, no hay nada que mirar aquí." msgid "If you need something you'll need to talk to someone else." msgstr "Si necesitas algo vas a tener que hablar con otra persona." +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "Señora" + +#: lang/json/talk_topic_from_json.py +msgid "Hey miss, don't you think it would be safer if you stuck with me?" +msgstr "" +"Hey señorita, ¿no le parece que estaría más segura si se queda conmigo?" + #: lang/json/talk_topic_from_json.py msgid "Sir." msgstr "Señor." @@ -163667,13 +164598,21 @@ msgid "Dude, if you can hold your own you should look into enlisting." msgstr "Amigo, si puedes controlarte deberías enrolarte." #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "Señora" +msgid "Hello, marshal." +msgstr "Hola, alguacil." #: 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 "Alguacil, me temo que no puedo hablar ahora." + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." msgstr "" -"Hey señorita, ¿no le parece que estaría más segura si se queda conmigo?" + +#: lang/json/talk_topic_from_json.py +msgid "I'm supposed to direct all questions to my leadership, marshal." +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…" @@ -163730,14 +164669,13 @@ 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?" +msgid "Please, help me. I need food." 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 @@ -163746,12 +164684,13 @@ 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 -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 @@ -163771,14 +164710,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 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 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 @@ -163877,13 +164816,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 @@ -163967,16 +164906,16 @@ msgstr "" 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 "" @@ -164068,15 +165007,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 @@ -164096,15 +165035,18 @@ msgid "" 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 -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 @@ -164114,18 +165056,15 @@ 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." +msgid "Fuck off, dickwaddle." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164413,16 +165352,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 @@ -164468,11 +165407,11 @@ msgid "I'll see what I can do." 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 -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 @@ -164493,14 +165432,14 @@ 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 "" -"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 @@ -164524,12 +165463,12 @@ msgid "Why are you camped out here if they won't let you in?" 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 -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 @@ -164811,6 +165750,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 "" + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "" @@ -164827,10 +165770,6 @@ 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 "" @@ -164848,7 +165787,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 sixteen." +msgid "I'm not a kid, okay? I'm fourteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164856,7 +165795,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 fourteen." +msgid "I'm not a kid, okay? I'm sixteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164867,6 +165806,14 @@ 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 " @@ -164876,14 +165823,6 @@ msgid "" " 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 " @@ -164925,7 +165864,8 @@ msgid "How are things here?" 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 @@ -164935,8 +165875,7 @@ msgid "" 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 @@ -164966,33 +165905,33 @@ 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 "" -"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 "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 "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 "" -"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 "" #: 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 "" @@ -165021,6 +165960,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 " @@ -165029,8 +165974,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 @@ -165040,9 +165985,7 @@ 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." +msgid "Ah, another new face. Hello. I am Boris." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165057,10 +166000,6 @@ 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 "" @@ -165129,13 +166068,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 " @@ -165146,6 +166078,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 " @@ -165175,15 +166114,15 @@ msgid "Got any more bread I can trade flour for?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, nice to see you again." +msgid "Hi there. I'm Dana, nice to see a new face." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It's good to see you're still around." +msgid "Hello, nice to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." +msgid "It's good to see you're still around." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165235,8 +166174,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 @@ -165247,10 +166188,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 @@ -165272,6 +166211,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 " @@ -165293,12 +166238,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" @@ -165328,10 +166267,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" @@ -165339,6 +166274,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 " @@ -165375,16 +166314,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 "" @@ -165619,12 +166558,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 @@ -165720,15 +166659,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 @@ -165780,21 +166719,21 @@ msgid "Is there anything I can do to help you out?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello again." +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 "Good to see you're still around." +msgid "Hello again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, hi." +msgid "Good to see you're still around." 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." +msgid "Oh, hi." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165856,15 +166795,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 @@ -165930,17 +166869,17 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi." +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 "Hey again." +msgid "Hi." 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 "Hey again." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165990,12 +166929,12 @@ msgid "" 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 -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 @@ -166146,6 +167085,15 @@ msgid "" "like 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 " @@ -166158,15 +167106,6 @@ 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 "" @@ -166232,6 +167171,14 @@ 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. " @@ -166244,10 +167191,10 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -166261,10 +167208,14 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -166281,25 +167232,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 "" #: 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 "" @@ -166354,11 +167293,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166401,15 +167340,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 @@ -166610,12 +167549,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 @@ -166706,17 +167645,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 @@ -166828,16 +167767,16 @@ 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 "" - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " "Vanessa." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "" @@ -166874,14 +167813,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 " @@ -166890,6 +167821,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 " @@ -167067,15 +168006,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 @@ -167471,14 +168410,14 @@ 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 "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 "" @@ -167511,14 +168450,14 @@ msgstr "" msgid "Well, I'd better be going. Bye." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "Bienvenido, alguacil..." - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "Bienvenido..." +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "Bienvenido, alguacil..." + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -167776,14 +168715,14 @@ msgid "" "attacked by zombie hordes, as you might guess." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "Alguacil..." - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "Ciudadano..." +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "Alguacil..." + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "¿Podemos comerciar recursos?" @@ -167838,14 +168777,14 @@ msgid "" "buy from you. I don't suppose you want to donate?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "¡Esa placa que tienes es bien brillante!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "Pareces una persona importante." +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "¡Esa placa que tienes es bien brillante!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "En realidad, soy nuevo." @@ -167928,6 +168867,12 @@ msgstr "" "quiere por aquí cuando no estoy vendiendo algo, pero... algunos se salen con" " la suya." +#: lang/json/talk_topic_from_json.py +msgid "Ssh. Some people in here hate... mutations. This was an accident." +msgstr "" +"Shhh... Algunas personas aquí odian las... mutaciones. Esto fue un " +"accidente." + #: lang/json/talk_topic_from_json.py msgid "" "Same way you got yours, I bet. Keep quiet about it, some people here look " @@ -167936,12 +168881,6 @@ msgstr "" "De la misma manera que conseguiste el tuyo, supongo. No hables mucho, " "algunos de aquí desprecian a las personas como nosotros." -#: lang/json/talk_topic_from_json.py -msgid "Ssh. Some people in here hate... mutations. This was an accident." -msgstr "" -"Shhh... Algunas personas aquí odian las... mutaciones. Esto fue un " -"accidente." - #: lang/json/talk_topic_from_json.py msgid "Sorry to ask" msgstr "Perdón por preguntar." @@ -167971,13 +168910,17 @@ msgstr "Lo voy a comprar." msgid "Who needs rebar?" msgstr "¿Quién necesita varillas corrugadas?" +#: lang/json/talk_topic_from_json.py +msgid "Screw You!" +msgstr "¡Que te den!" + #: lang/json/talk_topic_from_json.py msgid "As if you're one to talk. Screw You." msgstr "Mira quién habla. No me jodas." #: lang/json/talk_topic_from_json.py -msgid "Screw You!" -msgstr "¡Que te den!" +msgid "Huh, thought I smelled someone new. Can I help you?" +msgstr "Ah, me pareció oler a alguien nuevo. ¿Te puedo ayudar en algo?" #: lang/json/talk_topic_from_json.py msgid "I thought I smelled a pig. I jest... please don't arrest me." @@ -167985,10 +168928,6 @@ msgstr "" "Me pareció oler un lindo cerdito. Era un chiste... por favor, no me " "arrestes." -#: lang/json/talk_topic_from_json.py -msgid "Huh, thought I smelled someone new. Can I help you?" -msgstr "Ah, me pareció oler a alguien nuevo. ¿Te puedo ayudar en algo?" - #: lang/json/talk_topic_from_json.py msgid "You… smelled me?" msgstr "" @@ -168301,7 +169240,9 @@ msgid "Glad to have you aboard." msgstr "Me alegra tenerte en el equipo." #: 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 @@ -168309,9 +169250,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 @@ -168560,38 +169499,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 @@ -168838,16 +169777,16 @@ msgid "I'll talk with them then…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "" +msgid "Morning ma'am, how can I help you?" +msgstr "Buenos días, señora, ¿la puedo ayudar en algo?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "Buenos días, señor, ¿lo puedo ayudar en algo?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "Buenos días, señora, ¿la puedo ayudar en algo?" +msgid "Can I help you, marshal?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168980,14 +169919,14 @@ msgstr "¿Qué tipo de trabajo tienen para mí?" msgid "Not now." msgstr "No ahora." -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "Vení después, necesito encargarme de unas cosas antes." - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "Puedo revisar a ti o a tus compañeros si hay alguien herido." +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "Vení después, necesito encargarme de unas cosas antes." + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "" @@ -175687,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" @@ -180357,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" @@ -182730,16 +183684,11 @@ msgstr "" msgid "You heat up the food." msgstr "Calientas la comida." -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.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 -#, c-format -msgid "You successfully mended the %s." -msgstr "Pudiste arreglar satisfactoriamente el/la %s." - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -185653,6 +186602,11 @@ 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 "" @@ -186063,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." @@ -186180,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 "" @@ -186414,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 "" @@ -187459,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" @@ -187873,6 +188853,28 @@ msgstr "" 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 "" @@ -188113,262 +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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" @@ -191076,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!)" @@ -193704,6 +194454,14 @@ 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 "" @@ -193719,59 +194477,6 @@ 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 -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 #, c-format msgid "" @@ -193806,23 +194511,6 @@ 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 "" @@ -193985,27 +194673,19 @@ msgid "" "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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" #: src/faction_camp.cpp @@ -194020,14 +194700,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -194042,15 +194722,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -194065,13 +194745,83 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "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 +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 @@ -194084,6 +194834,10 @@ msgid "" "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 "" @@ -194120,10 +194874,6 @@ msgstr "" 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…" msgstr "" @@ -202219,19 +202969,19 @@ msgid "" msgstr "" #: src/item.cpp -msgid "can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp @@ -202240,24 +202990,24 @@ msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid " and upsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid " and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid " but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid " but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -202358,6 +203108,12 @@ 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 "" @@ -204370,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" @@ -210390,7 +211155,7 @@ 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 @@ -213159,26 +213924,19 @@ msgstr "¡Combate entre %d miembros de %s %s y %d miembros de %s %s%s!" msgid "You don't have any companions to send out…" msgstr "" -#. ~ %1$s: npc name #: src/mission_companion.cpp -#, c-format -msgctxt "companion" -msgid "%1$s (Guarding)" -msgstr "" +msgid "Who do you want to send?" +msgstr "¿A quién quieres enviar?" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp -#, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: npc name #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +msgctxt "companion" +msgid "%1$s (Guarding)" msgstr "" #: src/mission_companion.cpp @@ -213187,19 +213945,22 @@ msgctxt "companion ranking" msgid "%s [ %4d : %4d : %4d ]" msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +#, 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 @@ -215148,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" @@ -218360,6 +219116,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" @@ -218458,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." @@ -219129,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" @@ -222282,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!" @@ -222335,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!" @@ -223082,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 "" -#. ~ %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 "" + +#. ~ %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 "" #: src/player.cpp msgid "You are already wearing that." @@ -223268,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 @@ -223509,6 +224270,13 @@ msgstr "" msgid "Pain " msgstr "Dolor" +#. ~ 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…" @@ -224880,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" @@ -225849,6 +226613,10 @@ msgstr "" 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" diff --git a/lang/po/hu.po b/lang/po/hu.po index cfa11f2962f6e..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-11-04 19:23+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" @@ -6193,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" @@ -6244,6 +6256,27 @@ msgid "" "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 "tűzlándzsa töltet" @@ -8597,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" @@ -9340,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" @@ -16367,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" @@ -17948,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" @@ -17963,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" @@ -17977,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" @@ -17990,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" @@ -18004,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" @@ -18017,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" @@ -18030,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" @@ -18043,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" @@ -18056,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" @@ -18071,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 @@ -18084,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" @@ -18098,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" @@ -18113,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" @@ -18126,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" @@ -18139,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" @@ -18153,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" @@ -18167,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" @@ -18180,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" @@ -18195,6 +18314,11 @@ msgid "" " 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" @@ -18210,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" @@ -18223,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" @@ -18238,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" @@ -18253,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" @@ -18267,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" @@ -18282,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" @@ -18292,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" @@ -18304,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." @@ -18326,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" @@ -18340,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" @@ -18354,6 +18505,10 @@ msgid "" "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" @@ -18367,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" @@ -18382,6 +18540,10 @@ msgid "" "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" @@ -18395,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" @@ -18406,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 @@ -18420,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" @@ -18434,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 @@ -18448,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" @@ -18461,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" @@ -18475,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" @@ -18490,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" @@ -18503,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" @@ -18516,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" @@ -18529,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" @@ -18543,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" @@ -18558,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" @@ -18571,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" @@ -18585,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" @@ -18599,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" @@ -18612,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" @@ -18626,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" @@ -18639,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" @@ -18653,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" @@ -18666,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" @@ -18679,6 +18901,8 @@ 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" @@ -18692,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" @@ -18706,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" @@ -18720,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" @@ -18734,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" @@ -18749,6 +18984,9 @@ msgid "" "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" @@ -18763,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 @@ -18777,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" @@ -18791,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" @@ -18805,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" @@ -18819,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" @@ -18833,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" @@ -18847,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 @@ -18861,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" @@ -18875,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" @@ -18888,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" @@ -18902,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" @@ -18915,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" @@ -18928,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" @@ -18942,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" @@ -18957,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" @@ -18971,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" @@ -18984,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" @@ -18998,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" @@ -19012,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" @@ -19026,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" @@ -19041,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" @@ -19055,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" @@ -19069,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 @@ -19083,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 @@ -19098,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" @@ -19111,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" @@ -19125,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" @@ -19138,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" @@ -19152,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" @@ -19166,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" @@ -19180,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" @@ -19195,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 @@ -19209,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 @@ -19222,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 @@ -19246,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 @@ -19283,12 +19631,14 @@ 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 @@ -19296,23 +19646,27 @@ msgid "" "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." 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 @@ -19320,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 @@ -19392,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 @@ -19405,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 @@ -19440,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 @@ -19453,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" @@ -19514,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" @@ -19527,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" @@ -19541,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" @@ -19554,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 @@ -19568,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 @@ -19577,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 @@ -19591,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 @@ -19605,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 @@ -19620,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" @@ -19645,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 @@ -19925,7 +20314,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!" -msgstr "" +msgstr "De... ez egy szakácskönyv!" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -20036,6 +20425,9 @@ msgid "" "new chemical formula, and its effects on human subjects. It's stamped " "\"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..." #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -20067,6 +20459,9 @@ msgid "" " 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" @@ -20081,6 +20476,9 @@ msgid "" "focusing on those derived from flesh contaminated with XE037. The results " "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 az alapanyag beszerzési eljárása rettenetesen elmismásoltnak látszik." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -20095,6 +20493,9 @@ msgid "" "throughout the facility. However, some of the log sheets seem to be filled " "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" +" azonban mintha valami... vegyi képlet szerepelne?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -20146,6 +20547,9 @@ msgid "" "This binder of highly technical papers describes some new chemical formula, " "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..." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -20160,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" @@ -20467,6 +20874,9 @@ msgid "" "specifications for various electronic materials. Some of the diagrams use " "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" +" szimbólumokat tartalmaz..." #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -20908,6 +21318,10 @@ msgid "" "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. " +"Biztosan valami felelősségkizárási oka van, hiszen a könyv kiváló " +"részletességgel értekezik a robbanó töltényekről is." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -21467,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 @@ -21478,6 +21892,10 @@ msgid "" "ready to start a second Cataclysm, but the general information provided " "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" @@ -23009,7 +23427,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…" -msgstr "" +msgstr "Ha esetleg tudnád, mit keress, az jobban szembetűnne." #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -24455,6 +24873,21 @@ msgid "" "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" @@ -24843,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 @@ -24854,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" @@ -26066,6 +26503,30 @@ msgid "" "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" @@ -26506,6 +26967,41 @@ msgid "" " 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" @@ -33018,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 @@ -33708,6 +34204,17 @@ msgstr[1] "" 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 "" @@ -37532,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" @@ -39938,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" @@ -43324,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" @@ -43352,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" @@ -52596,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" @@ -54608,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 "" @@ -55689,6 +56247,290 @@ msgstr "VISELT TÁRGYAK" 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" @@ -69846,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" @@ -83134,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 "" @@ -84487,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" @@ -84772,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" @@ -84780,111 +85667,111 @@ 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" @@ -84892,7 +85779,7 @@ msgstr "" #: lang/json/activity_type_from_json.py msgid "heating" -msgstr "" +msgstr "melegítés" #: lang/json/activity_type_from_json.py msgid "de-stressing" @@ -84900,23 +85787,23 @@ 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" @@ -84924,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" @@ -85148,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" @@ -85156,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" @@ -85176,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" @@ -85193,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" @@ -85210,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" @@ -85218,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" @@ -85250,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" @@ -85503,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" @@ -85540,6 +86431,9 @@ msgid "" "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" @@ -85566,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" @@ -85578,6 +86475,9 @@ msgid "" "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" @@ -85589,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" @@ -85601,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" @@ -85621,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 @@ -85629,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" @@ -85686,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" @@ -85745,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" @@ -85775,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" @@ -85900,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 @@ -85916,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" @@ -85923,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" @@ -85956,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" @@ -86040,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 @@ -86049,6 +86987,10 @@ msgid "" "you to glow and making you visible in the dark without improving how much " "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" @@ -86067,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 @@ -86077,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" @@ -86089,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" @@ -86145,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" @@ -86214,7 +87166,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "Finger Lighter" -msgstr "" +msgstr "Ujjbegy öngyújtó" #. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py @@ -86250,6 +87202,10 @@ msgid "" " 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" @@ -86292,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" @@ -86304,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" @@ -86316,6 +87278,9 @@ msgid "" "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" @@ -86327,6 +87292,8 @@ 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" @@ -86338,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 @@ -86350,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" @@ -86367,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" @@ -86387,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" @@ -86400,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" @@ -86412,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" @@ -86424,6 +87405,10 @@ msgid "" "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" @@ -86433,6 +87418,8 @@ msgstr "Energiatároló II" #: lang/json/bionic_from_json.py 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 @@ -86474,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" @@ -86516,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" @@ -86556,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" @@ -86581,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 @@ -86711,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" @@ -86763,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" @@ -86797,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 @@ -86808,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" @@ -86820,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 @@ -86833,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 @@ -86866,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 @@ -86874,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" @@ -86914,6 +87934,11 @@ msgid "" " 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" @@ -86968,7 +87993,7 @@ 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 @@ -86978,10 +88003,13 @@ msgid "" "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 @@ -86990,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" @@ -87002,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" @@ -87013,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" @@ -87024,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" @@ -87036,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" @@ -87078,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 @@ -87091,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 @@ -87102,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 @@ -87115,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 @@ -87128,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" @@ -87247,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." @@ -87260,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" @@ -87281,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" @@ -87298,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." @@ -87311,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" @@ -87328,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" @@ -87341,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." @@ -87354,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" @@ -87375,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" @@ -87392,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" @@ -87418,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" @@ -87526,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 "" @@ -87536,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" @@ -87563,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" @@ -87651,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" @@ -87663,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" @@ -87687,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" @@ -87715,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" @@ -87791,19 +88863,19 @@ msgstr "Mindkét oldalán kerítésnek vagy falnak kell lennie." #: lang/json/construction_from_json.py msgid "Build Screen Door" -msgstr "" +msgstr "Szúnyoghálós ajtó építése" #: lang/json/construction_from_json.py msgid "Build Screen Mesh Wall" -msgstr "" +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" @@ -87823,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" @@ -87839,7 +88911,7 @@ msgstr "Könyvespolc építése" #: lang/json/construction_from_json.py msgid "Build Entertainment Center" -msgstr "" +msgstr "Szórakoztató központ építése" #: lang/json/construction_from_json.py msgid "Build Locker" @@ -87847,7 +88919,7 @@ 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" @@ -87871,19 +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 "" +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" @@ -87907,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" @@ -87967,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" @@ -88039,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" @@ -88079,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" @@ -88091,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" @@ -88115,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" @@ -88244,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" @@ -88252,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" @@ -88268,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" @@ -88276,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" @@ -88308,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" @@ -88360,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" @@ -88489,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." @@ -90016,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" @@ -90263,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" @@ -90500,22 +91583,22 @@ msgstr "Reszketsz." #: lang/json/effects_from_json.py msgid "Seizure" -msgstr "" +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 "" +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 "" +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 "" +msgstr "Az izmaid nem hajlandók engedelmeskedni!" #: lang/json/effects_from_json.py msgid "Bleeding" @@ -90802,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" @@ -91030,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 @@ -91038,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'. @@ -91145,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" @@ -91188,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" @@ -91446,16 +92533,16 @@ msgstr "Az anyagcseréd stabilizálódik." #: lang/json/effects_from_json.py msgid "Concerning symptoms" -msgstr "" +msgstr "Aggodalmas tünetek" #. ~ Description of effect 'Concerning symptoms'. #: lang/json/effects_from_json.py msgid "Your muscles keep twitching strangely." -msgstr "" +msgstr "Az izmaid furcsán rángatóznak." #: lang/json/effects_from_json.py msgid "Unnerving symptoms" -msgstr "" +msgstr "Idegesítő tünetek" #. ~ Description of effect 'Unnerving symptoms'. #: lang/json/effects_from_json.py @@ -91463,6 +92550,8 @@ 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" @@ -91492,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 @@ -93121,25 +94210,49 @@ 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 "" +#. ~ 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," @@ -93148,23 +94261,55 @@ msgid "" "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 " @@ -93174,49 +94319,115 @@ msgid "" "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." -#. ~ Description for Faulty diesel pump +#. ~ 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." + +#: 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." @@ -93224,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 @@ -93772,12 +95043,13 @@ 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/terrain_from_json.py msgid "metal screeching!" @@ -93789,12 +95061,13 @@ 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 @@ -93803,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" @@ -93811,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" @@ -93824,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" @@ -93834,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" @@ -93845,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 @@ -93862,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 @@ -93873,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 @@ -93884,10 +95173,12 @@ 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 "" +msgstr "iratmegsemmisítő" #. ~ Description for document shredder #: lang/json/furniture_from_json.py @@ -93895,19 +95186,21 @@ 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 "" +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 "" +msgstr "Magas oszlopnyi számítógéphalmaz. Mindegyik ki van kapcsolva." #: lang/json/furniture_from_json.py msgid "large satellite dish" -msgstr "" +msgstr "nagy műholdas antenna" #. ~ Description for large satellite dish #: lang/json/furniture_from_json.py @@ -93915,15 +95208,18 @@ 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 "" +msgstr "felszerelt napelem" #. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py msgid "A mounted solar panel." -msgstr "" +msgstr "Egy felszerelt napelem." #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whack!" @@ -93944,19 +95240,18 @@ msgstr "Barikád. Az út elbarikádozására." 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!" @@ -93964,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" @@ -93987,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" @@ -93996,7 +95291,7 @@ msgstr "homokzsák fal" #. ~ Description for sandbag wall #: lang/json/furniture_from_json.py msgid "A sandbag wall." -msgstr "" +msgstr "Egy homokzsák fal." #: lang/json/furniture_from_json.py msgid "standing mirror" @@ -94005,7 +95300,7 @@ msgstr "álló tükör" #. ~ Description for standing mirror #: lang/json/furniture_from_json.py msgid "Lookin' good - is that blood?" -msgstr "" +msgstr "Jól nézek ki - az ott vér?" #: lang/json/furniture_from_json.py msgid "glass breaking" @@ -94060,7 +95355,8 @@ msgstr "szobor" msgid "A carved statue made of stone." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "puffanás." @@ -94460,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!" @@ -94597,6 +95893,9 @@ msgid "" "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 @@ -94637,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 @@ -94653,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 @@ -94665,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 @@ -94677,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" @@ -95031,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" @@ -95329,6 +96639,17 @@ msgstr "zsámoly" 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" @@ -96561,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!" @@ -102451,6 +103781,19 @@ msgid "" "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" @@ -102574,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 " @@ -113324,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 "" @@ -119680,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ú" @@ -129114,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 @@ -129129,6 +130491,14 @@ 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 "" @@ -129814,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" @@ -140769,6 +142143,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 " @@ -141616,6 +143166,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 "" @@ -148027,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 @@ -148041,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?" +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 @@ -156860,7 +158400,7 @@ msgid "Clothing Store" msgstr "Ruhabolt" #: 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 @@ -156868,7 +158408,7 @@ msgid "You're back. Have you come to listen to the song?" 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 @@ -157016,36 +158556,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157113,13 +158653,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -157434,16 +158974,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 "Mit csinálsz itt?" @@ -157515,24 +159055,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "Nem, , nem..." +msgid "Anything to do before I go to sleep?" +msgstr "Kell még valami, mielőtt lefekszem aludni?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "Hagyál már aludni, !" +msgid "Just few minutes more..." +msgstr "Csak egy pár percet még..." #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "Gyorsan mondd, szeretnék tovább aludni." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "Csak egy pár percet még..." +msgid "Just let me sleep, !" +msgstr "Hagyál már aludni, !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "Kell még valami, mielőtt lefekszem aludni?" +msgid "No, just no..." +msgstr "Nem, , nem..." #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -157543,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 @@ -157931,11 +159471,11 @@ msgid "Show me what needs to be done at the camp." 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 -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157998,14 +159538,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 " @@ -158017,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 @@ -158032,14 +159572,14 @@ 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 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 @@ -158113,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." @@ -158174,19 +159714,19 @@ msgid "I don't care." msgstr "Nem érdekel." #: 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 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 just have one 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 have another 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 @@ -158207,11 +159747,11 @@ msgid "Never mind, I'm not interested." msgstr "Mindegy, nem érdekel." #: lang/json/talk_topic_from_json.py -msgid "Which job?" +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 @@ -158433,31 +159973,31 @@ msgid "Thanks!" msgstr "Köszi!" #: 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 -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 "I'm too thirsty, give me something to drink." -msgstr "Túl szomjas vagyok, adj valamit inni." +msgid "I'm too tired, let me rest first." +msgstr "Túl fáradt vagyok, hadd pihenjek előtte." #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "Túl éhes vagyok, adj valamit enni." #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "Túl fáradt vagyok, hadd pihenjek előtte." +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 "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 have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158465,16 +160005,16 @@ msgid "Ah, okay." msgstr "Ah, oké." #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "Addig nem, amíg nem kapok antibiotikumot..." +msgid "Why should I travel with you?" +msgstr "És miért pont veled utazzak?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "Nemrég kértél erre, majd később." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "És miért pont veled utazzak?" +msgid "Not until I get some antibiotics..." +msgstr "Addig nem, amíg nem kapok antibiotikumot..." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -158565,20 +160105,20 @@ 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 "" +msgid "I have some reason for denying you training." +msgstr "Okom van rá, hogy miért nem tanítalak." #: lang/json/talk_topic_from_json.py 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 have some reason for denying you training." -msgstr "Okom van rá, hogy miért nem tanítalak." +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!" @@ -158616,14 +160156,14 @@ msgstr "Azt jobban szeretném magamnak megtartani." msgid "I understand…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "Most kértél tőlem cuccot, majd később." - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "Miért osztanék én meg veled bármit is?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "Most kértél tőlem cuccot, majd később." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "Oké, rendben." @@ -158766,16 +160306,16 @@ msgstr "" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "" @@ -159677,15 +161217,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 @@ -159693,11 +161233,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161034,10 +162574,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 "" - #: 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." @@ -161046,7 +162582,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 "" #: lang/json/talk_topic_from_json.py @@ -161057,8 +162594,11 @@ 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 +msgid "I just can't talk about that right now. I can't." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161394,13 +162934,13 @@ 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 "" #: 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 "" @@ -161460,8 +163000,7 @@ msgid "I'm sorry you lost someone." 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 @@ -161471,7 +163010,8 @@ msgid "" 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 @@ -161496,34 +163036,34 @@ msgid "" 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 "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 "" -"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 "" #: 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 "" @@ -161575,11 +163115,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 "" @@ -161587,11 +163127,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 "" @@ -162227,10 +163767,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." @@ -162238,10 +163778,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." @@ -162322,14 +163862,14 @@ 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 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 @@ -162634,19 +164174,19 @@ 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 "" #: 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 "" @@ -162655,11 +164195,11 @@ msgid "What were you saying before that?" 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 -msgid "I can't believe my eyes. Please get my outta here..." +msgid "Hey, ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162685,9 +164225,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 @@ -162695,7 +164233,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 @@ -162770,13 +164310,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 fondness " -"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 @@ -162870,7 +164410,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 @@ -162878,7 +164418,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 @@ -163176,11 +164716,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 @@ -163309,11 +164849,11 @@ msgid "" 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 -msgid "Hello." +msgid "I see that badge, you should leave before my father sees you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163383,7 +164923,9 @@ msgid "Tell me about your dad." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I hope you're here to assist us." +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 @@ -163393,9 +164935,7 @@ msgid "" 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." +msgid "Marshal, I hope you're here to assist us." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163457,7 +164997,7 @@ msgid "Whatever they did it must have worked since we are still alive…" 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 @@ -163465,7 +165005,7 @@ msgid "Sir you are not authorized to be here... you should leave." 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 @@ -163503,47 +165043,47 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." +msgid "Hey, citizen... I'm not sure you belong here." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." +msgid "You should mind your own business, nothing to see here." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." +msgid "If you need something you'll need to talk to someone else." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." +msgid "Ma'am" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey, citizen... I'm not sure you belong here." +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 "You should mind your own business, nothing to see here." +msgid "Sir." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "If you need something you'll need to talk to someone else." +msgid "Dude, if you can hold your own you should look into enlisting." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sir." +msgid "Hello, marshal." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Dude, if you can hold your own you should look into enlisting." +msgid "Marshal, I'm afraid I can't talk now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ma'am" +msgid "I'm not in charge here, 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 "I'm supposed to direct all questions to my leadership, marshal." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163601,14 +165141,13 @@ 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?" +msgid "Please, help me. I need food." 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 @@ -163617,12 +165156,13 @@ 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 -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 @@ -163642,14 +165182,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 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 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 @@ -163748,13 +165288,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 @@ -163838,16 +165378,16 @@ msgstr "" 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 "" @@ -163939,15 +165479,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 @@ -163967,15 +165507,18 @@ msgid "" 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 -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 @@ -163985,18 +165528,15 @@ 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." +msgid "Fuck off, dickwaddle." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164284,16 +165824,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 @@ -164339,11 +165879,11 @@ msgid "I'll see what I can do." 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 -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 @@ -164364,14 +165904,14 @@ 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 "" -"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 @@ -164395,12 +165935,12 @@ msgid "Why are you camped out here if they won't let you in?" 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 -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 @@ -164674,6 +166214,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 "" + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "" @@ -164690,10 +166234,6 @@ 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 "" @@ -164711,7 +166251,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 sixteen." +msgid "I'm not a kid, okay? I'm fourteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164719,7 +166259,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 fourteen." +msgid "I'm not a kid, okay? I'm sixteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164730,6 +166270,14 @@ 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 " @@ -164739,14 +166287,6 @@ msgid "" " 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 " @@ -164788,7 +166328,8 @@ msgid "How are things here?" 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 @@ -164798,8 +166339,7 @@ msgid "" 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 @@ -164829,33 +166369,33 @@ 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 "" -"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 "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 "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 "" -"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 "" #: 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 "" @@ -164884,6 +166424,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 " @@ -164892,8 +166438,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 @@ -164903,9 +166449,7 @@ 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." +msgid "Ah, another new face. Hello. I am Boris." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164920,10 +166464,6 @@ 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 "" @@ -164992,13 +166532,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 " @@ -165009,6 +166542,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 " @@ -165038,15 +166578,15 @@ msgid "Got any more bread I can trade flour for?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, nice to see you again." +msgid "Hi there. I'm Dana, nice to see a new face." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It's good to see you're still around." +msgid "Hello, nice to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." +msgid "It's good to see you're still around." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165098,8 +166638,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 @@ -165110,10 +166652,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 @@ -165135,6 +166675,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 " @@ -165156,12 +166702,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" @@ -165191,10 +166731,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" @@ -165202,6 +166738,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 " @@ -165238,16 +166778,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 "" @@ -165482,12 +167022,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 @@ -165583,15 +167123,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 @@ -165643,21 +167183,21 @@ msgid "Is there anything I can do to help you out?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello again." +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 "Good to see you're still around." +msgid "Hello again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, hi." +msgid "Good to see you're still around." 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." +msgid "Oh, hi." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165719,15 +167259,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 @@ -165793,17 +167333,17 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi." +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 "Hey again." +msgid "Hi." 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 "Hey again." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165853,12 +167393,12 @@ msgid "" 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 -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 @@ -166009,6 +167549,15 @@ msgid "" "like 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 " @@ -166021,15 +167570,6 @@ 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 "" @@ -166095,6 +167635,14 @@ 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. " @@ -166107,10 +167655,10 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -166124,10 +167672,14 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -166144,25 +167696,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 "" #: 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 "" @@ -166217,11 +167757,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166264,15 +167804,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 @@ -166473,12 +168013,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 @@ -166569,17 +168109,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 @@ -166691,16 +168231,16 @@ 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 "" - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " "Vanessa." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "" @@ -166737,14 +168277,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 " @@ -166753,6 +168285,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 " @@ -166930,15 +168470,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 @@ -167297,11 +168837,11 @@ 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 @@ -167337,11 +168877,11 @@ msgid "Well, I'd better be going. Bye." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." +msgid "Welcome..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Welcome..." +msgid "Welcome marshal..." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167571,11 +169111,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal..." +msgid "Citizen..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Citizen..." +msgid "Marshal..." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167632,14 +169172,14 @@ msgid "" "buy from you. I don't suppose you want to donate?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "Milyen fényes jelvényed van!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "Hmm, te fontosnak tûnsz." +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "Milyen fényes jelvényed van!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "Én tulajdonképpen most érkeztem." @@ -167722,13 +169262,13 @@ msgstr "" "itt legyek, amikor nem árulok semmit... de vannak, akik mindent megúsznak." #: 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." +msgid "Ssh. Some people in here hate... mutations. This was an accident." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ssh. Some people in here hate... mutations. This was an accident." +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 @@ -167756,19 +169296,19 @@ msgid "Who needs rebar?" 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 "Screw You!" +msgid "As if you're one to talk. Screw You." 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 "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 @@ -168041,7 +169581,9 @@ msgid "Glad to have you aboard." msgstr "Üdv köztünk." #: 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 @@ -168049,9 +169591,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 @@ -168300,38 +169840,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 @@ -168546,7 +170086,7 @@ msgid "I'll talk with them then…" 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 @@ -168554,7 +170094,7 @@ msgid "Morning sir, how can I help you?" 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 @@ -168661,11 +170201,11 @@ msgid "Not now." 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 -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 @@ -175226,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ó" @@ -179937,6 +181484,14 @@ msgstr "" 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 msgid "roller drum" msgstr "úthengerdob" @@ -182381,16 +183936,11 @@ msgstr "" msgid "You heat up the food." msgstr "" -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.cpp #, c-format msgid "You are currently unable to mend the %s." msgstr "Jelenleg nem tudod megszerelni a(z) %st." -#: src/activity_handlers.cpp -#, c-format -msgid "You successfully mended the %s." -msgstr "Sikeresen megszerelted a(z) %st." - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -185294,6 +186844,11 @@ 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 msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" @@ -185700,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." @@ -185817,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." @@ -186052,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 "" @@ -186382,6 +187957,8 @@ msgstr "" msgid "" "Bionic Power: %s/%ikJ" msgstr "" +"Bionikus energia: " +"%s/%ikJ" #: src/bionics_ui.cpp msgid "" @@ -187112,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" @@ -187523,6 +189105,28 @@ msgstr "" 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 "" @@ -187760,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 "" @@ -190763,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 "" @@ -193366,6 +194720,14 @@ 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 "" @@ -193381,59 +194743,6 @@ 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 -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 #, c-format msgid "" @@ -193468,23 +194777,6 @@ 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 "" @@ -193647,27 +194939,19 @@ msgid "" "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" +"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" +"Time: 5 days \n" msgstr "" #: src/faction_camp.cpp @@ -193682,14 +194966,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -193704,15 +194988,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -193727,13 +195011,83 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "" + +#: 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" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign Jobs" msgstr "" #: src/faction_camp.cpp @@ -193746,6 +195100,10 @@ msgid "" "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 "" @@ -193782,10 +195140,6 @@ msgstr "" 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…" msgstr "" @@ -197044,7 +198398,7 @@ msgstr "Bionika eltávolításhoz páciens: %s" #: src/game_inventory.cpp #, c-format msgid "Bionic installation patient: %s" -msgstr "Bionika beültetéséhe páciens: %s" +msgstr "Bionika beültetéséhez páciens: %s" #: src/game_inventory.cpp msgid "You don't have any bionics to install." @@ -201918,20 +203272,20 @@ msgid "" msgstr "* Ez a ruha túl kicsi és nem illik rád." #: src/item.cpp -msgid "can be upsized." -msgstr "nagyobbra szabható." +msgid "can be upsized" +msgstr "" #: src/item.cpp -msgid "can be downsized." -msgstr "kisebbre szabható." +msgid "can be downsized" +msgstr "" #: src/item.cpp -msgid "can not be downsized." -msgstr "nem szabható kisebbre." +msgid "can not be downsized" +msgstr "" #: src/item.cpp -msgid "can not be upsized." -msgstr "nem szabható nagyobbra." +msgid "can not be upsized" +msgstr "" #: src/item.cpp #, c-format @@ -201939,25 +203293,25 @@ msgid "* This clothing %s." msgstr "* Ez a ruha %s." #: src/item.cpp -msgid " and upsized." -msgstr " és nagyobbra van szabva." +msgid " and upsized" +msgstr "" #: src/item.cpp -msgid " and downsized." -msgstr " és kisebbre van szabva." +msgid " and downsized" +msgstr "" #: src/item.cpp -msgid " but not downsized." -msgstr " de nincs kisebbre szabva." +msgid " but not downsized" +msgstr "" #: src/item.cpp -msgid " but not upsized." -msgstr " de nincs nagyobbra szabva." +msgid " but not upsized" +msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." -msgstr "* Ezt a ruhadarabot át lehetne rád szabni%s." +msgid "* This clothing can be refitted%s." +msgstr "" #: src/item.cpp msgid "* This clothing can not be refitted, upsized, or downsized." @@ -202057,6 +203411,12 @@ 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:" @@ -204053,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" @@ -209993,7 +211362,7 @@ 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 @@ -210979,6 +212348,7 @@ msgstr "" msgid "" "Bionic Power: %d/%d" msgstr "" +"Bionikus energia: %d/%d" #: src/memorial_logger.cpp msgid "Weapon:" @@ -212737,26 +214107,19 @@ msgstr "" msgid "You don't have any companions to send out…" msgstr "" -#. ~ %1$s: npc name #: src/mission_companion.cpp -#, c-format -msgctxt "companion" -msgid "%1$s (Guarding)" +msgid "Who do you want to send?" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp -#, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: npc name #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +msgctxt "companion" +msgid "%1$s (Guarding)" msgstr "" #: src/mission_companion.cpp @@ -212765,17 +214128,22 @@ msgctxt "companion ranking" msgid "%s [ %4d : %4d : %4d ]" msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +#, 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 @@ -214664,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" @@ -215188,11 +216551,11 @@ 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!" @@ -215361,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 @@ -215419,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…" 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 @@ -215578,11 +216944,11 @@ msgstr "Összes hangulat:" #: src/morale.cpp msgid "Pain level:" -msgstr "" +msgstr "Fájdalom szintje:" #: src/morale.cpp msgid "Fatigue level:" -msgstr "" +msgstr "Fáradtság szintje:" #: src/morale.cpp msgid "Focus trends towards:" @@ -215699,22 +217065,22 @@ 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 @@ -217883,6 +219249,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" @@ -217981,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." @@ -218677,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" @@ -221821,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!" @@ -221874,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!" @@ -222619,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 -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." @@ -222805,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 @@ -223046,6 +224418,13 @@ msgstr "Kicsit éhes" msgid "Pain " msgstr "Fájdalom " +#. ~ 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…" @@ -224417,10 +225796,6 @@ msgstr "" msgid "none" msgstr "semmi" -#: src/recipe.cpp -msgid "none" -msgstr "semmi" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -225385,6 +226760,10 @@ msgstr "" 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" diff --git a/lang/po/ja.po b/lang/po/ja.po index b5c50937bdf38..1649cdb8379b2 100644 --- a/lang/po/ja.po +++ b/lang/po/ja.po @@ -17,20 +17,20 @@ # T5idr3, 2019 # Dokuo Utuda, 2019 # TEATIME , 2019 -# nobiruneko , 2019 +# nobiruneko, 2019 # Maruyama Ryota , 2019 # zojirushi, 2019 # kanro mizuame , 2019 -# jyo nagaya , 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-11-04 19:23+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" @@ -5445,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" @@ -5492,6 +5505,27 @@ msgid "" "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 "弾薬(火槍)" @@ -7506,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" @@ -8073,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" @@ -8096,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" @@ -8139,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" @@ -8183,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" @@ -8300,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" @@ -8312,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" @@ -9758,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" @@ -10221,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" @@ -14405,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" @@ -14421,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" @@ -14438,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" @@ -14454,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" @@ -14470,8 +14532,8 @@ 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" @@ -14538,7 +14600,7 @@ msgstr[0] "サバイバーウェットスーツグローブ" msgid "" "A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" " wear while providing maximum protection under extreme conditions." -msgstr "ネオプレンをケブラーで補強した特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" +msgstr "ネオプレンをケブラーで補強した特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" #: lang/json/ARMOR_from_json.py msgid "spring suit" @@ -15937,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" @@ -15948,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." @@ -16357,7 +16418,7 @@ 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 @@ -16367,8 +16428,7 @@ msgid "" "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" @@ -16387,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 @@ -21442,6 +21502,20 @@ 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" @@ -21629,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 @@ -21977,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 @@ -22237,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 @@ -22249,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 @@ -22261,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 @@ -22273,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 @@ -22283,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 @@ -22295,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 @@ -22767,7 +22841,7 @@ msgstr "大きな人型生物の胃袋です。耐久性に優れています。 #: lang/json/COMESTIBLE_from_json.py msgid "chunk of human fat" msgid_plural "chunks of human fat" -msgstr[0] "人間の脂肪の塊" +msgstr[0] "人間の脂肪塊" #. ~ Description for chunk of human fat #: lang/json/COMESTIBLE_from_json.py @@ -22871,6 +22945,31 @@ msgid "" 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" @@ -23184,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 @@ -23220,7 +23319,7 @@ msgstr "動物性脂肪を高温で加熱して抽出した、白く滑らかな #: lang/json/COMESTIBLE_from_json.py msgid "chunk of mutant fat" msgid_plural "chunks of mutant fat" -msgstr[0] "変異脂肪の塊" +msgstr[0] "変異脂肪塊" #. ~ Description for chunk of mutant fat #: lang/json/COMESTIBLE_from_json.py @@ -23253,6 +23352,40 @@ msgid "" " 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" @@ -23262,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" @@ -23274,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" @@ -23285,7 +23418,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" @@ -23298,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" @@ -29626,6 +29759,17 @@ msgstr[0] "アンズ" 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 "茎節(サボテン)" @@ -33118,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 "血清(再生)" @@ -35233,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" @@ -38156,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 @@ -38184,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 @@ -38213,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 @@ -38235,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 @@ -46306,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" @@ -48115,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 "" @@ -49012,6 +49206,291 @@ msgstr "着用中" 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" @@ -61601,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" @@ -66924,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. @@ -66945,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" @@ -68312,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" @@ -73015,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 "" @@ -74138,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 "バイクホイール" @@ -74718,7 +75243,7 @@ msgstr "木々との交信" #: lang/json/activity_type_from_json.py msgid "eating" -msgstr "食事" +msgstr "消費" #: lang/json/activity_type_from_json.py msgid "consuming" @@ -75488,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 "ダイヤモンド角膜" @@ -75873,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" @@ -75907,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" @@ -75923,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 @@ -75931,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" @@ -75947,7 +76477,7 @@ msgstr "蓄電容量を100kJ増加させる小型モジュールです。これ #: 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 @@ -76237,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" @@ -77130,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 "床(木)を設置する" @@ -77781,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 "冷蔵庫の電源を改造する" @@ -82492,25 +83038,49 @@ 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 "埃まみれです。既に廃止されており、影響はありません。" +#. ~ 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," @@ -82521,22 +83091,46 @@ msgid "" 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 " @@ -82548,89 +83142,209 @@ msgid "" 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 @@ -83312,8 +84026,7 @@ msgstr "道を封鎖するバリケードです。" 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 "ドン。" @@ -83426,7 +84139,8 @@ msgstr "彫像" msgid "A carved statue made of stone." msgstr "石造りの彫像です。" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "ゴツン。" @@ -83827,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 "バリバリッ!" @@ -83973,7 +84687,7 @@ 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 @@ -84704,6 +85418,17 @@ msgstr "スツール" 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 "掲示板" @@ -85917,6 +86642,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 "ガシャン!" @@ -90885,6 +91619,18 @@ msgid "" 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" @@ -90988,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 " @@ -101576,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 "デーモンキチン" @@ -107861,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 "優れた聴覚" @@ -116564,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" @@ -116579,6 +117345,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 "食堂予定地" @@ -117264,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 "ゴルフ場" @@ -126449,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" @@ -127516,6 +128294,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 " @@ -128363,9 +129317,13 @@ 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 "製作作業場" +msgstr "工作場" #: lang/json/recipe_group_from_json.py msgid " Craft: Tinder" @@ -130006,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" @@ -134582,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 "発電用にエタノールベースの酒が必要なんだ。何かある?" - -#: 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 "エタノール燃焼電源ってのは、私が今まで埋め込んだ中で最高の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." @@ -143685,16 +144629,16 @@ msgid "Clothing Store" msgstr "衣料品店" #: lang/json/talk_topic_from_json.py -msgid "Acolyte." -msgstr "修行者よ。" +msgid "You there. Quiet down. Can you hear it? The song?" +msgstr "そこのお前。静かに。この歌が聞こえるか?" #: lang/json/talk_topic_from_json.py msgid "You're back. Have you come to listen to the song?" msgstr "戻ってきたな。歌を聞きに来たのか?" #: lang/json/talk_topic_from_json.py -msgid "You there. Quiet down. Can you hear it? The song?" -msgstr "そこのお前。静かに。この歌が聞こえるか?" +msgid "Acolyte." +msgstr "修行者よ。" #: lang/json/talk_topic_from_json.py msgid "What? What do you mean? What song?" @@ -143847,38 +144791,38 @@ msgid "Yeah, alright." 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 "Do you believe you can take on the burden of additional bones?" -msgstr "これ以上の骨をお前に負担させられると思っているのか?" - -#: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -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 "There is an additional song you could take on, if you'd like." 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 "A song may yet be sung by you, should you wish to." msgstr "お前が望むなら、歌うこともできるだろう。" #: lang/json/talk_topic_from_json.py -msgid "An acolyte should not take on too many songs at once." -msgstr "修行者は一度に多くの歌を歌うべきではない。" +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 " @@ -143944,16 +144888,16 @@ 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." +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 "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 "そう言ってもらえると嬉しいよ。さあ行こう。" @@ -144325,16 +145269,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 "ここで何をしているんだ?" @@ -144408,24 +145352,24 @@ msgstr "" "ああ、私のように街で立て籠もってる奴がいる。何度か取引をしたが...たまに知らない放浪者も来て、自分が置き去りにしたものより良い商品がないかとチェックしているな。" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "やめろ、おい やめろ..." +msgid "Anything to do before I go to sleep?" +msgstr "寝入る前にやっておくことでもあるのか?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "眠らせてくれよ、 !" +msgid "Just few minutes more..." +msgstr "あと5分..." #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "まだ眠いんだ、すぐにでも寝直したいよ。" #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "あと5分..." +msgid "Just let me sleep, !" +msgstr "眠らせてくれよ、 !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "寝入る前にやっておくことでもあるのか?" +msgid "No, just no..." +msgstr "やめろ、おい やめろ..." #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -144435,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 "戦闘時の指示を出したい。" @@ -144823,14 +145767,14 @@ msgstr "その場に留まってくれ。" msgid "Show me what needs to be done at the camp." 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 "私は現在は何の行動もしていない。" +#: lang/json/talk_topic_from_json.py +msgid "I'm currently ." +msgstr "私は現在、をしている。" + #: lang/json/talk_topic_from_json.py msgid "I meant what are your goals?" msgstr "今の仕事は何だ?" @@ -144891,14 +145835,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 " @@ -144909,32 +145853,32 @@ 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 "その、今はかなり体調が悪いんだけど...それでもやるのか?" -#: 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, ? " -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?" 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, ? " +msgstr "よし、そうだな、私の依頼をたくさん引き受けてくれてありがとう!それで、の調子はどう?" + #: lang/json/talk_topic_from_json.py msgid "" "Now, we've got a moment, I was just thinking it's been a month or so " @@ -145006,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 "落ち着けよ。君を傷付けるつもりはないよ。" @@ -145067,20 +146011,20 @@ msgid "I don't care." 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 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 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 have another job for you. Want to hear about it?" -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." @@ -145099,14 +146043,14 @@ msgstr "ああ、分かったよ。" msgid "Never mind, I'm not interested." msgstr "いいや、興味ないね。" -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "どの依頼の話だ?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "何だ?" +#: lang/json/talk_topic_from_json.py +msgid "Which job?" +msgstr "どの依頼の話だ?" + #: lang/json/talk_topic_from_json.py msgid "You're not working on anything for me now." msgstr "頼んでいる仕事は今のところ何もないよ。" @@ -145320,48 +146264,48 @@ msgid "Thanks!" msgstr "ありがとう!" #: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "相棒、運転に集中してくれ!" +msgid "I have some reason for not telling you." +msgstr "ちょっと理由があって話せないんだ。" #: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "運転に集中させてくれ!" +msgid "Nothing comes to my mind now. Ask me later perhaps?" +msgstr "今は何も思いつかないな。後でまた聞いてくれる?" #: lang/json/talk_topic_from_json.py -msgid "I'm too thirsty, give me something to drink." -msgstr "すごく喉が渇いたよ。何か飲みたいな。" +msgid "I'm too tired, let me rest first." +msgstr "すごく疲れたよ。休ませてほしいな。" #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "すごくお腹が空いたよ。何か食べたいな。" #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "すごく疲れたよ。休ませてほしいな。" +msgid "I'm too thirsty, give me something to drink." +msgstr "すごく喉が渇いたよ。何か飲みたいな。" #: lang/json/talk_topic_from_json.py -msgid "Nothing comes to my mind now. Ask me later perhaps?" -msgstr "今は何も思いつかないな。後でまた聞いてくれる?" +msgid "I must focus on the road!" +msgstr "運転に集中させてくれ!" #: lang/json/talk_topic_from_json.py -msgid "I have some reason for not telling you." -msgstr "ちょっと理由があって話せないんだ。" +msgid "Focus on the road, mate!" +msgstr "相棒、運転に集中してくれ!" #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "あぁ、分かった。" #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "抗生物質さえあれば..." +msgid "Why should I travel with you?" +msgstr "何故、君と一緒に旅をする必要があるんだ?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "さっき言ったはずだけど...またいつか誘ってくれよ。" #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "何故、君と一緒に旅をする必要があるんだ?" +msgid "Not until I get some antibiotics..." +msgstr "抗生物質さえあれば..." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -145452,20 +146396,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 "車両を運転している間は、ちゃんと訓練できないよ!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "車両を運転している間は、ちゃんと訓練できないよ!" +msgid "I have some reason for denying you training." +msgstr "ちょっと理由があって訓練はできないんだ。" #: lang/json/talk_topic_from_json.py 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 "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!" @@ -145503,14 +146447,14 @@ msgstr "自分について語りたくはないんだ。" msgid "I understand…" msgstr "そうか..." -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "今はもう何もないんだ。また今度にしてくれ。" - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "どうして持ち物をあげないといけないんだ?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "今はもう何もないんだ。また今度にしてくれ。" + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "ああ、分かったよ。" @@ -145653,16 +146597,16 @@ msgstr "これからもよろしく頼むよ!" msgid "You might be seeing more of me…" msgstr "これからもよろしく..." -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "ワ...私は自由だ。*ザザザザ* 自由なんだ!*ブブブ* 久しぶりに人と会えたよ。" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "また会ったな。*ザザザザ*" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "やあ。少し話をしようか。" @@ -146592,28 +147536,28 @@ 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." -msgstr "やあ、友よ。会えて嬉しいよ。" +msgid "Greeting citizen, what brings you to the FoodLair?" +msgstr "ごきげんよう、どうやってフードパーソンの隠れ家にたどり着いたのかな?" #: lang/json/talk_topic_from_json.py -msgid "So you're back... Explain yourself!" -msgstr "戻ってきたな...説明してもらおうか!" +msgid "Still here? Take your time, it's rough out there." +msgstr "まだいたの?ごゆっくり。外は危ないからね。" #: lang/json/talk_topic_from_json.py -msgid "What sorcery is this?" -msgstr "これはどんな魔法なんだ?" +msgid "Greetings friend, it's nice to see you." +msgstr "やあ、友よ。会えて嬉しいよ。" #: lang/json/talk_topic_from_json.py msgid "Welcome home Foodkid!" msgstr "おかえりなさい、フードキッド!" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." -msgstr "まだいたの?ごゆっくり。外は危ないからね。" +msgid "What sorcery is this?" +msgstr "これはどんな魔法なんだ?" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" -msgstr "ごきげんよう、どうやってフードパーソンの隠れ家にたどり着いたのかな?" +msgid "So you're back... Explain yourself!" +msgstr "戻ってきたな...説明してもらおうか!" #: lang/json/talk_topic_from_json.py msgid "Greetings… Foodperson?" @@ -148020,10 +148964,6 @@ msgid "" msgstr "" "軍隊さ。軍人がやってきて、私の土地を徴発して前進基地を作り、私にはFEMAキャンプへ避難するよう求めたんだ。私は何も言い返さなかった。私は父の古い狩猟用ライフルを持っていたけど、相手は最新装備だからね。軍人の一人が、FEMAキャンプはアウシュビッツだなんて冗談を言っているのを聞いた。私は移送車両から逃げ出して、姉が住んでいる北部へ向かったんだ。理屈の上では、まだ北部へ進めていると思うんだけど、正直なところ、今は生き延びるのに必死なんだ。" -#: 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 blur." @@ -148032,9 +148972,10 @@ 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 "" -"事が起こった時、私は病院で働いていたんだ。まだ記憶がぼんやりしているな。死んだ患者が蘇るなんて突拍子もない報告が届いたりしたが、それ以外はいつも通り仕事をしていたよ。でも事態は終わりに向かって急転したんだ。中国から攻撃されたと思った。前から噂はあったからな。患者たちは正気を失っていて、全身が銃創や咬傷まみれだった。シフトの中頃で、私は...そう、壊れてしまったんだ。" +"事が起こった時、私は病院で働いていたんだ。まだ記憶がぼんやりしているな。死んだ患者が蘇るなんて突拍子もない報告が届いたりしたが、それ以外はいつも通り仕事をしていたよ。でも事態は終わりに向かって急転したんだ。中国から攻撃されたと思った。前から噂はあったからな。患者たちは正気を失っていて、全身が銃創や咬傷まみれだった。シフトの中ほどで、私は...そう、壊れた。今までに見たこともないような怪我ばかりだったし、それに...!これ以上は話せないよ。" #: lang/json/talk_topic_from_json.py msgid "" @@ -148044,10 +148985,13 @@ 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 +msgid "I just can't talk about that right now. I can't." +msgstr "無理だ。今は話せないよ。" #: lang/json/talk_topic_from_json.py msgid "It might help to get it off your chest." @@ -148403,17 +149347,17 @@ 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 "" -"夫は私と共に避難していたんだけど、君に会う数日前に、、植物のような化け物に食われたよ。あんなに衝撃を受けたのは生まれて初めてだ。" +"妻は私と共に避難していたんだけど、君に会う数日前に、、植物のような化け物に食われたよ。あんなに衝撃を受けたのは生まれて初めてだ。" #: 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 "I'm sorry to hear it." @@ -148475,9 +149419,8 @@ msgid "I'm sorry you lost someone." msgstr "人を亡くしていたんだったな、すまない。" #: lang/json/talk_topic_from_json.py -msgid "" -"I said, I don't wanna talk about it. How are you not understanding this?" -msgstr "言ったよな、話したくないって。どうして分かってくれないんだ?" +msgid "Just another tale of love and loss. Not one I like to tell." +msgstr "ありきたりな愛と喪失の物語だよ。その話はしたくないんだ。" #: lang/json/talk_topic_from_json.py msgid "" @@ -148486,8 +149429,9 @@ msgid "" msgstr "さっきも言ったが、これは話だ。でも、語ったからと言って私が死ぬことはないだろう。" #: lang/json/talk_topic_from_json.py -msgid "Just another tale of love and loss. Not one I like to tell." -msgstr "ありきたりな愛と喪失の物語だよ。その話はしたくないんだ。" +msgid "" +"I said, I don't wanna talk about it. How are you not understanding this?" +msgstr "言ったよな、話したくないって。どうして分かってくれないんだ?" #: lang/json/talk_topic_from_json.py msgid "You said you lost someone." @@ -148510,39 +149454,39 @@ 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 him." -msgstr "分かった、話すよ。大事な男がいた。そいつを失った。" - #: lang/json/talk_topic_from_json.py msgid "All right, fine. I had someone. I lost her." msgstr "分かった、話すよ。大事な女がいた。そいつを失った。" +#: lang/json/talk_topic_from_json.py +msgid "All right, fine. I had someone. I lost him." +msgstr "分かった、話すよ。大事な男がいた。そいつを失った。" + #: 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 "" -"爆弾が投下されて地表が地獄になった時、彼は家にいて、私は仕事中だった。家に帰ろうとしたけど、市街地は交戦区域になっていた。得体のしれない怪物が通りをのろのろ進み、車を破壊していた。軍隊はそいつらを止めようとしていたが、十字砲火で市民も被害を受けた。巻き添えの被害者が蘇り、敵の群れに加わった。夫を家に残していなかったら、私もすぐに逃げただろう。できる限りの事はしたが、手遅れだった。結局、、私は生き残った。" +"爆弾が投下されて地表が地獄になった時、彼女は家にいて、私は仕事中だった。家に帰ろうとしたけど、市街地は交戦区域になっていた。得体のしれない怪物が通りをのろのろ進み、車を破壊していた。軍隊はそいつらを止めようとしていたが、十字砲火で市民も被害を受けた。巻き添えの被害者が蘇り、敵の群れに加わった。妻を家に残していなかったら、私もすぐに逃げただろう。できる限りの事はしたが、手遅れだった。結局、、私は生き残った。" #: 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 "" -"爆弾が投下されて地表が地獄になった時、彼女は家にいて、私は仕事中だった。家に帰ろうとしたけど、市街地は交戦区域になっていた。得体のしれない怪物が通りをのろのろ進み、車を破壊していた。軍隊はそいつらを止めようとしていたが、十字砲火で市民も被害を受けた。巻き添えの被害者が蘇り、敵の群れに加わった。妻を家に残していなかったら、私もすぐに逃げただろう。できる限りの事はしたが、手遅れだった。結局、、私は生き残った。" +"爆弾が投下されて地表が地獄になった時、彼は家にいて、私は仕事中だった。家に帰ろうとしたけど、市街地は交戦区域になっていた。得体のしれない怪物が通りをのろのろ進み、車を破壊していた。軍隊はそいつらを止めようとしていたが、十字砲火で市民も被害を受けた。巻き添えの被害者が蘇り、敵の群れに加わった。夫を家に残していなかったら、私もすぐに逃げただろう。できる限りの事はしたが、手遅れだった。結局、、私は生き残った。" #: lang/json/talk_topic_from_json.py msgid "You must have seen some shit." @@ -148594,28 +149538,28 @@ 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 "" -"ああ。入る隙を見つけるのに数時間粘ったよ。どんな酷いことがあったか知りたいか?全部話そうか?夫は生きていた。地下室で、倒壊した床の下敷きになったままでね。酷い失血だった。私が見つけた時には既にもうろうとしていた。救出は無理だったから、彼に食べ物と水をあげて、ずっと一緒にいた。死ぬときまで手を握っていた。それから...うん、今の状況で、死者に対してやっておかないといけない処置をした。残った部位はしまっておいた。今後も振り返ることは決してないだろう。" +"ああ。入る隙を見つけるのに数時間粘ったよ。どんな酷いことがあったか知りたいか?全部話そうか?妻は生きていた。地下室で、倒壊した床の下敷きになったままでね。酷い失血だった。私が見つけた時には既にもうろうとしていた。救出は無理だったから、彼女に食べ物と水をあげて、ずっと一緒にいた。死ぬときまで手を握っていた。それから...うん、今の状況で、死者に対してやっておかないといけない処置をした。残った部位はしまっておいた。今後も振り返ることは決してないだろう。" #: 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 "" -"ああ。入る隙を見つけるのに数時間粘ったよ。どんな酷いことがあったか知りたいか?全部話そうか?妻は生きていた。地下室で、倒壊した床の下敷きになったままでね。酷い失血だった。私が見つけた時には既にもうろうとしていた。救出は無理だったから、彼女に食べ物と水をあげて、ずっと一緒にいた。死ぬときまで手を握っていた。それから...うん、今の状況で、死者に対してやっておかないといけない処置をした。残った部位はしまっておいた。今後も振り返ることは決してないだろう。" +"ああ。入る隙を見つけるのに数時間粘ったよ。どんな酷いことがあったか知りたいか?全部話そうか?夫は生きていた。地下室で、倒壊した床の下敷きになったままでね。酷い失血だった。私が見つけた時には既にもうろうとしていた。救出は無理だったから、彼に食べ物と水をあげて、ずっと一緒にいた。死ぬときまで手を握っていた。それから...うん、今の状況で、死者に対してやっておかないといけない処置をした。残った部位はしまっておいた。今後も振り返ることは決してないだろう。" #: lang/json/talk_topic_from_json.py msgid "" @@ -149287,27 +150231,27 @@ 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." msgstr "" -"私は郊外の古い家に一人で住んでいたんだ。夫は、こんなことが起こる1か月くらい前に死んだ...ガンだった。結果的にそれが最善だったのだとしても、彼はあまりにも早く旅立ってしまった。そういうことがあって、私はしばらく引きこもっていたんだ。テレビのニュースでは中国の生体兵器や潜伏スパイ、ボストンや各地で起こる暴動の話題が流れていたけど、チャンネルを変えて、缶詰のスープを抱えながら縮こまっていた。" +"私は郊外の古い家に一人で住んでいたんだ。妻は、こんなことが起こる1か月くらい前に死んだ...ガンだった。結果的にそれが最善だったのだとしても、彼女はあまりにも早く旅立ってしまった。そういうことがあって、私はしばらく引きこもっていたんだ。テレビのニュースでは中国の生体兵器や潜伏スパイ、ボストンや各地で起こる暴動の話題が流れていたけど、チャンネルを変えて、缶詰のスープを抱えながら縮こまっていた。" #: 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." msgstr "" -"私は郊外の古い家に一人で住んでいたんだ。妻は、こんなことが起こる1か月くらい前に死んだ...ガンだった。結果的にそれが最善だったのだとしても、彼女はあまりにも早く旅立ってしまった。そういうことがあって、私はしばらく引きこもっていたんだ。テレビのニュースでは中国の生体兵器や潜伏スパイ、ボストンや各地で起こる暴動の話題が流れていたけど、チャンネルを変えて、缶詰のスープを抱えながら縮こまっていた。" +"私は郊外の古い家に一人で住んでいたんだ。夫は、こんなことが起こる1か月くらい前に死んだ...ガンだった。結果的にそれが最善だったのだとしても、彼はあまりにも早く旅立ってしまった。そういうことがあって、私はしばらく引きこもっていたんだ。テレビのニュースでは中国の生体兵器や潜伏スパイ、ボストンや各地で起こる暴動の話題が流れていたけど、チャンネルを変えて、缶詰のスープを抱えながら縮こまっていた。" #: lang/json/talk_topic_from_json.py msgid "" @@ -149387,18 +150331,18 @@ msgstr "バックは気の毒だったな。" msgid "I'm sorry about Buck. " 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." -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." 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." +msgstr "さっき言った通り、話をしてほしいなら、ウイスキーを奢るんだな。ひと瓶すべてだ、頼んだよ。" + #: 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 " @@ -149717,16 +150661,6 @@ msgid "" msgstr "" "それを見た後、私はUターンして逃げ出したんだ。前にゾンビ映画で見たからね。家に帰って荷物をまとめて、事態がさらに悪化する前に街を出たよ。その時は自分がひどい臆病者だと思ったけど、他人を助けるために残っても、自分が死体の仲間入りするだけだからね。" -#: 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 " -"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ée " @@ -149738,17 +150672,27 @@ msgstr "" "まぁ、変な話だけど希望が消えてないからね。馬鹿げた話だけど、婚約者と彼女の兄が教会から軽トラックで逃げ出すのを確かに見たんだ。だから、機会があればまた会えると信じて、それまで生き延びようと思ってる。これが大きな希望になっているんだ。" #: lang/json/talk_topic_from_json.py -msgid "What were you saying before that?" -msgstr "前の話をもう一度聞かせてもらえないかな?" +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 " +"than most of us have." +msgstr "" +"まぁ、変な話だけど希望が消えてないからね。馬鹿げた話だけど、婚約者と彼の姉が教会から軽トラックで逃げ出すのを確かに見たんだ。だから、機会があればまた会えると信じて、それまで生き延びようと思ってる。これが大きな希望になっているんだ。" #: lang/json/talk_topic_from_json.py -msgid "Hey, ." -msgstr "やあ、。" +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..." msgstr "幻覚じゃないよな。ここから出してくれ..." +#: lang/json/talk_topic_from_json.py +msgid "Hey, ." +msgstr "やあ、。" + #: lang/json/talk_topic_from_json.py msgid "I've come to take you home, lets go." msgstr "あなたを家に連れ帰りに来たんだ、行こう。" @@ -149772,18 +150716,18 @@ 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." -msgstr "バッジを着けているな。ここの土地には入らず、そのまま去った方がいい。" +msgid "Hello Ma'am, what brings you here?" +msgstr "やあお客さん、何しに来たんだ?" #: lang/json/talk_topic_from_json.py msgid "Hello Sir, what brings you here?" msgstr "やあお客さん、何しに来たんだ?" #: lang/json/talk_topic_from_json.py -msgid "Hello Ma'am, what brings you here?" -msgstr "やあお客さん、何しに来たんだ?" +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 msgid "Yeah, I'm a Marshal, what are you going to do about it?" @@ -149858,16 +150802,16 @@ msgstr "鍛冶場は稼働しているのか?" msgid "Where can I find Chris?" msgstr "クリスにはどこで会える?" +#: lang/json/talk_topic_from_json.py +msgid "Hi, what's up?" +msgstr "やあ、調子はどう?" + #: lang/json/talk_topic_from_json.py 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 "Hi, what's up?" -msgstr "やあ、調子はどう?" - #: lang/json/talk_topic_from_json.py msgid "" "Hi, Your dad asked me to come find you, said you've been looking for your " @@ -149964,16 +150908,16 @@ msgid "" msgstr "さっきルークから聞いたんだけど、世界の崩壊について興味深い考えを持っているようだな。" #: lang/json/talk_topic_from_json.py -msgid "Is that a U.S. Marshal's badge you're wearing?" -msgstr "あなたが着けているのは、合衆国執行官のバッジ?" +msgid "Hi, what brings you here?" +msgstr "やあ、何しに来たんだ?" #: lang/json/talk_topic_from_json.py msgid "Hello, what brings you here?" msgstr "ごきげんよう、何しに来たんだ?" #: lang/json/talk_topic_from_json.py -msgid "Hi, what brings you here?" -msgstr "やあ、何しに来たんだ?" +msgid "Is that a U.S. Marshal's badge you're wearing?" +msgstr "あなたが着けているのは、合衆国執行官のバッジ?" #: lang/json/talk_topic_from_json.py msgid "Yes, I'm a marshal." @@ -150279,14 +151223,14 @@ msgstr "これで全部だ。他のことを聞いてもいいか?" msgid "That's all for now. I'd best get going." msgstr "これで全部だ。そろそろ行くよ。" -#: lang/json/talk_topic_from_json.py -msgid "Leave our property, Marshal." -msgstr "執行官、うちの土地から出て行け。" - #: lang/json/talk_topic_from_json.py msgid "Hello, We don't see many people these days." msgstr "ごきげんよう、最近はあまり人を見かけないな。" +#: lang/json/talk_topic_from_json.py +msgid "Leave our property, Marshal." +msgstr "執行官、うちの土地から出て行け。" + #: lang/json/talk_topic_from_json.py msgid "Hi, it looks like you are doing well here." msgstr "やあ、ここで上手くやっているようだな。" @@ -150415,14 +151359,14 @@ msgid "" 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 "やぁ。" +#: 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 "あなたのお父さんから、ここを修繕していると聞いた。" @@ -150492,8 +151436,10 @@ 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 "執行官、手伝いに来てくれたんだな。" +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 "" @@ -150502,10 +151448,8 @@ msgid "" 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 "執行官、どうやってここまで来たのか知らんが、身動きが取れるうちにここを脱出した方がいいぞ。" +msgid "Marshal, I hope you're here to assist us." +msgstr "執行官、手伝いに来てくれたんだな。" #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -150568,16 +151512,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "何にせよ彼らはそうせざるを得ない。我々が生きているんだからな..." #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "執行官、こんなところで会うとは驚いた。" +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "あなたにここでの指揮権は無い... 他に行く場所があるのでは?" #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "あなたにここでの指揮権は無い... 他に行く場所があるのでは?" #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "あなたにここでの指揮権は無い... 他に行く場所があるのでは?" +msgid "Marshal, I'm rather surprised to see you here." +msgstr "執行官、こんなところで会うとは驚いた。" #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -150614,22 +151558,6 @@ msgid "" msgstr "" "大尉が使いを送ってくれるのを待っていた。これが目当ての品だ。このままでは周波数しか分からないし、通信内容のほとんどはここの設備を修理するか交換しないと解読できない。万が一施設を放棄しなければならなくなった時、連邦の機密を守り完全な通信網を保つための手続きとして、暗号化装置は破壊されるんだ。ほんの少しでもメッセージ内容を取り出せれば良いのだが。" -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "やあ、執行官。" - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "執行官、悪いですが今はお話できません。" - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "私はここの担当者ではないよ、執行官。" - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "ご質問は上の者にどうぞ、執行官。" - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "よう... ここで何してるんだ。" @@ -150642,6 +151570,14 @@ msgstr "こっちをジロジロ見るな。ここには何も無いよ。" msgid "If you need something you'll need to talk to someone else." msgstr "何が欲しいのか知らんが他を当たりな。" +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "お嬢さん。" + +#: lang/json/talk_topic_from_json.py +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 "Sir." msgstr "よお旦那。" @@ -150651,12 +151587,20 @@ msgid "Dude, if you can hold your own you should look into enlisting." msgstr "お前、自分の能力に自信があるなら、新人採用の担当を探してみたらどうだ。" #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "お嬢さん。" +msgid "Hello, 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?" -msgstr "お嬢さん、俺と一緒に居たほうが安全だとは思わないか?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "執行官、悪いですが今はお話できません。" + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "私はここの担当者ではないよ、執行官。" + +#: lang/json/talk_topic_from_json.py +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…" @@ -150713,15 +151657,14 @@ 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 "頼む、助けてくれ。食料が必要なんだ。" #: 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?" -msgstr "こんな事を言ってしまうのは申し訳ないが...あなたが十分な食料を持っているとは思えないな?" +"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 "Thank you again. I really appreciate the food." @@ -150729,13 +151672,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?" -msgstr "頼む、助けてくれ。食料が必要なんだ。執行官なんだろう?手伝ってもらえないか?" +"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 -msgid "Please, help me. I need food." -msgstr "頼む、助けてくれ。食料が必要なんだ。" +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "他の人も説得して、愉快な仲間に加えられたか?" #: lang/json/talk_topic_from_json.py msgid "" @@ -150754,16 +151698,16 @@ 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." -msgstr "中には入れてもらえないよ。もう満員だそうだ。きちんと清潔にして騒ぎを起こさないことを条件に、ここで寝泊まりを許されているんだ。" +"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 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." -msgstr "" -"中に入れてもらえないんだ。もう満員だって言われてさ。ここを汚さず大騒ぎしないなら、寝泊りしていいとは言われたんだ。でも、ものすごくお腹が空いてるんだよ。" +"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 "Why don't you scavenge your own food?" @@ -150865,16 +151809,16 @@ msgid "" 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 "安全は保障する。目的地までちゃんと連れて行くよ。" @@ -150958,16 +151902,16 @@ msgstr "その恐竜の着ぐるみは何かの冗談か?" 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 "他のことを聞いてもいいか?" @@ -151059,13 +152003,6 @@ msgid "" "have shields up, to protect ourselves." 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?" -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." @@ -151073,6 +152010,13 @@ msgid "" "keep me going." 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?" +msgstr "" +"そうだな...欲しいものは全部揃ったが、他の人は去ってしまったし、ここに聖域を作ることは禁止されたんだ。私が安らげる場所を探すのを手伝ってくれないか?" + #: lang/json/talk_topic_from_json.py msgid "" "Why don't you leave this place? Come with me, I could use some help out " @@ -151090,16 +152034,20 @@ msgid "" msgstr "嫌だ!せっかく準備が整ったのに。ここを出て行かないよ、まだその時じゃない。全部揃ったんだ!" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "失せろ、クソったれ。" +msgid "Don't bother with these assholes." +msgstr "そこのろくでなし共は放っておけ。" #: lang/json/talk_topic_from_json.py -msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" -msgstr "よぉ。ここのバス停からあんたのテント街に引っ越したがる奴は見つかったか?" +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." -msgstr "やあ、また会えて嬉しいよ。" +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 "" @@ -151108,20 +152056,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?" -msgstr "" -"おい、前はキレてしまって申し訳ない。あんたはクソったれかも知れんが、誤解があったのかもしれない。血糖値がどん底なんだ。キレやすくなってる。分かったか?" +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." -msgstr "やぁ、クソったれじゃない奴。また会えて嬉しいよ。" +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 "そこのろくでなし共は放っておけ。" +msgid "Fuck off, dickwaddle." +msgstr "失せろ、クソったれ。" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -151422,6 +152366,12 @@ 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 " @@ -151431,12 +152381,6 @@ msgid "" 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 "ちょうど真菌の組織片を持っていたんだ。" @@ -151485,14 +152429,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 "よぉ、適者生存って言葉は好きか?" +#: 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 "どうしてそんな事を聞くんだ?" @@ -151509,18 +152453,18 @@ 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. " "Help a poor sickly soul out?" 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 "I could maybe help you out… want something to eat?" msgstr "助けになればいいんだけど...何か食べる物が必要か?" @@ -151541,15 +152485,15 @@ msgstr "体調が悪いのに、どうやってここまで来たんだ?" msgid "Why are you camped out here if they won't let you in?" msgstr "中に入れてもらえないにしても、どうしてここで寝泊りしているんだ?" -#: lang/json/talk_topic_from_json.py -msgid "That's awful kind of you, you really are a wonderful person." -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." msgstr "おいおい!本当に親切な人だな?気持ちだけで十分だよ。" +#: lang/json/talk_topic_from_json.py +msgid "That's awful kind of you, you really are a wonderful person." +msgstr "それは素晴らしい提案だ。本当に親切な人だな。" + #: lang/json/talk_topic_from_json.py msgid "" "It's good to know there are still people like you in the world, it really " @@ -151693,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." @@ -151837,6 +152781,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 "あっ、えぇと...こんにちは。知らない人だ。私はアリーシャ。" + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "こんにちは。" @@ -151853,10 +152801,6 @@ 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 "ごきげんよう、お嬢ちゃん。調子はどう?" @@ -151874,16 +152818,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 "お嬢ちゃんは止めてくれる?もう16歳なんだから。" +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "お嬢ちゃんは止めてくれる?もう14歳なんだから。" #: lang/json/talk_topic_from_json.py msgid "I'm not a kid, okay? I'm fifteen." msgstr "お嬢ちゃんは止めてくれる?もう15歳なんだから。" #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm fourteen." -msgstr "お嬢ちゃんは止めてくれる?もう14歳なんだから。" +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "お嬢ちゃんは止めてくれる?もう16歳なんだから。" #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -151893,6 +152837,15 @@ 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 " @@ -151903,15 +152856,6 @@ msgid "" msgstr "" "ここでバカみたいにぼんやり立ってるだけだよ。下の階の避難所に行けるのをもう1か月以上も待ってる。信じられない。こんな所で何してるんだろう。全部の本を読んじゃったし、外にはゾンビがいるから出られない。夜になると奴らの声が聞こえるんだ。" -#: 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 " @@ -151956,8 +152900,9 @@ msgid "How are things here?" msgstr "調子はどうだ?" #: lang/json/talk_topic_from_json.py -msgid "Hello again, gorgeous" -msgstr "また会ったね、お洒落さん。" +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 msgid "" @@ -151966,9 +152911,8 @@ msgid "" 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." -msgstr "ああ、何と麗しいレディだろう、お会いできて光栄です。皆は私をアロンソと呼んでいるよ。" +msgid "Hello again, gorgeous" +msgstr "また会ったね、お洒落さん。" #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Alonso." @@ -151995,11 +152939,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 " @@ -152007,16 +152946,21 @@ msgid "" msgstr "今、あなたがここにいる、それが全てだ。*君のためになること*...それ以外アロンソにできることはないよ?" #: lang/json/talk_topic_from_json.py -msgid "You know me, I gotta be me, right?" -msgstr "私と君とは顔見知りだ。今更そんな話か?" +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 "私と君とは顔見知りだ。今更そんな話か?" + #: 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 "" @@ -152024,7 +152968,7 @@ 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 "" @@ -152054,6 +152998,13 @@ 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 " @@ -152062,10 +153013,9 @@ 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 "" -"アロンソは過去について話さない。未来の事だけを話す。これから先も暗い日々が待ち受けているだろうが、一緒に居れば少しでも光明が見えてくると思わないか?" +"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 msgid "" @@ -152074,10 +153024,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 "あぁ、また見ない顔だ。こんにちは。私の名はボリスだ。" #: lang/json/talk_topic_from_json.py msgid "Well, well. I'm glad you are back." @@ -152091,10 +153039,6 @@ 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 "はじめまして、ボリス。" @@ -152165,13 +153109,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 " @@ -152183,6 +153120,13 @@ msgid "" 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 " @@ -152212,6 +153156,10 @@ msgstr "探してほしいと言っていたサワー種スターターについ 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 "こんにちは、私はダナ。よろしくね、新入りさん。" + #: lang/json/talk_topic_from_json.py msgid "Hello, nice to see you again." msgstr "こんにちは、また会えて嬉しいよ。" @@ -152220,10 +153168,6 @@ msgstr "こんにちは、また会えて嬉しいよ。" msgid "It's good to see you're still around." msgstr "君がまだ生きていて安心したよ。" -#: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." -msgstr "こんにちは、私はダナ。よろしくね、新入りさん。" - #: lang/json/talk_topic_from_json.py msgid "Dana, hey? Nice to meet you." msgstr "やあ、ダナ。会えて嬉しいよ。" @@ -152274,9 +153218,12 @@ 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." -msgstr "悪いけど、まだ出来上がっていないんだ。ちゃんと取っておくけど、腐りやすいものだから1日か2日経ったらまた来てくれ。" +"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 "" +"たまにね。到着してすぐサワー種スターターを手に入れて、まずまずのパンを焼いているよ。昨日もパンを焼いてみたんだ。8袋分の穀粉を持ってきてくれたら、焼き立てのパンと交換してあげよう。" #: lang/json/talk_topic_from_json.py msgid "" @@ -152286,12 +153233,9 @@ msgstr "8袋分の穀粉を持ってきてくれたら、パンと交換する #: 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." -msgstr "" -"たまにね。到着してすぐサワー種スターターを手に入れて、まずまずのパンを焼いているよ。昨日もパンを焼いてみたんだ。8袋分の穀粉を持ってきてくれたら、焼き立てのパンと交換してあげよう。" +"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 "悪いけど、まだ出来上がっていないんだ。ちゃんと取っておくけど、腐りやすいものだから1日か2日経ったらまた来てくれ。" #: lang/json/talk_topic_from_json.py msgid "That sounds like a great deal, here's some flour for you." @@ -152313,6 +153257,12 @@ msgid "" 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 " @@ -152335,12 +153285,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" @@ -152372,10 +153316,6 @@ msgid "" msgstr "" "空気が張り詰めてるよ。望んで集まったわけじゃないから、実際に生活してみると気に入らない事もある。ジェニーとファティマは好きだし3人で仲良く過ごせることは嬉しいけど、狭いスペースに赤の他人が詰め込まれてるストレスが消えるわけじゃない。見てな、そのうち殺し合いでも起きるんじゃないかな。" -#: 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" @@ -152384,6 +153324,10 @@ msgid "" 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 " @@ -152422,16 +153366,16 @@ msgid "" 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 "はじめまして、ドラコ。" @@ -152672,15 +153616,15 @@ msgstr "何か手伝おうか?" 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." +msgstr "なぁ、新しいギターがあればどんな楽しいことが起こるか想像してみなよ。" + #: lang/json/talk_topic_from_json.py msgid "" "My savior! My patron of the arts! You're always welcome here, friend." msgstr "我が救世主よ!我が芸術のパトロンよ!いつでも歓迎するよ。" -#: lang/json/talk_topic_from_json.py -msgid "Man, just imagine what I could do with a new guitar." -msgstr "なぁ、新しいギターがあればどんな楽しいことが起こるか想像してみなよ。" - #: lang/json/talk_topic_from_json.py msgid "Let's talk about getting you that guitar." msgstr "ギターが欲しいって事について話そう。" @@ -152774,12 +153718,6 @@ msgstr "手伝おう。" msgid "Find somebody else, dude." 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." -msgstr "ああ、でも心配しないで。今のところは大丈夫だ。もう少し資金を集めておくから、後でまた来てくれ。" - #: lang/json/talk_topic_from_json.py msgid "" "Amazing! My lucky day. Let's see here. What can I offer... I can scrounge" @@ -152787,6 +153725,12 @@ msgid "" "stuff." msgstr "素晴らしい!今日はツイてるな。さてと。取り引きできるのは...ジョイント5個かそれと同等のブツを渡してくれたら、マーチをいくらか支払おう。" +#: 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." +msgstr "ああ、でも心配しないで。今のところは大丈夫だ。もう少し資金を集めておくから、後でまた来てくれ。" + #: lang/json/talk_topic_from_json.py msgid "You have yourself a deal. Here's the marijuana." msgstr "よし乗った。マリファナを渡すよ。" @@ -152835,6 +153779,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 "また会ったな。" @@ -152847,12 +153797,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 "こちらこそよろしく、ファティマ。私はただの通りすがりだ。" @@ -152919,6 +153863,10 @@ msgid "" msgstr "" "緊張してる。自分の技能を活かせる仕事が見つかるか、静かに祈る場所があれば、もう少し穏やかに過ごせるんだけどね。公共のスペースで祈るのはちょっと照れ臭いんだ。ジェニーが私の技能を役立てられるプロジェクトがあるって話してくれたけど、外に出るのはどうしても緊張するな。" +#: lang/json/talk_topic_from_json.py +msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." +msgstr "やあ、やあ。私はギャリー、ギャリー・ビルヌーブだ。" + #: lang/json/talk_topic_from_json.py msgid "Well, hello." msgstr "ああ、こんにちは。" @@ -152927,10 +153875,6 @@ msgstr "ああ、こんにちは。" msgid "Good to see you again." msgstr "また会えて嬉しいよ。" -#: lang/json/talk_topic_from_json.py -msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." -msgstr "やあ、やあ。私はギャリー、ギャリー・ビルヌーブだ。" - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Garry." msgstr "はじめまして、ギャリー。" @@ -152996,6 +153940,12 @@ msgid "" msgstr "" "緊張した空気だが、よく分からない。スタンとボリスと私の3人で固まっているからね。他の人達とも交流した方が良いとは思うんだけどね。センターでの滞在は一時的なものだと思っていたが、もっと長く過ごすことになる気がしてきているんだ。まぁ、長生きできればの話だけど。" +#: 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 "やあ。" @@ -153004,12 +153954,6 @@ msgstr "やあ。" 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 "はじめまして、ガニー。" @@ -153058,15 +154002,15 @@ msgid "" msgstr "" "ここに閉じ込められてる、そうとしか言いようがないよ。ターバンを巻いて内輪で仲良くしてる私たちには、誰も話しかけようとしない。複数で固まってるから、大丈夫だと思ってるんだろうね。パパも同じ考え。ママは決めかねてる感じかな。" -#: lang/json/talk_topic_from_json.py -msgid "Nice to see you again." -msgstr "また会えて嬉しいよ。" - #: lang/json/talk_topic_from_json.py msgid "" "Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." msgstr "こんにちは。あなたと喋るのは初めてかな。私はジェニー、ジェニー・フォセッテだ。" +#: lang/json/talk_topic_from_json.py +msgid "Nice to see you again." +msgstr "また会えて嬉しいよ。" + #: lang/json/talk_topic_from_json.py msgid "Nice meeting you. What are you doing on that computer?" msgstr "初めまして。ノートPCで何をしているんだ?" @@ -153225,6 +154169,16 @@ msgid "" 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 " @@ -153238,16 +154192,6 @@ msgid "" 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 "自由商人について教えて?" @@ -153316,6 +154260,15 @@ msgid "" msgstr "" "ええと、ダナはの直後に、バスの横転事故に遭って、自分自身は運よく生還できたけど赤ちゃんを亡くされたの。彼女とペドロのここでの暮らしは大変なものだったと思うよ。意気投合して友人になれたのは、私にとってもすごく嬉しい事だった。ご主人のペドロは今も塞ぎ込んでる。ペドロは無口だけど良い人だし、打ち解けるとすごく陽気な人だよ。ドラコは気難しい意地悪爺さんだけど、実際はそんなにいい年じゃなくて、あと20年は生きるだろうね。気難しい人は嫌いじゃないよ。音楽の好みも似てるし。アリーシャは素敵な子。皆と仲良くなってたけど、彼女と一番仲が良いのは私かダナかな。" +#: 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 "" +"ボリスとギャリーは確か結婚してたと思う。3人はいつも一緒にいて、何と言うか、ちょっと孤立してるみたいだな。スタンとボリスは兄弟だと思うけど、はっきりとは分からないや。良い人だとは思うけど、口数は少ないね。3人のことはよく分からない。無暗に詮索しない方がいいと思ってるよ。" + #: lang/json/talk_topic_from_json.py msgid "" "I didn't get to know Boris, Garry, and Stan so well for the first while. " @@ -153329,12 +154282,12 @@ 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 "" -"ボリスとギャリーは確か結婚してたと思う。3人はいつも一緒にいて、何と言うか、ちょっと孤立してるみたいだな。スタンとボリスは兄弟だと思うけど、はっきりとは分からないや。良い人だとは思うけど、口数は少ないね。3人のことはよく分からない。無暗に詮索しない方がいいと思ってるよ。" +"あの一家とは全然親しくなれないんだ。家族以外の人間としっかり話すことは決してないし、いつも定位置に座ってパンジャーブ語で会話している。いつも楽しそうにしているし、与えられた仕事はこなすけど、社会的な繋がりはないんだよね。" #: lang/json/talk_topic_from_json.py msgid "" @@ -153348,12 +154301,16 @@ 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 "" -"あの一家とは全然親しくなれないんだ。家族以外の人間としっかり話すことは決してないし、いつも定位置に座ってパンジャーブ語で会話している。いつも楽しそうにしているし、与えられた仕事はこなすけど、社会的な繋がりはないんだよね。" +"ヴァネッサは...そう、素敵な人、だと思う。私をキレさせることはあるけど、一緒に生活してるんだから、あまり苛つかないように気を付けてる。ホェンとライサーはここの運営をやりたがってるみたいだけど、私は政治的な話に関わらず建築資材の事だけ考えるようにしてる。政治の話で何かが改善するとは思えないからね。アロンソは良い人だけど、明らかに私に好意を寄せてる。ここにいる他のあらゆる独身女性にも。こんな小さな集団だと、ちょっと遠慮したいね。ジョンは偏見の塊。彼にも色々あるんだとは思うけど、まだ詳しくは知らないな。" #: lang/json/talk_topic_from_json.py msgid "" @@ -153370,26 +154327,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." -msgstr "" -"ヴァネッサは...そう、素敵な人、だと思う。私をキレさせることはあるけど、一緒に生活してるんだから、あまり苛つかないように気を付けてる。ホェンとライサーはここの運営をやりたがってるみたいだけど、私は政治的な話に関わらず建築資材の事だけ考えるようにしてる。政治の話で何かが改善するとは思えないからね。アロンソは良い人だけど、明らかに私に好意を寄せてる。ここにいる他のあらゆる独身女性にも。こんな小さな集団だと、ちょっと遠慮したいね。ジョンは偏見の塊。彼にも色々あるんだとは思うけど、まだ詳しくは知らないな。" +"Howdy, pardner. They call me Clemens. John Clemens. I'm an ol' cowhand." +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 "はじめまして、ジョン。" @@ -153446,11 +154390,11 @@ 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "こんにちは。私はマンディープ・シンです。" #: lang/json/talk_topic_from_json.py @@ -153494,6 +154438,10 @@ msgid "" msgstr "" "何とも言えないね。ここに幸福な人はいない。私とその家族が無傷で危機を脱したことに不満を感じている者すらいる。そんな雰囲気になっているから、ここで親友を作り辛いんだろうな。" +#: lang/json/talk_topic_from_json.py +msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." +msgstr "あら!見ない顔ね。失礼、私はマンガルプリートです。" + #: lang/json/talk_topic_from_json.py msgid "Hi there." msgstr "やあ。" @@ -153502,10 +154450,6 @@ msgstr "やあ。" msgid "Oh, hello there." msgstr "おっ、やあ。" -#: lang/json/talk_topic_from_json.py -msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." -msgstr "あっ!知らない人だ。すみません、私はマンガルプリートです。" - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Mangalpreet." msgstr "はじめまして、マンガルプリート。" @@ -153711,15 +154655,15 @@ msgstr "" 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?" -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." msgstr "やあ。初めて会う人だな。私はライサー、皆からはライと呼ばれているよ。" +#: lang/json/talk_topic_from_json.py +msgid "Need to talk?" +msgstr "話す必要があるのか?" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Rhy." msgstr "はじめまして、ライ。" @@ -153812,6 +154756,12 @@ msgstr "" 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." +msgstr "こんにちは。すまない、前から知り合いだったとしても、まったく覚えていないんだ。私の名前はスタンだ。" + #: lang/json/talk_topic_from_json.py msgid "Hm? Oh, hi." msgstr "うん?おや、どうも。" @@ -153820,12 +154770,6 @@ msgstr "うん?おや、どうも。" msgid "...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." -msgstr "こんにちは。すまない、前から知り合いだったとしても、まったく覚えていないんだ。私の名前はスタンだ。" - #: lang/json/talk_topic_from_json.py msgid "Stan, hey? Nice to meet you." msgstr "スタンっていうのか?会えて嬉しいよ。" @@ -153939,16 +154883,16 @@ 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 "ああ、戻ってきたのか。" - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " "Vanessa." msgstr "おいおい。また新入りが飯を求めてやって来たのか?こっちもギリギリなんだよ。ああ、私はヴァネッサ。" +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "ああ、戻ってきたのか。" + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "食料が目的ではないが、会えて嬉しいよ。" @@ -153985,15 +154929,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 "" -"さてと、私は2ダースもの見知らぬ人が住むレンガ造りの劣悪な建物で立ち往生しており、世界中で死人がうろつき、周りに十分な食料はない。少なくとも私は忙しく働いていられるし、マーチに余裕が出たら十分な食料も確保できる。人間は散髪が好きだからね。" - #: lang/json/talk_topic_from_json.py msgid "" "You want the sarcastic version, or the really sarcastic version? I'm stuck " @@ -154003,6 +154938,15 @@ msgid "" msgstr "" "皮肉を込めた言い方と、皮肉をたっぷり込めた言い方、どっちがいい?私は2ダースもの見知らぬ人が住むレンガ造りの劣悪な建物で立ち往生しており、世界中で死人がうろつき、周りに十分な食料はない。このクソな状況を理解できないの?" +#: 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 "" +"さてと、私は2ダースもの見知らぬ人が住むレンガ造りの劣悪な建物で立ち往生しており、世界中で死人がうろつき、周りに十分な食料はない。少なくとも私は忙しく働いていられるし、マーチに余裕が出たら十分な食料も確保できる。人間は散髪が好きだからね。" + #: 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 " @@ -154186,12 +155130,6 @@ msgid "" 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." -msgstr "そうしよう。どんな手を使って彼らに退去を認めさせたのか知らないが、自由商人も私自身も、感謝しているよ。" - #: lang/json/talk_topic_from_json.py msgid "" "Even once we got things sorted out, there weren't enough beds for everyone, " @@ -154200,6 +155138,12 @@ msgid "" 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." +msgstr "そうしよう。どんな手を使って彼らに退去を認めさせたのか知らないが、自由商人も私自身も、感謝しているよ。" + #: lang/json/talk_topic_from_json.py msgid "" "Well, there's the downstairs section, we can't fit more people down there so" @@ -154562,14 +155506,14 @@ 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 "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 "ここが避難センターだと聞いたんだが..." @@ -154602,14 +155546,14 @@ msgstr "人手が必要なようだな..." msgid "Well, I'd better be going. Bye." msgstr "ええと、そろそろ行くよ。さようなら。" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "ようこそ、執行官..." - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "ようこそ..." +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "ようこそ、執行官..." + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -154850,14 +155794,14 @@ msgid "" msgstr "" "残念ながら、無理だ。農園へ行った人の大部分は2階で待機していた避難民だ。安全な寝床を待つよりもリスクが少ないからな。地下から出ていったのはほんの少しだし、元から混雑した状態だったからな。もっとたくさんの人が太陽や新鮮な空気、重労働を求めて牧場に向かってくれるといいが...知ってるだろうが、みんなゾンビの大群に襲われるのが怖いんだ。" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "執行官..." - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "市民..." +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "執行官..." + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "物資の取引はできる?" @@ -154915,14 +155859,14 @@ msgid "" "buy from you. I don't suppose you want to donate?" msgstr "できないよ。物を売れるほど余裕はないし、何かを買う予算もない。寄付だったら受け付けてるよ?" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "ピカピカのバッジを手に入れたようだな!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "ふん、ただ者ではないらしいな。" +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "ピカピカのバッジを手に入れたようだな!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "新入りだ。" @@ -154994,16 +155938,16 @@ msgid "" 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 "悪いことを尋ねてしまったな。" @@ -155029,22 +155973,22 @@ msgstr "買うよ。" msgid "Who needs rebar?" msgstr "誰が鉄筋を欲しがるんだ?" -#: lang/json/talk_topic_from_json.py -msgid "As if you're one to talk. Screw You." -msgstr "口のきき方を考えろ。くたばれ。" - #: lang/json/talk_topic_from_json.py msgid "Screw You!" msgstr "くたばりやがれ!" #: lang/json/talk_topic_from_json.py -msgid "I thought I smelled a pig. I jest... please don't arrest me." -msgstr "なんか豚くせぇな。冗談...逮捕しないでくれ。" +msgid "As if you're one to talk. Screw You." +msgstr "口のきき方を考えろ。くたばれ。" #: lang/json/talk_topic_from_json.py msgid "Huh, thought I smelled someone new. Can I help you?" msgstr "はん、新入り臭いのがいるな。何か助けが必要か?" +#: lang/json/talk_topic_from_json.py +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 "...臭うかい?" @@ -155328,18 +156272,18 @@ msgid "Glad to have you aboard." msgstr "よろしくな。" #: lang/json/talk_topic_from_json.py -msgid "So, do you need something?" -msgstr "なんだ、何か用か?" +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 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." -msgstr "動くな。どうやってここに入ったのか知らないが、それ以上近づくな。帰ってくれ。" +msgid "So, do you need something?" +msgstr "なんだ、何か用か?" #: lang/json/talk_topic_from_json.py msgid "So how's it down there?" @@ -155594,6 +156538,14 @@ 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, " @@ -155608,20 +156560,6 @@ msgstr "執行官、何か欲しいものがありますか?" msgid "Oh, a U.S. marshal, how quaint." 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 "" -"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 msgid "" "We have been supplying this lab here with food from a few hunting and " @@ -155630,6 +156568,12 @@ msgid "" 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?" +msgstr "私は私の仕事を続け、あなたはあなたの仕事を続ける。執行官、これは公正な取り引きでしょう?" + #: lang/json/talk_topic_from_json.py msgid "Keep safe, then." msgstr "では、おたっしゃで。" @@ -155848,16 +156792,16 @@ msgid "I'll talk with them then…" msgstr "じゃあ彼らと話してみるよ..." #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "御用ですか? 執行官。" +msgid "Morning ma'am, how can I help you?" +msgstr "どうも、お嬢さん。何か用かい?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "どうも、旦那。何か用かい?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "どうも、お嬢さん。何か用かい?" +msgid "Can I help you, marshal?" +msgstr "御用ですか? 執行官。" #: lang/json/talk_topic_from_json.py msgid "" @@ -155964,14 +156908,14 @@ msgstr "何か頼みたい仕事はあるか?" msgid "Not now." msgstr "今はいい。" -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "出直してくれるか、今は手が離せないんだ。" - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "あなたやお仲間が怪我をしているなら私が診るよ。" +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "出直してくれるか、今は手が離せないんだ。" + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "[$200, 30分] 手当てしてくれ。" @@ -161777,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" @@ -162596,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 "砂場" @@ -165157,7 +166108,7 @@ msgstr "バス" #: lang/json/vehicle_from_json.py msgid "Tour Bus" -msgstr "観光バス" +msgstr "ツアーバス" #: lang/json/vehicle_from_json.py msgid "Security Van" @@ -167068,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 "ドラムローラー" @@ -168559,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 @@ -169422,16 +170381,11 @@ msgstr "食料を温めて解凍しました。" msgid "You heat up the food." msgstr "食料を温めました。" -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.cpp #, c-format msgid "You are currently unable to mend the %s." msgstr "今のところ%sを修理できません。" -#: src/activity_handlers.cpp -#, c-format -msgid "You successfully mended the %s." -msgstr "%sの修理に成功しました。" - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -172330,6 +173284,11 @@ 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 "殻にこもっているため動けません。移動するには殻から出てください。" @@ -172743,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 "考え直した結果、機能を停止させました。" @@ -172860,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 "捻じれラチェットが関節部に固定されました。" @@ -173092,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 "除去に失敗しましたが、体は何事もなく無事でした。" @@ -174125,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 "脱水" @@ -174536,6 +175521,26 @@ msgstr "EXTRA_EXERCISE" 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 "叫ぼうとしましたが、顔がありません!" @@ -174773,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 "供給: 焚き木" @@ -177777,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 "編集/依頼(警告:不安定な機能です!)" @@ -180400,6 +181154,14 @@ 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 "" @@ -180425,87 +181187,6 @@ 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 -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 #, c-format msgid "" @@ -180564,35 +181245,6 @@ 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 "" @@ -180868,27 +181520,19 @@ 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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" "メモ:\n" "仲間に頼んで、車両を完全に分解して部品にしてもらいます。\n" @@ -180917,14 +181561,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" " \n" @@ -180953,15 +181597,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" " \n" @@ -180991,13 +181635,13 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 3 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" " \n" @@ -181010,6 +181654,116 @@ msgstr "" "時間: 3分 / 区画 \n" "人員: 0/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" +"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" @@ -181026,6 +181780,10 @@ msgstr "" "\n" "緊急帰還が利用可能になるには、その仲間が少なくとも24時間以上作業を行っている必要があります。" +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "は周辺調査に向かいました..." + #: src/faction_camp.cpp msgid "departs to search for materials…" msgstr "は資材の収集に向かいました..." @@ -181062,10 +181820,6 @@ msgstr "は狩猟に向かいました..." 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…" msgstr "が何かを持って戻ってきました..." @@ -186900,7 +187654,7 @@ msgstr "患者は死亡しています。続行するには死体を除去して msgid "" "ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." " Please move patient to appropriate facility. Exiting." -msgstr "生体レベル評価エラー: 完全機械化済。オートドクMk. XIは未対応です。患者を適切な装置に移してください。操作を終了します。" +msgstr "生体レベル評価エラー: 完全機械化済。オートドクMk.XIは未対応です。患者を適切な装置に移してください。操作を終了します。" #: src/iexamine.cpp msgid "Autodoc Mk. XI. Status: Online. Please choose operation." @@ -186932,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 "" @@ -189106,20 +189860,20 @@ msgid "" msgstr "* この衣類は小さすぎるため、体格に不適合です。" #: src/item.cpp -msgid "can be upsized." -msgstr "サイズアップ可能です。" +msgid "can be upsized" +msgstr "サイズアップ可能" #: src/item.cpp -msgid "can be downsized." -msgstr "サイズダウン可能です。" +msgid "can be downsized" +msgstr "サイズダウン可能" #: src/item.cpp -msgid "can not be downsized." -msgstr "サイズダウン不可能です。" +msgid "can not be downsized" +msgstr "サイズダウン不可能" #: src/item.cpp -msgid "can not be upsized." -msgstr "サイズアップ不可能です。" +msgid "can not be upsized" +msgstr "サイズアップ不可能" #: src/item.cpp #, c-format @@ -189127,25 +189881,25 @@ msgid "* This clothing %s." msgstr "* この衣類は%s" #: src/item.cpp -msgid " and upsized." -msgstr "サイズアップ可能です。" +msgid " and upsized" +msgstr "、サイズアップ可能" #: src/item.cpp -msgid " and downsized." -msgstr "サイズダウン可能です。" +msgid " and downsized" +msgstr "、ダウンサイズ可能" #: src/item.cpp -msgid " but not downsized." -msgstr "サイズダウン不可能です。" +msgid " but not downsized" +msgstr "、ダウンサイズ不可能" #: src/item.cpp -msgid " but not upsized." -msgstr "サイズアップ不可能です。" +msgid " but not upsized" +msgstr "、サイズアップ不可能" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." -msgstr "* この衣類は仕立て直し可能、%s。" +msgid "* This clothing can be refitted%s." +msgstr "* この衣類は仕立て直しによって%sです。" #: src/item.cpp msgid "* This clothing can not be refitted, upsized, or downsized." @@ -189232,6 +189986,11 @@ 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 "電力容量:" @@ -191194,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" @@ -197137,8 +197905,8 @@ 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 msgid "Block Counter" @@ -200001,6 +200769,14 @@ msgstr "%d 人の %s %s と %d 人の %s %s %s が交戦を開始しました! msgid "You don't have any companions to send out…" msgstr "派遣可能な仲間がいません..." +#: src/mission_companion.cpp +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 @@ -200008,40 +200784,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "%1$s(見張り)" -#. ~ %1$s: companion 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]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "%s [ %4d : %4d : %4d ]" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" -msgstr "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" -msgstr "%s [ %4d : %4d : %4d ]" - -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "派遣する仲間を選択 [ 戦闘 : サバイバル : 製造 ]" +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 "The companion you selected doesn't have the skills!" -msgstr "選択した仲間のスキルレベルが不足しています!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "帰還可能な仲間がいません..." @@ -201925,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" @@ -205111,6 +205872,11 @@ msgstr "%1$s(%2$d,%3$d)" msgid "My current location" msgstr "プレイヤーの現在地" +#: src/npctalk_funcs.cpp +#, c-format +msgid "That is not a valid destination for %s." +msgstr "%sは無効な目的地を選択しています。" + #: src/npctalk_funcs.cpp #, c-format msgid "%1$s is assigned to %2$s" @@ -205209,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." @@ -205258,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?" @@ -205857,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" @@ -208142,7 +208913,7 @@ msgstr "月齢: %s" #: src/panels.cpp #, c-format msgid "Temp : %s" -msgstr "気温: %s" +msgstr "気温: %s" #: src/panels.cpp msgid "Wield:" @@ -208871,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 "身体に走る猛烈な激痛に苦しみました!" @@ -208924,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!" @@ -209662,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" + +#: 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 +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "%1$s(%2$d/%3$d)" -#. ~ %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 "今のところは、この方法で%sを修理できません。" #: src/player.cpp msgid "You are already wearing that." @@ -209846,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 @@ -210084,6 +210853,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 "%s%d -> %d(%d%%)" + #: src/player_activity.cpp #, c-format msgid "%s…" @@ -211430,10 +212206,6 @@ msgstr "ダァン!" msgid "none" msgstr "なし" -#: src/recipe.cpp -msgid "none" -msgstr "なし" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -212392,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" diff --git a/lang/po/ko.po b/lang/po/ko.po index e733f5d8d77af..78da5ba4f5544 100644 --- a/lang/po/ko.po +++ b/lang/po/ko.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-04 19:23+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Brett Dong , 2019\n" "Language-Team: Korean (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ko/)\n" @@ -5536,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" @@ -5583,6 +5595,27 @@ msgid "" "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 "파이어 랜스 탄약" @@ -7626,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" @@ -8267,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" @@ -16080,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 @@ -16091,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." @@ -21575,6 +21635,20 @@ msgid "" "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" @@ -23011,6 +23085,30 @@ msgid "" "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" @@ -23407,6 +23505,40 @@ msgid "" " 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" @@ -29835,6 +29967,17 @@ msgstr[0] "" 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 "" @@ -33312,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 "부활 혈청" @@ -35441,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" @@ -38377,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 "덮개 닫기" @@ -38404,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 "덮개 열기" @@ -46548,6 +46697,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" @@ -48346,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 "" @@ -49252,6 +49443,290 @@ msgstr "장비 물품" 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" @@ -61830,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" @@ -73320,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 "" @@ -74417,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 "오토바이 바퀴" @@ -75756,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 "다이아몬드 각막" @@ -76135,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" @@ -76169,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 @@ -76501,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" @@ -77374,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 "" @@ -78024,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 "" @@ -82628,25 +83164,49 @@ 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 "" +#. ~ 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," @@ -82656,22 +83216,46 @@ msgid "" "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 " @@ -82682,89 +83266,209 @@ msgid "" "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 @@ -83445,8 +84149,7 @@ msgstr "" 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 "쿵." @@ -83559,7 +84262,8 @@ msgstr "동상" msgid "A carved statue made of stone." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "쿵." @@ -83959,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 "우지끈!" @@ -84823,6 +85527,17 @@ msgstr "" 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 "게시판" @@ -86034,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 "" @@ -91003,6 +91727,18 @@ msgid "" "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" @@ -91105,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 " @@ -101229,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 "" @@ -107472,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 "좋은 청력" @@ -116178,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 @@ -116193,6 +116949,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 "" @@ -116878,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 "골프장" @@ -127310,6 +128078,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 " @@ -128157,6 +129101,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 "" @@ -134453,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 @@ -134467,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?" -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 @@ -143437,7 +144371,7 @@ msgid "Clothing Store" 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 @@ -143445,7 +144379,7 @@ msgid "You're back. Have you come to listen to the song?" 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 @@ -143593,36 +144527,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143690,13 +144624,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -144013,16 +144947,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 "넌 여기서 뭐하고 있어?" @@ -144094,24 +145028,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "안 돼, 안 된다고..." +msgid "Anything to do before I go to sleep?" +msgstr "자러 가기 전에 내가 뭔가 도와줄 일이 있을까?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "나 좀 자게 해줘, 야!" +msgid "Just few minutes more..." +msgstr "조금만 더..." #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "얼른 끝내줘, 다시 가서 자고 싶거든." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "조금만 더..." +msgid "Just let me sleep, !" +msgstr "나 좀 자게 해줘, 야!" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "자러 가기 전에 내가 뭔가 도와줄 일이 있을까?" +msgid "No, just no..." +msgstr "안 돼, 안 된다고..." #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -144122,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 @@ -144510,11 +145444,11 @@ msgid "Show me what needs to be done at the camp." 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 -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144577,14 +145511,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 " @@ -144596,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 @@ -144611,14 +145545,14 @@ 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 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 @@ -144694,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 "진정해. 난 너에게 해코지할 생각이 없어." @@ -144754,14 +145688,6 @@ msgstr "뭐가 문제야?" msgid "I don't care." msgstr "내가 알 바 아냐." -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 just have one job for you. Want to hear about it?" msgstr "해줬으면 하는 일이 있어. 들어볼래?" @@ -144770,6 +145696,14 @@ msgstr "해줬으면 하는 일이 있어. 들어볼래?" msgid "I have another job for you. Want to hear about it?" 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 "" + #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "더 시킬 일은 없어." @@ -144787,14 +145721,14 @@ msgstr "오. 알았어." msgid "Never mind, I'm not interested." msgstr "아무것도 아냐, 난 관심 없어." -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "무슨 일?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "이건 어때?" +#: lang/json/talk_topic_from_json.py +msgid "Which job?" +msgstr "무슨 일?" + #: lang/json/talk_topic_from_json.py msgid "You're not working on anything for me now." msgstr "" @@ -145008,31 +145942,31 @@ msgid "Thanks!" 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 -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 "I'm too thirsty, give me something to drink." -msgstr "너무 목말라, 뭔가 마실 것좀 주겠어?" +msgid "I'm too tired, let me rest first." +msgstr "너무 지쳤어, 조금만 쉬게 해줘." #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "너무 배고파, 뭔가 먹을 것 좀 주겠어?" #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "너무 지쳤어, 조금만 쉬게 해줘." +msgid "I'm too thirsty, give me something to drink." +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 have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145040,16 +145974,16 @@ msgid "Ah, okay." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "내가 항생제를 얻기 전까진 안돼..." +msgid "Why should I travel with you?" +msgstr "내가 왜 너하고 같이 가야하는데?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "물어봤잖아, 나중에 다시 물어보라고." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "내가 왜 너하고 같이 가야하는데?" +msgid "Not until I get some antibiotics..." +msgstr "내가 항생제를 얻기 전까진 안돼..." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -145140,11 +146074,7 @@ 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!" +msgid "I have some reason for denying you training." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145152,7 +146082,11 @@ 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 "I can't train you properly while you're operating a vehicle!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145191,14 +146125,14 @@ msgstr "그냥 마음속에 담아 두는게 좋겠어." msgid "I understand…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "방금 장비를 달라고 했잖아. 나중에 물어보라고." - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "왜 내가 너하고 장비를 나눠야 되는데?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "방금 장비를 달라고 했잖아. 나중에 물어보라고." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "좋아, 알았어." @@ -145341,16 +146275,16 @@ msgstr "다음에 필요하면 또 오라고!" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "나... 나 풀려난 거야? *지직* 진짜? 워후! 저기, 그, 내가 진짜 사람 만나는 건 진짜 오랜만이거든." +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "*치직* 또 만나네." + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "" @@ -146283,15 +147217,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 @@ -146299,11 +147233,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147659,10 +148593,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 "" - #: 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." @@ -147671,7 +148601,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 "" #: lang/json/talk_topic_from_json.py @@ -147682,8 +148613,11 @@ 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 +msgid "I just can't talk about that right now. I can't." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148019,13 +148953,13 @@ 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 "" #: 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 "" @@ -148085,8 +149019,7 @@ msgid "I'm sorry you lost someone." 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 @@ -148096,7 +149029,8 @@ msgid "" 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 @@ -148121,34 +149055,34 @@ msgid "" 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 "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 "" -"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 "" #: 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 "" @@ -148200,11 +149134,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 "" @@ -148212,11 +149146,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 "" @@ -148852,10 +149786,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." @@ -148863,10 +149797,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." @@ -148947,14 +149881,14 @@ 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 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 @@ -149259,19 +150193,19 @@ 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 "" #: 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 "" @@ -149280,11 +150214,11 @@ msgid "What were you saying before that?" 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 -msgid "I can't believe my eyes. Please get my outta here..." +msgid "Hey, ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149310,9 +150244,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 @@ -149320,7 +150252,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 @@ -149395,13 +150329,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 fondness " -"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 @@ -149495,7 +150429,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 @@ -149503,7 +150437,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 @@ -149801,11 +150735,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 @@ -149933,14 +150867,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 "안녕." +#: 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 "" @@ -150008,7 +150942,9 @@ msgid "Tell me about your dad." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I hope you're here to assist us." +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 @@ -150018,9 +150954,7 @@ msgid "" 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." +msgid "Marshal, I hope you're here to assist us." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150086,16 +151020,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "보안관님, 여기서 뵙게 되어 놀랍네요." +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "여기 계시면 안 됩니다... 나가셔야 합니다." #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "여기 계시면 안 됩니다... 나가셔야 합니다." #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "여기 계시면 안 됩니다... 나가셔야 합니다." +msgid "Marshal, I'm rather surprised to see you here." +msgstr "보안관님, 여기서 뵙게 되어 놀랍네요." #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -150131,22 +151065,6 @@ msgid "" "hoping a few plain text messages can get picked up though." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "안녕하십니까, 보안관님" - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "보안관님, 죄송하지만 지금은 말을 못 하겠습니다." - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "난 여기 책임자가 아닙니다, 보안관님" - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "모든 질문을 저의 리더에게 전달해야 합니다, 보안관님" - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "이봐, 시민... 난 네가 여기 있을거라 확신하지 않아." @@ -150159,6 +151077,14 @@ msgstr "넌 네 일이나 신경 써야지, 여기서 볼 건 아무것도 없 msgid "If you need something you'll need to talk to someone else." msgstr "필요한 것이 있으면 다른 사람과 이야기를 해야 할 거야." +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "부인." + +#: lang/json/talk_topic_from_json.py +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 "Sir." msgstr "선생님." @@ -150168,12 +151094,20 @@ msgid "Dude, if you can hold your own you should look into enlisting." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "부인." +msgid "Hello, 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?" -msgstr "이봐 아가씨, 나랑 같이 있는 게 더 안전할 것 같지 않아?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "보안관님, 죄송하지만 지금은 말을 못 하겠습니다." + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "난 여기 책임자가 아닙니다, 보안관님" + +#: lang/json/talk_topic_from_json.py +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…" @@ -150230,15 +151164,14 @@ 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 "제발 도와주세요. 음식 좀 나눠주세요." #: 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?" -msgstr "" +"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 "Thank you again. I really appreciate the food." @@ -150246,13 +151179,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?" -msgstr "제발 날 도와줘. 나는 음식이 필요해. 네가 그들의 보안관이 아니야? 날 도와줄 수 없어?" +"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 -msgid "Please, help me. I need food." -msgstr "제발 도와주세요. 음식 좀 나눠주세요." +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150271,17 +151205,17 @@ 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 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 "Why don't you scavenge your own food?" @@ -150385,13 +151319,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 @@ -150475,16 +151409,16 @@ msgstr "지금 진지하게 공룡 의상을 입고 있는 거야?" 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 "" @@ -150578,15 +151512,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 @@ -150606,15 +151540,18 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "" +msgid "Don't bother with these assholes." +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 "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 @@ -150624,19 +151561,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 "이 개자식들에게 신경 쓰지 마." +msgid "Fuck off, dickwaddle." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -150925,16 +151859,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 @@ -150979,14 +151913,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 "이봐, 너도 가장 강한 자만 살아남아야 된다고 생각하지?" +#: 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 "그걸 묻는 목적이 뭐지?" @@ -151003,18 +151937,18 @@ 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. " "Help a poor sickly soul out?" 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 "I could maybe help you out… want something to eat?" msgstr "" @@ -151036,12 +151970,12 @@ msgid "Why are you camped out here if they won't let you in?" 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 -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 @@ -151329,6 +152263,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 "" + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "이봐 거기." @@ -151345,10 +152283,6 @@ 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 "" @@ -151366,7 +152300,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 sixteen." +msgid "I'm not a kid, okay? I'm fourteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151374,7 +152308,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 fourteen." +msgid "I'm not a kid, okay? I'm sixteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151385,6 +152319,14 @@ 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 " @@ -151394,14 +152336,6 @@ msgid "" " 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 " @@ -151443,7 +152377,8 @@ msgid "How are things here?" 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 @@ -151453,8 +152388,7 @@ msgid "" 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 @@ -151484,33 +152418,33 @@ 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 "" -"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 "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 "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 "" -"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 "" #: 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 "" @@ -151539,6 +152473,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 " @@ -151547,8 +152487,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 @@ -151558,10 +152498,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 "아, 새로운 얼굴. 안녕. 나는 보리스야." #: lang/json/talk_topic_from_json.py msgid "Well, well. I'm glad you are back." @@ -151575,10 +152513,6 @@ 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 "" @@ -151647,13 +152581,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 " @@ -151664,6 +152591,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 " @@ -151693,15 +152627,15 @@ msgid "Got any more bread I can trade flour for?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, nice to see you again." +msgid "Hi there. I'm Dana, nice to see a new face." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It's good to see you're still around." +msgid "Hello, nice to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." +msgid "It's good to see you're still around." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151753,8 +152687,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 @@ -151765,10 +152701,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 @@ -151790,6 +152724,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 " @@ -151811,12 +152751,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" @@ -151846,10 +152780,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" @@ -151857,6 +152787,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 " @@ -151893,16 +152827,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 "" @@ -152137,12 +153071,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 @@ -152238,15 +153172,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 @@ -152298,21 +153232,21 @@ msgid "Is there anything I can do to help you out?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello again." +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 "Good to see you're still around." +msgid "Hello again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, hi." +msgid "Good to see you're still around." 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." +msgid "Oh, hi." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152374,15 +153308,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 @@ -152447,6 +153381,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 "안녕." @@ -152455,12 +153395,6 @@ msgstr "안녕." 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 "" @@ -152507,15 +153441,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 "" - #: lang/json/talk_topic_from_json.py msgid "" "Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." msgstr "안녕. 처음 보는 사람이네. 나는 제니야. 제니 포셋." +#: lang/json/talk_topic_from_json.py +msgid "Nice to see you again." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice meeting you. What are you doing on that computer?" msgstr "만나서 반가워. 컴퓨터로 뭐하고 있는거야?" @@ -152664,6 +153598,15 @@ msgid "" "like 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 " @@ -152676,15 +153619,6 @@ 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 "" @@ -152750,6 +153684,14 @@ 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. " @@ -152762,10 +153704,10 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -152779,10 +153721,14 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -152799,25 +153745,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 "" #: 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 "" @@ -152872,11 +153806,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152919,15 +153853,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 @@ -153128,12 +154062,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 @@ -153224,17 +154158,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 @@ -153346,16 +154280,16 @@ 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 "오, 돌아왔구나." - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " "Vanessa." msgstr "오, 좋아. 또 먹여 살려야 할 새 입? 정확히는 우리가 필요하지만. 난 바네사야" +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "오, 돌아왔구나." + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "밥 먹을 새 입은 아니지만, 나도 만나서 반가워." @@ -153392,14 +154326,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 " @@ -153408,6 +154334,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 " @@ -153585,15 +154519,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 @@ -153959,14 +154893,14 @@ 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 "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 "" @@ -153999,14 +154933,14 @@ msgstr "" msgid "Well, I'd better be going. Bye." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "환영합니다 보안관님..." - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "어서오라구..." +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "환영합니다 보안관님..." + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -154236,14 +155170,14 @@ msgid "" "attacked by zombie hordes, as you might guess." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "보안관님..." - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "시민..." +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "보안관님..." + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "물자와 교환할 수 있을까?" @@ -154306,14 +155240,14 @@ msgid "" "buy from you. I don't suppose you want to donate?" msgstr "우리는 못하겠어. 우리가 팔 수 있는 것은 아무것도 없고, 나는 너에게 살 돈이 없어. 기부하고 싶지 않아?" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "너 번쩍거리는 배지를 달고 있네?" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "헤. 넌 뭐 좀 할 사람 같아 보이는데?" +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "너 번쩍거리는 배지를 달고 있네?" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "난 여기 처음이야." @@ -154389,16 +155323,16 @@ 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 "물어봐서 미안" @@ -154426,22 +155360,22 @@ msgstr "살게." msgid "Who needs rebar?" msgstr "누구 철근 필요해?" -#: lang/json/talk_topic_from_json.py -msgid "As if you're one to talk. Screw You." -msgstr "마치 네가 말했던 것처럼. 엿 먹어라" - #: lang/json/talk_topic_from_json.py msgid "Screw You!" msgstr "엿 먹어!" #: lang/json/talk_topic_from_json.py -msgid "I thought I smelled a pig. I jest... please don't arrest me." -msgstr "돼지 냄새를 맡은 줄 알았는데. 농담이야... 체포하지 말아 줘." +msgid "As if you're one to talk. Screw You." +msgstr "마치 네가 말했던 것처럼. 엿 먹어라" #: lang/json/talk_topic_from_json.py msgid "Huh, thought I smelled someone new. Can I help you?" msgstr "허, 새로운 사람 냄새를 맡았는데. 뭐 도와 줄까?" +#: lang/json/talk_topic_from_json.py +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 "" @@ -154737,7 +155671,9 @@ msgid "Glad to have you aboard." 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 @@ -154745,9 +155681,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 @@ -154996,38 +155930,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 @@ -155244,16 +156178,16 @@ msgid "I'll talk with them then…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "뭘 도와드릴까요, 보안관님?" +msgid "Morning ma'am, how can I help you?" +msgstr "좋은 아침입니다 부인, 무엇을 도와드릴까요?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "좋은 아침입니다 선생님, 무엇을 도와드릴까요?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "좋은 아침입니다 부인, 무엇을 도와드릴까요?" +msgid "Can I help you, marshal?" +msgstr "뭘 도와드릴까요, 보안관님?" #: lang/json/talk_topic_from_json.py msgid "" @@ -155359,14 +156293,14 @@ msgstr "나에게 무엇을 해줄 수 있지?" msgid "Not now." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "나중에 다시와, 먼저 해야할게 있거든." - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "부상당했다면 당신이나 동료를 봐줄 수 있어요." +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "나중에 다시와, 먼저 해야할게 있거든." + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "" @@ -161910,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 "모래상자" @@ -166390,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 "롤러드럼" @@ -168734,16 +169683,11 @@ msgstr "음식을 해동하고 데웠다." msgid "You heat up the food." msgstr "음식을 데웠다." -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.cpp #, c-format msgid "You are currently unable to mend the %s." msgstr "지금은 %s을(를) 고칠 수 없다." -#: src/activity_handlers.cpp -#, c-format -msgid "You successfully mended the %s." -msgstr "성공적으로 %s을(를) 고쳤다." - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -171607,6 +172551,11 @@ 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 "껍질 안에 든 상태로는 움직일 수 없다. 움직이려면 비활성화시켜야 한다." @@ -172013,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 "생각을 바꿔 바이오닉을 껐다." @@ -172130,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 "" @@ -172362,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 "" @@ -173386,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 "심한 탈수증" @@ -173797,6 +174772,26 @@ msgstr "" 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 "" @@ -174034,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 "" @@ -176970,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 "임무 편집 (경고:불안정 함!)" @@ -179566,6 +180311,14 @@ 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 "" @@ -179581,59 +180334,6 @@ 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 -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 #, c-format msgid "" @@ -179668,23 +180368,6 @@ 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 "" @@ -179847,27 +180530,19 @@ msgid "" "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" +"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" +"Time: 5 days \n" msgstr "" #: src/faction_camp.cpp @@ -179882,14 +180557,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -179904,15 +180579,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -179927,13 +180602,83 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "" + +#: 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" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign Jobs" msgstr "" #: src/faction_camp.cpp @@ -179946,6 +180691,10 @@ msgid "" "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 "" @@ -179982,10 +180731,6 @@ msgstr "" 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…" msgstr "" @@ -187958,19 +188703,19 @@ msgid "" msgstr "" #: src/item.cpp -msgid "can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp @@ -187979,24 +188724,24 @@ msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid " and upsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid " and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid " but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid " but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -188084,6 +188829,11 @@ 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 "" @@ -190042,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" @@ -195959,7 +196718,7 @@ 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 @@ -198738,6 +199497,14 @@ msgstr "%d의 %s와%s 그리고 %d의%s%s%s가 교전한다!" msgid "You don't have any companions to send out…" msgstr "" +#: src/mission_companion.cpp +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 @@ -198745,40 +199512,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "누구를 보내겠습니까? [ 전투 : 생존 : 산업시설 ]" - #: src/mission_companion.cpp msgid "You choose to send no one…" msgstr "" -#: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "당신이 선택한 동료는 기술이 없다!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "" @@ -200664,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" @@ -203844,6 +204596,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" @@ -203942,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." @@ -204587,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" @@ -207590,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 "고문하는 듯한 고통 때문에 괴롭다!" @@ -207643,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!" @@ -208383,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 -msgid "Skills:\n" -msgstr "기술:\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." @@ -208565,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 @@ -208801,6 +209561,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…" @@ -210148,10 +210915,6 @@ msgstr "쿠와앙!" msgid "none" msgstr "없음" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -211099,6 +211862,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" diff --git a/lang/po/pl.po b/lang/po/pl.po index b026d3612ba2b..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-11-04 19:23+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" @@ -6331,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" @@ -6390,6 +6402,27 @@ msgid "" "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 "ładunek do ognistej lancy" @@ -9025,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" @@ -9884,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" @@ -20178,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 @@ -20192,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." @@ -27109,6 +27175,23 @@ msgid "" "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" @@ -28909,6 +28992,30 @@ msgid "" "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" @@ -29383,6 +29490,43 @@ msgid "" " 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" @@ -37150,6 +37294,17 @@ msgstr[3] "" 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 "" @@ -41382,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" @@ -44128,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" @@ -48030,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ę" @@ -48060,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ę" @@ -58688,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" @@ -61021,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 "" @@ -62238,6 +62450,292 @@ msgstr "PRZEDMIOTY NOSZONE" 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" @@ -77681,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" @@ -92307,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 "" @@ -93809,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" @@ -95261,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" @@ -95691,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" @@ -95728,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 @@ -96106,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" @@ -97027,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ę" @@ -97687,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" @@ -102687,25 +103245,49 @@ 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 "" +#. ~ 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," @@ -102715,22 +103297,46 @@ msgid "" "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 " @@ -102741,57 +103347,129 @@ msgid "" "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." @@ -102799,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 @@ -103511,8 +104237,7 @@ msgstr "Barykada drogowa. Do blokowania dróg." 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." @@ -103627,7 +104352,8 @@ msgstr "posąg" msgid "A carved statue made of stone." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "thump." @@ -104035,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!" @@ -104907,6 +105633,17 @@ msgstr "taboret" 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" @@ -106157,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!" @@ -112762,6 +113508,21 @@ msgid "" "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" @@ -112912,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 " @@ -124223,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 "" @@ -131028,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" @@ -140609,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 @@ -140624,6 +141402,14 @@ 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 "" @@ -141309,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" @@ -152360,6 +153150,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 " @@ -153207,6 +154173,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 "" @@ -159803,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 @@ -159817,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?" -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 @@ -169532,7 +170488,7 @@ msgid "Clothing Store" msgstr "Sklep z Ubraniami" #: 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 @@ -169540,7 +170496,7 @@ msgid "You're back. Have you come to listen to the song?" 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 @@ -169694,36 +170650,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -169791,13 +170747,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -170132,16 +171088,16 @@ msgstr "" msgid "Thanks. I have some things for you to do." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hi there, ." -msgstr "Cześć, ." - #: 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 "Cześć, ." + #: lang/json/talk_topic_from_json.py msgid "What are you doing here?" msgstr "Co tu robisz?" @@ -170213,24 +171169,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "Nie, po prostu nie..." +msgid "Anything to do before I go to sleep?" +msgstr "Jeszcze coś do zrobienia zanim pójdę spać?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "Po prostu pozwól mi spać, !" +msgid "Just few minutes more..." +msgstr "Jeszcze kilka minut..." #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "Tylko szybko, chcę spać." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "Jeszcze kilka minut..." +msgid "Just let me sleep, !" +msgstr "Po prostu pozwól mi spać, !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "Jeszcze coś do zrobienia zanim pójdę spać?" +msgid "No, just no..." +msgstr "Nie, po prostu nie..." #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -170240,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 "" @@ -170629,11 +171585,11 @@ msgid "Show me what needs to be done at the camp." 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 -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -170696,14 +171652,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 " @@ -170717,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 @@ -170732,14 +171688,14 @@ msgstr "Cóż, czuję się dość chory... może chociaż ty się miewasz okej?" #: 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 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 @@ -170815,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." @@ -170875,14 +171831,6 @@ msgstr "Co się dzieje?" msgid "I don't care." msgstr "Nie obchodzi mnie to." -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 just have one job for you. Want to hear about it?" msgstr "Mam tylko jedną robotę. Chcesz posłuchać?" @@ -170891,6 +171839,14 @@ msgstr "Mam tylko jedną robotę. Chcesz posłuchać?" 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 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 "" + #: 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." @@ -170908,14 +171864,14 @@ msgstr "Oh, okej." msgid "Never mind, I'm not interested." msgstr "Nieważne, nie jestem zainteresowany." -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "Która praca?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "Co ty na to?" +#: lang/json/talk_topic_from_json.py +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 "" @@ -171135,31 +172091,31 @@ msgid "Thanks!" msgstr "Dzięki!" #: 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 -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 "I'm too thirsty, give me something to drink." -msgstr "Pragnienie mnie męczy, daj mi coś do picia." +msgid "I'm too tired, let me rest first." +msgstr "Jestem zbyt zmęczony, pozwól mi wpierw odpocząć." #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "Żołądek mnie ssie, daj mi coś do jedzenia." #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "Jestem zbyt zmęczony, pozwól mi wpierw odpocząć." +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 "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 have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -171167,16 +172123,16 @@ msgid "Ah, okay." msgstr "Oh, okej." #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "Nie, dopóki nie dostanę antybiotyków..." +msgid "Why should I travel with you?" +msgstr "Czemu mam z tobą podróżować?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "Niedawno mnie o to pytałeś. Poproś później." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "Czemu mam z tobą podróżować?" +msgid "Not until I get some antibiotics..." +msgstr "Nie, dopóki nie dostanę antybiotyków..." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -171267,20 +172223,20 @@ 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 "" +msgid "I have some reason for denying you training." +msgstr "Mam swoje powody, by odmówić ci szkolenia." #: lang/json/talk_topic_from_json.py 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 have some reason for denying you training." -msgstr "Mam swoje powody, by odmówić ci szkolenia." +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!" @@ -171318,14 +172274,14 @@ msgstr "Wolę zachować to dla siebie." msgid "I understand…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "Dopiero mnie pytałeś o sprzęt. Zapytaj później." - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "Czemu mam się dzielić ekwipunkiem?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "Dopiero mnie pytałeś o sprzęt. Zapytaj później." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "Okej, w porządku." @@ -171468,16 +172424,16 @@ msgstr "Miło było robić interesy!" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -msgstr "Witaj ponownie. *ksss*" - #: 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." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "Witaj ponownie. *ksss*" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "" @@ -172408,15 +173364,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 @@ -172424,11 +173380,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -174157,10 +175113,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 "Nie mogę na razie o tym mówić. Nie potrafię." - #: 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." @@ -174169,7 +175121,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 "" "Pracowałem w lokalnym szpitalu gdy sprawy się posypały. Wspomnienia mam " "trochę zamazane. Przez jakiś czas były dziwne zgłoszenia, rzeczy brzmiące " @@ -174177,7 +175130,8 @@ msgstr "" "swoimi torami jak zwykle. Następnie, bliżej końca, wszystko wystrzeliło pod " "sufit. Myśleliśmy że to atak Chin, i tak nam też mówiono. Ludzie " "przychodzili szaleni, pokryci ranami postrzałowymi i pogryzieni. Mniej " -"więcej w połowie zmiany ja... cóż, załamałem się." +"więcej w połowie zmiany ja... cóż, załamałem się. Widziałem tak potworne " +"rany, a potem... , nawet nie mogę o tym mówić." #: lang/json/talk_topic_from_json.py msgid "" @@ -174187,8 +175141,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 "" "Pracowałem w lokalnym szpitalu gdy sprawy się posypały. Wspomnienia mam " "trochę zamazane. Przez jakiś czas były dziwne zgłoszenia, rzeczy brzmiące " @@ -174196,8 +175149,11 @@ msgstr "" "swoimi torami jak zwykle. Następnie, bliżej końca, wszystko wystrzeliło pod " "sufit. Myśleliśmy że to atak Chin, i tak nam też mówiono. Ludzie " "przychodzili szaleni, pokryci ranami postrzałowymi i pogryzieni. Mniej " -"więcej w połowie zmiany ja... cóż, załamałem się. Widziałem tak potworne " -"rany, a potem... , nawet nie mogę o tym mówić." +"więcej w połowie zmiany ja... cóż, załamałem się." + +#: lang/json/talk_topic_from_json.py +msgid "I just can't talk about that right now. I can't." +msgstr "Nie mogę na razie o tym mówić. Nie potrafię." #: lang/json/talk_topic_from_json.py msgid "It might help to get it off your chest." @@ -174683,21 +175639,21 @@ msgstr "Dziękuję, że mi to powiedziałeś. " #: 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 "" -"Mój mąż zdołał uciec ze mną, ale pożarł go jeden z tych roślinnych " -"potworów kilka dni przed tym jak cię spotkałem. To nie był dla mnie " -"najlepszy rok." +"Moja żona zdołała uciec ze mną, ale pożarł ją jeden z tych " +"roślinnych potworów kilka dni przed tym jak cię spotkałem. To nie był dla " +"mnie najlepszy rok." #: 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 "" -"Moja żona zdołała uciec ze mną, ale pożarł ją jeden z tych " -"roślinnych potworów kilka dni przed tym jak cię spotkałem. To nie był dla " -"mnie najlepszy rok." +"Mój mąż zdołał uciec ze mną, ale pożarł go jeden z tych roślinnych " +"potworów kilka dni przed tym jak cię spotkałem. To nie był dla mnie " +"najlepszy rok." #: lang/json/talk_topic_from_json.py msgid "I'm sorry to hear it." @@ -174773,9 +175729,10 @@ msgid "I'm sorry you lost someone." msgstr "Przykro mi że kogoś straciłeś." #: lang/json/talk_topic_from_json.py -msgid "" -"I said, I don't wanna talk about it. How are you not understanding this?" -msgstr "Powiedziałem, nie chcę o tym mówić. Czemu tego nie rozumiesz?" +msgid "Just another tale of love and loss. Not one I like to tell." +msgstr "" +"To tylko kolejna bajka o miłości i stracie. Nic nad czym lubiłbym " +"się rozwodzić." #: lang/json/talk_topic_from_json.py msgid "" @@ -174786,10 +175743,9 @@ msgstr "" "jeszcze raz ją opowiem." #: lang/json/talk_topic_from_json.py -msgid "Just another tale of love and loss. Not one I like to tell." -msgstr "" -"To tylko kolejna bajka o miłości i stracie. Nic nad czym lubiłbym " -"się rozwodzić." +msgid "" +"I said, I don't wanna talk about it. How are you not understanding this?" +msgstr "Powiedziałem, nie chcę o tym mówić. Czemu tego nie rozumiesz?" #: lang/json/talk_topic_from_json.py msgid "You said you lost someone." @@ -174812,51 +175768,51 @@ msgid "" "Oh, . This doesn't have anything to do with you, or with us." msgstr "Oh, . To nie ma nic wspólnego z tobą, ani z nami." -#: lang/json/talk_topic_from_json.py -msgid "All right, fine. I had someone. I lost him." -msgstr "W porządku. Miałam kogoś. I jego straciłam." - #: lang/json/talk_topic_from_json.py msgid "All right, fine. I had someone. I lost her." msgstr "W porządku. Miałem kogoś. I ją straciłem." +#: lang/json/talk_topic_from_json.py +msgid "All right, fine. I had someone. I lost him." +msgstr "W porządku. Miałam kogoś. I jego straciłam." + #: 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 "" -"Był w domu gdy bomby spadły i świat poszedł w diabły. Byłam w pracy. " -"Starałam się dostać do naszego domu, ale miasto zmieniło się w strefę wojny." +"Była w domu gdy bomby spadły i świat poszedł w diabły. Byłem w pracy. " +"Starałem się dostać do naszego domu, ale miasto zmieniło się w strefę wojny." " Rzeczy, których nie potrafię opisać latały po ulicach, miażdżąc ludzi i " "samochody. Żołnierze próbowali je zatrzymać, ale trafiali w krzyżowym ogniu " "cywili na równi ze wszystkim innym. Po czym straty w cywilach powstały by " -"przyłączyć się do wrogów. Gdyby nie mój mąż, po prostu bym odeszła, ale " -"robiłam co mogłam i się prześliznęłam. Cudem uszłam z życiem." +"przyłączyć się do wrogów. Gdyby nie moja żona, po prostu bym odszedł, ale " +"robiłem co mogłem i się prześliznąłem. Cudem uszedłem z życiem." #: 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 "" -"Była w domu gdy bomby spadły i świat poszedł w diabły. Byłem w pracy. " -"Starałem się dostać do naszego domu, ale miasto zmieniło się w strefę wojny." +"Był w domu gdy bomby spadły i świat poszedł w diabły. Byłam w pracy. " +"Starałam się dostać do naszego domu, ale miasto zmieniło się w strefę wojny." " Rzeczy, których nie potrafię opisać latały po ulicach, miażdżąc ludzi i " "samochody. Żołnierze próbowali je zatrzymać, ale trafiali w krzyżowym ogniu " "cywili na równi ze wszystkim innym. Po czym straty w cywilach powstały by " -"przyłączyć się do wrogów. Gdyby nie moja żona, po prostu bym odszedł, ale " -"robiłem co mogłem i się prześliznąłem. Cudem uszedłem z życiem." +"przyłączyć się do wrogów. Gdyby nie mój mąż, po prostu bym odeszła, ale " +"robiłam co mogłam i się prześliznęłam. Cudem uszłam z życiem." #: lang/json/talk_topic_from_json.py msgid "You must have seen some shit." @@ -174926,11 +175882,11 @@ msgstr "Dostałeś się do wnętrza domu?" #: 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 "" @@ -174938,11 +175894,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 "" @@ -175800,24 +176756,6 @@ msgstr "" "wiernych nadeszło, a ja zostałem w tyle. Więc teraz, jak sądzę, kroczę przez" " piekło na ziemi. Szkoda, że nie słuchałem na szkółce niedzielnej." -#: 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 "" -"Żyłam samotnie, w starej rodzinnej posiadłości daleko od miasta. Mój mąż " -"zmarł ponad miesiąc zanim to się zaczęło... rak. Jeśli cokolwiek dobrego z " -"tego przyszło to to, że w końcu widzę dobrą stronę w tym, że odszedł tak " -"młodo. Byłam zamknięta sama w każdym razie przez pewien czas. Gdy wiadomości" -" zaczęły opowiadać o chińskim bio-terroryzmie i uśpionych agentach, " -"pokazując zamieszki w Bostonie itp. zawinęłam się pod pierzyną z puszką zupy" -" i zmieniłam kanał." - #: lang/json/talk_topic_from_json.py msgid "" "I lived alone, on the old family property way out of town. My wife passed " @@ -175836,6 +176774,24 @@ msgstr "" " zamieszki w Bostonie itp. zawinąłem się pod pierzyną z puszką zupy i " "zmieniłem kanał." +#: 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 "" +"Żyłam samotnie, w starej rodzinnej posiadłości daleko od miasta. Mój mąż " +"zmarł ponad miesiąc zanim to się zaczęło... rak. Jeśli cokolwiek dobrego z " +"tego przyszło to to, że w końcu widzę dobrą stronę w tym, że odszedł tak " +"młodo. Byłam zamknięta sama w każdym razie przez pewien czas. Gdy wiadomości" +" zaczęły opowiadać o chińskim bio-terroryzmie i uśpionych agentach, " +"pokazując zamieszki w Bostonie itp. zawinęłam się pod pierzyną z puszką zupy" +" i zmieniłam kanał." + #: 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 " @@ -175944,14 +176900,6 @@ msgstr "Przykro mi z powodu Buck'a. " msgid "I'm sorry about Buck. " msgstr "Przykro mi z powodu Buck'a. " -#: 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 "" -"Jak już mówiłem, chcesz posłuchać ode mnie historii, stawiasz whiskey. Pełna" -" butelka, przypominam." - #: lang/json/talk_topic_from_json.py msgid "" "Listen. I'm gonna cut this off short. I work for you, okay? I'm not " @@ -175960,6 +176908,14 @@ msgstr "" "Słuchaj. Krótka piłka. Pracuję dla ciebie, ok? Nie jestem zainteresowany by " "się przywiązywać. Nie zapłaciłeś mi za bycie twoim przyjacielem." +#: 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 "" +"Jak już mówiłem, chcesz posłuchać ode mnie historii, stawiasz whiskey. Pełna" +" butelka, przypominam." + #: 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 " @@ -176372,20 +177328,6 @@ msgstr "" " jestem tchórzem, ale teraz wiem ze gdybym został byłbym kolejnym cieknącym " "trupem." -#: 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 " -"than most of us have." -msgstr "" -"Cóż, mam taką dziwną nadzieję. Pewnie to głupota, ale widziałem narzeczonego" -" zwiewającego stamtąd z jego siostrą - a moim świadkiem - w tym pickupie gdy" -" sprawy wymknęły się spod kontroli. Więc, zanim nie wpadnę na nich tak czy " -"inaczej, będę nadal wierzyć, że gdzieś tam są, i im się wiedzie. To więcej " -"niż na co większość z nasz może liczyć." - #: lang/json/talk_topic_from_json.py msgid "" "Well, I have this weird hope. It's probably stupid, but I saw my fiancée " @@ -176400,16 +177342,30 @@ msgstr "" "inaczej, będę nadal wierzyć, że gdzieś tam są, i im się wiedzie. To więcej " "niż na co większość z nasz może liczyć." +#: 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 " +"than most of us have." +msgstr "" +"Cóż, mam taką dziwną nadzieję. Pewnie to głupota, ale widziałem narzeczonego" +" zwiewającego stamtąd z jego siostrą - a moim świadkiem - w tym pickupie gdy" +" sprawy wymknęły się spod kontroli. Więc, zanim nie wpadnę na nich tak czy " +"inaczej, będę nadal wierzyć, że gdzieś tam są, i im się wiedzie. To więcej " +"niż na co większość z nasz może liczyć." + #: lang/json/talk_topic_from_json.py msgid "What were you saying before that?" msgstr "O czym to mówiłeś wcześniej?" #: 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 @@ -176435,9 +177391,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 @@ -176445,7 +177399,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 @@ -176520,13 +177476,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 fondness " -"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 @@ -176620,7 +177576,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 @@ -176628,7 +177584,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 @@ -176926,11 +177882,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 @@ -177058,14 +178014,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 "Cześć." +#: 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 "" @@ -177133,8 +178089,12 @@ 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 "Marszalu, mam nadzieję że jesteś tu by nas wesprzeć." +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 "" +"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 "" @@ -177145,12 +178105,8 @@ msgstr "" "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 " -"you'll get out while you can." -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." +msgid "Marshal, I hope you're here to assist us." +msgstr "Marszalu, mam nadzieję że jesteś tu by nas wesprzeć." #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -177228,16 +178184,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "Marszalu, jestem poniekąd zdziwiony twoją tu obecnością." +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "Psze Pani, nie jest Pani upoważniona by tu być... powinnaś odejść." #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "Sir, nie jest Pan upoważniony by tu być... powinieneś odejść." #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "Psze Pani, nie jest Pani upoważniona by tu być... powinnaś odejść." +msgid "Marshal, I'm rather surprised to see you here." +msgstr "Marszalu, jestem poniekąd zdziwiony twoją tu obecnością." #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -177283,22 +178239,6 @@ msgstr "" "zapewnić integralność systemów łączności. Liczymy na to, że nadawanie " "czystym tekstem będzie mimo tego uchwytne." -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "Witaj marszalu." - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "Marszalu, obawiam się że nie mogę teraz rozmawiać." - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "Ja tu nie dowodzę, marszalu." - -#: lang/json/talk_topic_from_json.py -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 "Hey, citizen... I'm not sure you belong here." msgstr "Hej, obywatelu... nie jestem pewien czy powinieneś tu być." @@ -177311,6 +178251,16 @@ msgstr "Powinieneś pilnować własnego nosa, nic tu nie ma do oglądania." msgid "If you need something you'll need to talk to someone else." msgstr "Jak czegoś chcesz to pogadaj z kimś innym." +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "Pani." + +#: lang/json/talk_topic_from_json.py +msgid "Hey miss, don't you think it would be safer if you stuck with me?" +msgstr "" +"Hej panienko, nie sądzisz że będzie bezpieczniej jak się będziesz trzymać ze" +" mną?" + #: lang/json/talk_topic_from_json.py msgid "Sir." msgstr "Sir." @@ -177320,14 +178270,20 @@ msgid "Dude, if you can hold your own you should look into enlisting." msgstr "Koleś, jak dajesz radę ogarniać, to powinieneś się zaciągnąć." #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "Pani." +msgid "Hello, marshal." +msgstr "Witaj marszalu." #: lang/json/talk_topic_from_json.py -msgid "Hey miss, don't you think it would be safer if you stuck with me?" -msgstr "" -"Hej panienko, nie sądzisz że będzie bezpieczniej jak się będziesz trzymać ze" -" mną?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "Marszalu, obawiam się że nie mogę teraz rozmawiać." + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "Ja tu nie dowodzę, marszalu." + +#: lang/json/talk_topic_from_json.py +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…" @@ -177384,15 +178340,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 "Proszę pomóż mi, potrzebuję żywności." #: 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 "" +"Proszę, pomóż mi. Potrzebuję pożywienia. Nie jesteś aby ich szeryfem? Nie " +"możesz mi pomóc?" #: lang/json/talk_topic_from_json.py msgid "Thank you again. I really appreciate the food." @@ -177400,15 +178357,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 "" -"Proszę, pomóż mi. Potrzebuję pożywienia. Nie jesteś aby ich szeryfem? Nie " -"możesz mi pomóc?" #: lang/json/talk_topic_from_json.py -msgid "Please, help me. I need food." -msgstr "Proszę pomóż mi, potrzebuję żywności." +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177427,17 +178383,17 @@ msgstr "Odejdź ode mnie." #: 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 "" +"Oni mnie nie wpuszczą. Mówią że już są zapełnieni. Wolno mi tu obozować, " +"jeśli po sobie sprzątam i nie robię problemów, ale jestem tak głodny." #: 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 "" -"Oni mnie nie wpuszczą. Mówią że już są zapełnieni. Wolno mi tu obozować, " -"jeśli po sobie sprzątam i nie robię problemów, ale jestem tak głodny." #: lang/json/talk_topic_from_json.py msgid "Why don't you scavenge your own food?" @@ -177545,13 +178501,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 @@ -177635,16 +178591,16 @@ msgstr "Na serio nosisz ten kostium dinozaura?" 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 "" @@ -177743,15 +178699,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 @@ -177771,15 +178727,18 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "" +msgid "Don't bother with these assholes." +msgstr "Nie przejmuje się tymi dupkami." #: 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 @@ -177789,19 +178748,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 "Nie przejmuje się tymi dupkami." +msgid "Fuck off, dickwaddle." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -178093,16 +179049,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 @@ -178147,14 +179103,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 "Hej, jesteś wielkim fanem przeżycia najlepszych?" +#: 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 "Czemu pytasz?" @@ -178171,12 +179127,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. " @@ -178185,6 +179135,12 @@ msgstr "" "Bo ja, to pewne, do najlepszych nie należę, więc posiedzę tu aż umrę z " "głodu. Pomożesz biednej duszy w potrzebie?" +#: 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 "I could maybe help you out… want something to eat?" msgstr "" @@ -178206,12 +179162,12 @@ msgid "Why are you camped out here if they won't let you in?" msgstr "Czemu tu obozujesz skoro cię nie wpuszczą?" #: 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 @@ -178509,6 +179465,10 @@ msgstr "Jaka jest twoja historia?" 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... cześć. Wyglądasz na nowego. Jestem Aleesha." + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "Hej tam." @@ -178525,10 +179485,6 @@ msgstr "" msgid "Aw hey, look who's back." msgstr "Hej, zobacz, kto wrócił." -#: lang/json/talk_topic_from_json.py -msgid "Oh, uh... hi. You look new. I'm Aleesha." -msgstr "Oh, uh... cześć. Wyglądasz na nowego. Jestem Aleesha." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, kid. What's up?" msgstr "Miło mi cię poznać, dzieciaku. Co tam?" @@ -178546,16 +179502,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 "Nie jestem dzieckiem, okej? Mam szesnaście lat." +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "Nie jestem dzieckiem, okej? Mam czternaście lat." #: lang/json/talk_topic_from_json.py msgid "I'm not a kid, okay? I'm fifteen." msgstr "Nie jestem dzieckiem, okej? Mam piętnaście lat." #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm fourteen." -msgstr "Nie jestem dzieckiem, okej? Mam czternaście lat." +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "Nie jestem dzieckiem, okej? Mam szesnaście lat." #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -178565,6 +179521,18 @@ msgstr "Wybacz, nie chciałem cię urazić. Co tam?" msgid "Sorry, I didn't mean anything by it. I'll be on my way." msgstr "Wybacz, nie chciałem cię urazić. Zbieram się w drogę." +#: 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 "" +"Nie wiem co tam. Nie jestem nawet pewien co my tutaj robimy. Oni mówią, że " +"powinniśmy czekać zanim będziemy mogli być przeniesieni do schronu na dole, " +"ale jesteśmy tu już od dni i nie było słowa ile to jeszcze będzie trwać. To " +"wszystko takie głupie i nikt mi nic nie mówi." + #: lang/json/talk_topic_from_json.py msgid "" "We're just standing around here waiting, like a bunch of idiots. We're " @@ -178578,18 +179546,6 @@ msgstr "" " że to się wydarzy. Nie wiem co tu robimy. Przeczytałem wszystkie książki, a" " na zewnątrz są zombie więc utknęliśmy tutaj. Słychać je w nocy." -#: 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 "" -"Nie wiem co tam. Nie jestem nawet pewien co my tutaj robimy. Oni mówią, że " -"powinniśmy czekać zanim będziemy mogli być przeniesieni do schronu na dole, " -"ale jesteśmy tu już od dni i nie było słowa ile to jeszcze będzie trwać. To " -"wszystko takie głupie i nikt mi nic nie mówi." - #: lang/json/talk_topic_from_json.py msgid "" "You can't just go asking people questions like that nowadays. I'm a " @@ -178631,7 +179587,8 @@ msgid "How are things here?" msgstr "Jak się sprawy mają tutaj?" #: 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 @@ -178641,8 +179598,7 @@ msgid "" 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 @@ -178672,33 +179628,33 @@ 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 "" -"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 "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 "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 "" -"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 "" #: 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 "" @@ -178727,6 +179683,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 " @@ -178735,9 +179697,11 @@ 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 "" +"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 "" @@ -178748,12 +179712,8 @@ msgstr "" "ale widok podróżników takich jak ty zawsze rozjaśnia mój dzień." #: 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 "" -"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ń." +msgid "Ah, another new face. Hello. I am Boris." +msgstr "Ach, kolejna nowa twarz. Cześć. Jestem Boris." #: lang/json/talk_topic_from_json.py msgid "Well, well. I'm glad you are back." @@ -178767,10 +179727,6 @@ msgstr "Witaj ponownie, przyjacielu." msgid "It is good to see you again." msgstr "Miło znów cię widzieć." -#: lang/json/talk_topic_from_json.py -msgid "Ah, another new face. Hello. I am Boris." -msgstr "Ach, kolejna nowa twarz. Cześć. Jestem Boris." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Boris." msgstr "" @@ -178844,13 +179800,6 @@ msgstr "Przykro mi. Co mówiłeś wcześniej?" msgid "I'm sorry. I'd better get going." msgstr "Przykro mi. Lepiej już pójdę." -#: 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 " @@ -178861,6 +179810,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 " @@ -178891,6 +179847,10 @@ msgstr "" msgid "Got any more bread I can trade flour for?" msgstr "Masz jeszcze chleb, za który mogę wymienić mąkę?" +#: lang/json/talk_topic_from_json.py +msgid "Hi there. I'm Dana, nice to see a new face." +msgstr "Witaj. Jestem Dana, miło widzieć nową twarz." + #: lang/json/talk_topic_from_json.py msgid "Hello, nice to see you again." msgstr "Cześć, miło znów cię widzieć." @@ -178899,10 +179859,6 @@ msgstr "Cześć, miło znów cię widzieć." msgid "It's good to see you're still around." msgstr "Dobrze widzieć, że nadal jesteś tutaj." -#: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." -msgstr "Witaj. Jestem Dana, miło widzieć nową twarz." - #: lang/json/talk_topic_from_json.py msgid "Dana, hey? Nice to meet you." msgstr "Boris, czy tak? Miło cię poznać." @@ -178952,8 +179908,10 @@ msgstr "Przykro mi z powodu twojej straty." #: 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 @@ -178964,10 +179922,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 @@ -178989,6 +179945,14 @@ 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 "" +"Świetnie, oto bochenek z mojego lokalnego, mało dojrzałego zakwasu. Szczerze" +" mówiąc, nie jest taki zły. Wydaje się, że wszystkim tu się podoba." + #: lang/json/talk_topic_from_json.py msgid "" "Great, here's a loaf of the best damn sourdough bread in the world. I used " @@ -179012,14 +179976,6 @@ msgstr "" "Mam nadzieję, że podoba ci się tak samo jak mi, to teraz najlepszy cholerny " "chleb na świecie." -#: 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 "" -"Świetnie, oto bochenek z mojego lokalnego, mało dojrzałego zakwasu. Szczerze" -" mówiąc, nie jest taki zły. Wydaje się, że wszystkim tu się podoba." - #: lang/json/talk_topic_from_json.py msgid "" "You seem pretty unhappy about the quality of your bread. Is there something" @@ -179049,10 +180005,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" @@ -179060,6 +180012,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 " @@ -179096,16 +180052,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 "Miło mi cię poznać, Draco." @@ -179354,12 +180310,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 @@ -179465,15 +180421,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 @@ -179524,6 +180480,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 "Witaj ponownie." @@ -179536,12 +180498,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 "" @@ -179606,6 +180562,10 @@ msgid "" " I'm pretty nervous about going outside." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." +msgstr "Hej. Witaj. Jestem Garry, Garry Villeneuve." + #: lang/json/talk_topic_from_json.py msgid "Well, hello." msgstr "Cóż, witaj." @@ -179614,10 +180574,6 @@ msgstr "Cóż, witaj." msgid "Good to see you again." msgstr "Dobrze Cię znowu widzieć." -#: lang/json/talk_topic_from_json.py -msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." -msgstr "Hej. Witaj. Jestem Garry, Garry Villeneuve." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Garry." msgstr "Miło mi cię poznać, Garry." @@ -179680,6 +180636,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 "Cześć." @@ -179688,12 +180650,6 @@ msgstr "Cześć." 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 "" @@ -179740,15 +180696,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 "Miło znów cię widzieć." - #: lang/json/talk_topic_from_json.py msgid "" "Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." msgstr "Cześć. Nie widziałam cię tu wcześniej. Jestem Jenny. Jenny Forcette." +#: lang/json/talk_topic_from_json.py +msgid "Nice to see you again." +msgstr "Miło znów cię widzieć." + #: lang/json/talk_topic_from_json.py msgid "Nice meeting you. What are you doing on that computer?" msgstr "Miło poznać. Co robisz na tym komputerze?" @@ -179951,6 +180907,19 @@ msgstr "" "jedzenia, i towarzystwa sobie nie dobieraliśmy. Nie wiem jak długo to się " "utrzyma zanim komuś odbije." +#: 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 "" +"Cóż, cała nasza hałastra. Zaczynamy formować drobną społeczność. Fatima i " +"jak pracujemy od czasu do czasu razem, i przebywam często z Daną, Draco i " +"Aleeshą. Nie znam zbyt dobrze bandy Boryszenków, Singhów, Vanessy, Uyena ani" +" Rhyzy, ale rozmawiamy czasami. Co chciałbyś wiedzieć?" + #: lang/json/talk_topic_from_json.py msgid "" "For better or worse, we're a community now. Fatima and I work together a " @@ -179970,19 +180939,6 @@ msgstr "" "Uyen i Rhyzea ciągle marudzą o decyzjach przywództwa, jakby sami mieli coś " "do powiedzenia. Co chciałbyś wiedzieć?" -#: 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 "" -"Cóż, cała nasza hałastra. Zaczynamy formować drobną społeczność. Fatima i " -"jak pracujemy od czasu do czasu razem, i przebywam często z Daną, Draco i " -"Aleeshą. Nie znam zbyt dobrze bandy Boryszenków, Singhów, Vanessy, Uyena ani" -" Rhyzy, ale rozmawiamy czasami. Co chciałbyś wiedzieć?" - #: lang/json/talk_topic_from_json.py msgid "Can you tell me about the Free Merchants?" msgstr "Co mi możesz powiedzieć o Wolnych Kupcach?" @@ -180052,6 +181008,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 "" +"Borys i Garry są małżeństwem jak sądzę. Zwykle trzymają się razem, " +"powiedziałabym że odnoszą się do wszystkich z rezerwą. Stan jest chyba " +"bratem Borysa, ale nie jestem tego pewna. Wydaje się być miły, ale nie jest " +"zbyt gadatliwy. Nie potrafię wyrobić sobie o nich opinii. Nauczyłam się nie " +"wsadzać nosa nie w swoje sprawy." + #: lang/json/talk_topic_from_json.py msgid "" "I didn't get to know Boris, Garry, and Stan so well for the first while. " @@ -180070,16 +181039,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 "" -"Borys i Garry są małżeństwem jak sądzę. Zwykle trzymają się razem, " -"powiedziałabym że odnoszą się do wszystkich z rezerwą. Stan jest chyba " -"bratem Borysa, ale nie jestem tego pewna. Wydaje się być miły, ale nie jest " -"zbyt gadatliwy. Nie potrafię wyrobić sobie o nich opinii. Nauczyłam się nie " -"wsadzać nosa nie w swoje sprawy." +"Nie potrafię wyrobić sobie o nich opinii. Nigdy nie rozmawiają z nikim spoza" +" swojej grupy rodzinnej, siedzą sobie na swoim miejscu i rozmawiają w " +"Punjabi. Zawsze wydają się mili, i odpracowują swoją działkę, ale nie nie " +"nawiązują żadnych więzi." #: lang/json/talk_topic_from_json.py msgid "" @@ -180096,15 +181064,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 "" -"Nie potrafię wyrobić sobie o nich opinii. Nigdy nie rozmawiają z nikim spoza" -" swojej grupy rodzinnej, siedzą sobie na swoim miejscu i rozmawiają w " -"Punjabi. Zawsze wydają się mili, i odpracowują swoją działkę, ale nie nie " -"nawiązują żadnych więzi." +"Vanessa... cóż, jest sopko jak sądzę. Szczerze mówiąc doprowadza mnie do " +"szału, ale siedzimy w tym razem, więc staram się nie być zbyt opryskliwa. " +"Uyen i Rhyzea chyba by chcieli zarządzać tym cyrkiem, ale staram się trzymać" +" z dala od polityki i skupić na budowaniu rzeczy. Nie widzę żeby wypłynęło z" +" tego jakieś dobro. Alonzo jest ok, jest mną wyraźnie zainteresowany, i " +"chyba każdą kobietą tutaj. Nie moja sprawa, w tak małej grupie.John to " +"chodzący stereotyp, wyobrażam sobie że jest w nim jakaś głębia, ale jeszcze " +"jej nie dojrzałam." #: lang/json/talk_topic_from_json.py msgid "" @@ -180128,33 +181104,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... cóż, jest sopko jak sądzę. Szczerze mówiąc doprowadza mnie do " -"szału, ale siedzimy w tym razem, więc staram się nie być zbyt opryskliwa. " -"Uyen i Rhyzea chyba by chcieli zarządzać tym cyrkiem, ale staram się trzymać" -" z dala od polityki i skupić na budowaniu rzeczy. Nie widzę żeby wypłynęło z" -" tego jakieś dobro. Alonzo jest ok, jest mną wyraźnie zainteresowany, i " -"chyba każdą kobietą tutaj. Nie moja sprawa, w tak małej grupie.John to " -"chodzący stereotyp, wyobrażam sobie że jest w nim jakaś głębia, ale jeszcze " -"jej nie dojrzałam." #: 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 "" @@ -180209,11 +181165,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -180256,15 +181212,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 @@ -180469,12 +181425,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 @@ -180565,17 +181521,17 @@ msgid "Do you want to talk about your story?" msgstr "Chcesz porozmawiać o swojej historii?" #: 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 @@ -180693,10 +181649,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, jesteś z powrotem. " - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " @@ -180705,6 +181657,10 @@ msgstr "" "O, wspaniale. Kolejna nowa gęba do karmienia? Wszystko czego potrzebujemy. " "Cóż, ja jestem Vanessa." +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "Oh, jesteś z powrotem. " + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "Nie jestem nową gębą do karmienia, ale ciebie też miło poznać." @@ -180746,14 +181702,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 " @@ -180762,6 +181710,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 " @@ -180940,15 +181896,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 @@ -181341,14 +182297,14 @@ 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 "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 "" @@ -181381,14 +182337,14 @@ msgstr "" msgid "Well, I'd better be going. Bye." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "Witaj marszalu..." - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "Witaj..." +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "Witaj marszalu..." + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -181646,14 +182602,14 @@ msgid "" "attacked by zombie hordes, as you might guess." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "Marszalu..." - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "Obywatelu..." +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "Marszalu..." + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "Czy mogę pohandlować i kupić zapasy?" @@ -181724,14 +182680,14 @@ msgstr "" "Nie możemy. Nie mamy nic co moglibyśmy poświęcić na sprzedaż, a ja nie mam " "budżetu by kupować od ciebie. Zgaduję że na darowiznę się nie łapię?" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "Nosisz zaprawdę błyszczącą odznakę!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "Heh, wyglądasz na kogoś ważnego." +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "Nosisz zaprawdę błyszczącą odznakę!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "Jestem tu tak naprawdę nowy." @@ -181814,6 +182770,10 @@ msgstr "" " jest dość zawiłe. Zależy kogo pytasz. Kupiec zdecydowanie nie chce mnie " "tutaj jeżeli nie handluję, ale... niektórym jakoś udaje się prześlizgać." +#: lang/json/talk_topic_from_json.py +msgid "Ssh. Some people in here hate... mutations. This was an accident." +msgstr "Ssh. Niektórzy ludzie tutaj nienawidzą... mutacji. To był wypadek." + #: lang/json/talk_topic_from_json.py msgid "" "Same way you got yours, I bet. Keep quiet about it, some people here look " @@ -181822,10 +182782,6 @@ msgstr "" "Założę się, że tak samo jak ty zdobyłeś swoją. Nie rozgłaszaj tego, " "niektórzy tutaj nie lubią tu takich jak my." -#: lang/json/talk_topic_from_json.py -msgid "Ssh. Some people in here hate... mutations. This was an accident." -msgstr "Ssh. Niektórzy ludzie tutaj nienawidzą... mutacji. To był wypadek." - #: lang/json/talk_topic_from_json.py msgid "Sorry to ask" msgstr "Wybacz że pytam" @@ -181855,23 +182811,23 @@ msgstr "Kupuję." msgid "Who needs rebar?" msgstr "Kto potrzebuje prętów zbrojeniowych?" +#: lang/json/talk_topic_from_json.py +msgid "Screw You!" +msgstr "Pieprz się!" + #: lang/json/talk_topic_from_json.py msgid "As if you're one to talk. Screw You." msgstr "Tak jakbyś miał coś do gadania. Pieprz się." #: lang/json/talk_topic_from_json.py -msgid "Screw You!" -msgstr "Pieprz się!" +msgid "Huh, thought I smelled someone new. Can I help you?" +msgstr "Huh, tak myślałem że wyczuwam kogoś nowego. W czym pomóc?" #: lang/json/talk_topic_from_json.py msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "" "Wydawało mi się że wyczuwam psa. Żartowałem... proszę nie aresztuj mnie." -#: lang/json/talk_topic_from_json.py -msgid "Huh, thought I smelled someone new. Can I help you?" -msgstr "Huh, tak myślałem że wyczuwam kogoś nowego. W czym pomóc?" - #: lang/json/talk_topic_from_json.py msgid "You… smelled me?" msgstr "" @@ -182199,7 +183155,9 @@ msgid "Glad to have you aboard." msgstr "Cieszę się że mam cię na pokładzie." #: 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 @@ -182207,9 +183165,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 @@ -182458,38 +183414,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 @@ -182734,16 +183690,16 @@ msgid "I'll talk with them then…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "Mogę ci pomóc marszalu?" +msgid "Morning ma'am, how can I help you?" +msgstr "Dobry, psze pani, w czym mogę pomóc?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "Dobry, sir, w czym mogę pomóc?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "Dobry, psze pani, w czym mogę pomóc?" +msgid "Can I help you, marshal?" +msgstr "Mogę ci pomóc marszalu?" #: lang/json/talk_topic_from_json.py msgid "" @@ -182872,14 +183828,14 @@ msgstr "Jakie rodzaje prac macie tu dla mnie?" msgid "Not now." msgstr "Nie teraz." -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "Przyjdź później, najpierw muszę się zająć paroma rzeczami." - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "Mogę zerknąć na ciebie lub twoich towarzyszy jeżeli jesteście ranni." +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "Przyjdź później, najpierw muszę się zająć paroma rzeczami." + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "[$200, 30m] Musisz mnie połatać." @@ -189774,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" @@ -194729,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" @@ -197211,16 +198182,11 @@ msgstr "Rozmrażasz i podgrzewasz jedzenie." msgid "You heat up the food." msgstr "Podgrzewasz jedzenie." -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.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 -#, c-format -msgid "You successfully mended the %s." -msgstr "Powiodło ci się załatanie %s." - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -200173,6 +201139,11 @@ 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 "" @@ -200583,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." @@ -200700,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." @@ -200934,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. " @@ -202029,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" @@ -202442,6 +203439,32 @@ msgstr "" 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 "" @@ -202684,262 +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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" @@ -205687,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!)" @@ -208331,6 +209102,14 @@ 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 "" @@ -208346,59 +209125,6 @@ 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 "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" -"Risk: None\n" -"Time: Ongoing" -msgstr "" - -#: src/faction_camp.cpp -msgid "Assign Jobs" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" @@ -208433,23 +209159,6 @@ 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 "" @@ -208612,27 +209321,19 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: 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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" #: src/faction_camp.cpp @@ -208647,14 +209348,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -208669,15 +209370,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -208692,13 +209393,83 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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" +"Risk: None\n" +"Time: Ongoing" +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign Jobs" msgstr "" #: src/faction_camp.cpp @@ -208711,6 +209482,10 @@ msgid "" "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 "" @@ -208747,10 +209522,6 @@ msgstr "" 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…" msgstr "" @@ -216960,19 +217731,19 @@ msgid "" msgstr "" #: src/item.cpp -msgid "can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp @@ -216981,24 +217752,24 @@ msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid " and upsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid " and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid " but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid " but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -217096,6 +217867,14 @@ 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 "" @@ -219126,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" @@ -225151,7 +225939,7 @@ 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 @@ -227913,6 +228701,14 @@ msgstr "Starcie pomiędzy %d członkami %s %s i %d członkami %s %s %s!" msgid "You don't have any companions to send out…" msgstr "" +#: src/mission_companion.cpp +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 @@ -227920,41 +228716,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" -msgstr "" - -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" -"Kogo chcesz wysłać? [ WALKA : PRZETRWANIE : PRZEMYSŁ ]" #: src/mission_companion.cpp msgid "You choose to send no one…" msgstr "" -#: 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!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "" @@ -229874,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" @@ -233128,6 +233908,11 @@ msgstr "" msgid "My current location" msgstr "Moja obecna lokalizacja" +#: 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" @@ -233226,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." @@ -233912,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" @@ -237058,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!" @@ -237111,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!" @@ -237876,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 +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." @@ -238059,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 @@ -238305,6 +239087,13 @@ 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 +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" +msgstr "" + #: src/player_activity.cpp #, c-format msgid "%s…" @@ -239688,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" @@ -240682,6 +241467,10 @@ msgstr "" 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 "" diff --git a/lang/po/pt_BR.po b/lang/po/pt_BR.po index dd501283fd509..7dee4ef73246e 100644 --- a/lang/po/pt_BR.po +++ b/lang/po/pt_BR.po @@ -23,7 +23,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-04 19:23+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,7 +44,7 @@ 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 à velocidade da luz e sem recuo." @@ -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 @@ -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" @@ -528,7 +540,7 @@ 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" @@ -573,8 +585,8 @@ msgstr "" #: 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,7 +732,7 @@ 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 @@ -727,6 +741,9 @@ msgid "" "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 "" +"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" @@ -773,7 +790,7 @@ 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 @@ -781,6 +798,8 @@ msgid "" "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" @@ -802,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" @@ -814,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" @@ -825,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" @@ -836,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" @@ -853,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 @@ -862,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" @@ -874,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" @@ -894,7 +913,7 @@ 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 @@ -903,6 +922,9 @@ msgid "" "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" +"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" @@ -960,7 +982,7 @@ 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 @@ -968,10 +990,13 @@ msgid "" "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 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 @@ -1009,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 @@ -1042,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" @@ -1055,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." @@ -1069,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 @@ -1083,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." @@ -1112,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" @@ -1130,6 +1156,10 @@ msgid "" "smoke, that is deadly to bacteria and humans alike, or oxidized to make " "paper-bleaching agents." msgstr "" +"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" @@ -1140,7 +1170,7 @@ msgstr[1] "pedaços de enxofre" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py msgid "A chunk of pure sulfur. Break it up to use it." -msgstr "" +msgstr "Um bloco de enxofre puro. Quebre-o em pedaços menores para utilizar." #: lang/json/AMMO_from_json.py msgid "cement" @@ -1209,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" @@ -1223,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" @@ -1241,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" @@ -1258,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" @@ -1275,6 +1306,8 @@ msgid "" "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 para se obter zinco, ou " +"utilizado por si só em algumas outras reações." #: lang/json/AMMO_from_json.py msgid "manganese dioxide" @@ -1289,6 +1322,9 @@ msgid "" "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 no mineral " +"pirolusita, e é usado na produção comercial de baterias alcalinas e de " +"zinco-carbono." #: lang/json/AMMO_from_json.py msgid "potassium chloride" @@ -1351,6 +1387,9 @@ msgid "" "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" @@ -1366,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." @@ -1389,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" @@ -1438,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)" @@ -2898,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" @@ -6088,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" @@ -6139,6 +6189,27 @@ msgid "" "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 "carga de lança de fogo" @@ -6422,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" @@ -8564,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" @@ -9352,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" @@ -18568,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 @@ -18580,8 +18681,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." @@ -24820,6 +24920,21 @@ msgid "" "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" @@ -26485,6 +26600,30 @@ msgid "" "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" @@ -26933,6 +27072,41 @@ msgid "" " 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" @@ -34309,6 +34483,17 @@ msgstr[1] "" 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 "" @@ -37686,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" @@ -37701,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" @@ -37717,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 @@ -37730,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 @@ -37739,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" @@ -37759,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 @@ -37768,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 @@ -37784,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 @@ -37800,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 @@ -37817,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 @@ -37849,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" @@ -37880,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" @@ -38216,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" @@ -40698,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" @@ -41529,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" @@ -44172,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" @@ -44200,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" @@ -49756,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 @@ -49767,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 @@ -49789,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 @@ -49800,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 @@ -49811,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 @@ -49824,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 @@ -49836,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 @@ -49851,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 @@ -49860,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" @@ -49917,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 @@ -49933,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 @@ -50234,8 +50426,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "plow" msgid_plural "plows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arado" +msgstr[1] "arados" #. ~ Description for plow #: lang/json/GENERIC_from_json.py @@ -50479,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 @@ -50492,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" @@ -53607,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" @@ -55643,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 "" @@ -56752,6 +56988,294 @@ msgstr "ITENS VESTADOS" 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" @@ -57634,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" @@ -57692,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 @@ -57701,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 @@ -57715,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 @@ -57726,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" @@ -57740,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 @@ -57788,15 +58318,18 @@ 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" @@ -57805,11 +58338,12 @@ 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 "carregador de tambor para Thumpson" +msgstr "carregador de tambor para Thompson" #. ~ Description for Thompson drum magazine #: lang/json/MAGAZINE_from_json.py @@ -67673,8 +68207,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "EMP turret" msgid_plural "EMP turrets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "torre PEM" +msgstr[1] "torres PEM" #. ~ Description for EMP turret #: lang/json/MONSTER_from_json.py @@ -67684,16 +68218,16 @@ 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" msgid_plural "guardin gnomes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gnobô de jardim" +msgstr[1] "gnobôs de jardim" #. ~ Description for guardin gnome #. ~ Description for garden gnome @@ -67704,8 +68238,8 @@ msgstr "Um gnomo de jardim normal e completamente inofensivo." #: lang/json/MONSTER_from_json.py msgid "utility robot" msgid_plural "utility robots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "robô utilitário" +msgstr[1] "robôs utilitários" #. ~ Description for utility robot #: lang/json/MONSTER_from_json.py @@ -67713,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 @@ -67723,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 @@ -67734,15 +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" msgid_plural "defense robots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "robô de defesa" +msgstr[1] "robôs de defesa" #. ~ Description for defense robot #: lang/json/MONSTER_from_json.py @@ -67750,15 +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" msgid_plural "security robots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "robô de segurança" +msgstr[1] "robôs de segurança" #. ~ Description for security robot #: lang/json/MONSTER_from_json.py @@ -67766,14 +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" msgid_plural "riotcontrol robots" -msgstr[0] "" -msgstr[1] "" +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 @@ -67782,9 +68316,9 @@ 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" @@ -71011,6 +71545,46 @@ msgstr "" "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" msgid_plural "RM13 combat armors" @@ -78530,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" @@ -78544,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" @@ -78567,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" @@ -78582,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" @@ -78599,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" @@ -78677,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 @@ -78702,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 @@ -78710,9 +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!" +" 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" @@ -78725,8 +79295,7 @@ 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 @@ -78749,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" @@ -78762,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 @@ -78771,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" @@ -78784,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 @@ -78794,9 +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." +"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" @@ -78807,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 @@ -78822,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" @@ -78842,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 @@ -82272,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 @@ -82289,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 @@ -82317,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" @@ -82339,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 @@ -82349,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 @@ -82364,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" @@ -82384,8 +82950,8 @@ msgstr "" #: 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 @@ -82393,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 @@ -82410,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 @@ -82428,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 @@ -82448,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 @@ -82467,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 @@ -82483,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 @@ -82499,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 @@ -82516,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" @@ -84388,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 "" @@ -85768,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" @@ -87216,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" @@ -87655,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" @@ -87693,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 @@ -88067,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" @@ -88982,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 "" @@ -89645,6 +90219,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 "" @@ -94713,25 +95291,49 @@ 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 "" +#. ~ 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," @@ -94741,22 +95343,46 @@ msgid "" "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 " @@ -94767,48 +95393,108 @@ msgid "" "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." @@ -94816,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." @@ -94828,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 @@ -95548,8 +96294,7 @@ msgstr "Uma barricada de estrada. Para barricar estradas." 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." @@ -95668,7 +96413,8 @@ msgstr "estatua" msgid "A carved statue made of stone." msgstr "Uma estátua esculpida em pedra." -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "baque." @@ -96074,7 +96820,7 @@ msgstr "" "conforto ou calor." #: 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!" @@ -96945,6 +97691,17 @@ msgstr "banquinho" 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 "quadro de avisos" @@ -98186,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!" @@ -101308,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 "" @@ -101339,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 "" @@ -101374,8 +102140,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "McMillan TAC-50" msgid_plural "McMillan TAC-50s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "McMillan TAC-50" +msgstr[1] "McMillan TAC-50s" #: lang/json/gun_from_json.py msgid "" @@ -101390,8 +102156,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Serbu BFG-50" msgid_plural "Serbu BFG-50s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Serbu BFG-50" +msgstr[1] "Serbu BFG-50s" #: lang/json/gun_from_json.py msgid "" @@ -101402,8 +102168,8 @@ 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 "" @@ -101418,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 "" @@ -101432,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 "" @@ -101446,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 "" @@ -101469,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 "" @@ -101485,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 "" @@ -101501,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 "" @@ -101524,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 "" @@ -101543,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 "" @@ -101555,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 "" @@ -101576,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 "" @@ -101590,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 "" @@ -101609,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 "" @@ -101626,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 "" @@ -101642,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 "" @@ -101656,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 "" @@ -101672,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 "" @@ -101689,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 "" @@ -101703,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 "" @@ -101721,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 "" @@ -101737,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 "" @@ -101749,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 "" @@ -102081,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 "" @@ -102205,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 "" @@ -102219,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 "" @@ -102232,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 "" @@ -102246,20 +103012,22 @@ 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 "" @@ -102272,8 +103040,8 @@ 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 "" @@ -102288,8 +103056,8 @@ 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 "" @@ -102301,8 +103069,8 @@ 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 "" @@ -102315,8 +103083,8 @@ 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 "" @@ -102331,8 +103099,8 @@ 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 "" @@ -102346,8 +103114,8 @@ 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 "" @@ -102363,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 "" @@ -102377,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 "" @@ -102393,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" @@ -102439,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 "" @@ -102453,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 "" @@ -102607,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 "" @@ -102621,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 "" @@ -102637,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." @@ -102649,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 "" @@ -102666,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 "" @@ -102680,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 "" @@ -102695,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 "" @@ -102712,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 "" @@ -102731,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 "" @@ -102745,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 "" @@ -102789,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 "" @@ -102805,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 "" @@ -102819,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 "" @@ -102881,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." @@ -102948,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 "" @@ -103173,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 "" @@ -104136,6 +104904,19 @@ msgid "" "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" @@ -104262,12 +105043,6 @@ msgstr "" "disparados dessa arma têm uma boa chance de permanecer intactos para " "reutilização." -#: 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 " @@ -109721,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 @@ -109743,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 @@ -109756,23 +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 ." +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 @@ -110963,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" @@ -110975,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" @@ -110983,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" @@ -110995,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" @@ -111027,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" @@ -111043,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" @@ -111055,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" @@ -111063,7 +111839,7 @@ 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" @@ -111071,7 +111847,7 @@ 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" @@ -111083,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" @@ -111115,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" @@ -111127,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" @@ -111191,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" @@ -111199,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" @@ -111231,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" @@ -111239,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" @@ -111255,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" @@ -111287,11 +112063,11 @@ 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 Minimap" @@ -111307,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" @@ -111323,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" @@ -111331,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" @@ -111391,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" @@ -111399,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" @@ -111407,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)" @@ -111455,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" @@ -111485,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" @@ -111509,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" @@ -111533,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" @@ -111549,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" @@ -111561,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" @@ -111577,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" @@ -111697,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" @@ -111717,7 +112493,7 @@ 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" @@ -111725,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" @@ -111737,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" @@ -111753,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" @@ -111765,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" @@ -111805,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" @@ -111930,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 @@ -112131,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 @@ -112153,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 @@ -112173,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 @@ -112203,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 @@ -112223,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 @@ -112233,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 @@ -112258,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 @@ -112273,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 @@ -112298,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 @@ -112308,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 @@ -112358,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 @@ -112398,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 @@ -112498,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 @@ -112588,7 +113364,7 @@ msgstr "" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Landfill" -msgstr " Aterro" +msgstr "Aterro " #. ~ Sign #: lang/json/mapgen_from_json.py @@ -112608,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 @@ -112618,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 @@ -112643,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 @@ -112680,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 @@ -112690,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 @@ -112716,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 @@ -112741,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 @@ -112761,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 @@ -112774,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 @@ -112790,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 @@ -112830,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 @@ -112860,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 @@ -112885,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 @@ -112950,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 @@ -112960,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 @@ -112969,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 @@ -112987,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 @@ -113018,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 @@ -113028,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 @@ -113049,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 @@ -115234,6 +116011,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 "" @@ -116099,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..." @@ -116152,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 "" @@ -116161,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?" @@ -116180,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" @@ -116196,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 "" @@ -116208,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 "" @@ -116355,7 +117136,7 @@ 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 "" @@ -122101,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" @@ -129414,20 +130216,20 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Made Of Sugar" -msgstr "" +msgstr "De Açúcar" #. ~ Description for Made Of Sugar #: lang/json/mutation_from_json.py msgid "You are literally made of sugar." -msgstr "" +msgstr "Você é literalmente de açúcar." #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Bone Seer" -msgstr "" +msgstr "Vidente de Ossos" #: lang/json/npc_class_from_json.py msgid "I wish to sing the song of the Bones" -msgstr "" +msgstr "Eu desejo cantar a canção dos Ossos" #: lang/json/npc_class_from_json.py msgid "No class" @@ -129439,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." @@ -129476,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" @@ -129508,11 +130310,11 @@ msgstr "Cientista" #: lang/json/npc_class_from_json.py msgid "I'm looking for clues concerning these monsters' origins…" -msgstr "" +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." @@ -129520,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." @@ -129544,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" @@ -129568,7 +130370,7 @@ 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!" @@ -129576,7 +130378,7 @@ 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." @@ -129600,7 +130402,7 @@ 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." @@ -129608,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." @@ -129616,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" @@ -131717,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 @@ -131732,6 +132534,14 @@ 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 "" @@ -132417,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" @@ -143488,6 +144302,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 " @@ -144335,6 +145325,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 "" @@ -150959,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 @@ -150973,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 @@ -160731,16 +161711,16 @@ msgid "Clothing Store" msgstr "Loja de roupas" #: lang/json/talk_topic_from_json.py -msgid "Acolyte." -msgstr "Acólito." +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 "You there. Quiet down. Can you hear it? The song?" -msgstr "Você aí. Silêncio. Consegue escutar? A canção?" +msgid "Acolyte." +msgstr "Acólito." #: lang/json/talk_topic_from_json.py msgid "What? What do you mean? What song?" @@ -160887,36 +161867,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160984,13 +161964,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -161305,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?" @@ -161386,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!" @@ -161414,11 +162394,11 @@ msgid "Go back to sleep." msgstr "Volta 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 @@ -161802,11 +162782,11 @@ msgid "Show me what needs to be done at the camp." 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 -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161869,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 " @@ -161891,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 @@ -161906,14 +162886,14 @@ msgstr "Bem, estou me sentindo muito mal ... você está bem?" #: 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 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 @@ -161990,11 +162970,11 @@ msgid "Keep your distance!" msgstr "Mantenha distância!" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "This is my territory, ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "This is my territory, ." +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162050,19 +163030,19 @@ msgid "I don't care." msgstr "Eu não me importo." #: 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 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 just have one 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 have another 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 @@ -162083,11 +163063,11 @@ msgid "Never mind, I'm not interested." msgstr "Não importa, não estou interessado." #: lang/json/talk_topic_from_json.py -msgid "Which job?" +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 @@ -162309,31 +163289,31 @@ msgid "Thanks!" msgstr "Obrigado!" #: 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 -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 "I'm too thirsty, give me something to drink." -msgstr "Estou com muita sede, me dê algo para beber." +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 "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'm too tired, let me rest first." -msgstr "Estou muito cansado, deixe-me descansar primeiro." +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 "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 have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162341,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." @@ -162441,20 +163421,20 @@ msgid "On second thought, never mind." msgstr "No segundo pensamento, não importa." #: 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 "" +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 have some reason for denying you training." -msgstr "Eu tenho alguns motivos para negar que você está treinando." +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!" @@ -162492,14 +163472,14 @@ msgstr "Eu prefiro manter isso para mim mesmo." msgid "I understand…" msgstr "" -#: 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 "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." @@ -162642,16 +163622,16 @@ msgstr "Prazer fazer negócios!" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "" @@ -163590,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 @@ -163606,11 +164586,11 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165362,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." @@ -165374,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 " @@ -165382,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 "" @@ -165392,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 " @@ -165401,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." @@ -165892,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." @@ -165983,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 "" @@ -165998,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." @@ -166024,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." @@ -166141,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 "" @@ -166153,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 "" @@ -167035,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 " @@ -167071,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 " @@ -167178,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 " @@ -167194,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 " @@ -167623,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." @@ -167654,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 @@ -167684,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 @@ -167694,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 @@ -167769,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 fondness " -"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 @@ -167869,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 @@ -167877,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 @@ -168175,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 @@ -168307,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 "" @@ -168382,8 +169362,12 @@ 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." +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 "" +" Senhor, eu não sei como diabos você chegou aqui, mas se você tem algum " +"senso, você sairá enquanto puder." #: lang/json/talk_topic_from_json.py msgid "" @@ -168394,12 +169378,8 @@ msgstr "" " senso, você sairá enquanto puder." #: 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 "" -" Senhor, eu não sei como diabos você chegou aqui, mas se você tem algum " -"senso, você sairá enquanto puder." +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?" @@ -168479,8 +169459,9 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: 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." @@ -168488,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." @@ -168538,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." @@ -168567,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." @@ -168577,13 +169549,21 @@ 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…" @@ -168640,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." @@ -168656,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 "" @@ -168683,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?" @@ -168803,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 @@ -168893,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 "" @@ -169001,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 @@ -169029,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 @@ -169047,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?" @@ -169350,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 @@ -169404,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?" @@ -169428,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. " @@ -169442,6 +170416,12 @@ msgstr "" " Porque eu com certeza não me encaixo, então estou sentada aqui até morrer " "de fome. Ajudar uma pobre alma doentia?" +#: 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 "I could maybe help you out… want something to eat?" msgstr "" @@ -169463,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 @@ -169765,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á." @@ -169781,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?" @@ -169802,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?" @@ -169821,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 " @@ -169835,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 " @@ -169889,7 +170869,8 @@ msgid "How are things here?" 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 @@ -169899,8 +170880,7 @@ msgid "" 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 @@ -169928,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 " @@ -169940,23 +170915,28 @@ msgid "" 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?" +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 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 "" #: 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 "" @@ -169985,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 " @@ -169993,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 @@ -170004,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." @@ -170021,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 "" @@ -170093,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 " @@ -170110,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 " @@ -170138,6 +171118,10 @@ msgstr "" 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." @@ -170146,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." @@ -170199,8 +171179,10 @@ 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 @@ -170211,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 @@ -170236,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 " @@ -170257,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" @@ -170292,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" @@ -170303,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 " @@ -170339,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 "" @@ -170583,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 @@ -170684,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 @@ -170743,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." @@ -170755,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 "" @@ -170820,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 @@ -170893,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." @@ -170901,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 "" @@ -170953,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?" @@ -171160,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 " @@ -171180,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?" @@ -171263,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. " @@ -171281,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 "" @@ -171308,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 "" @@ -171341,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 "" @@ -171422,11 +172402,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -171469,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 @@ -171678,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 @@ -171774,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 @@ -171896,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 " @@ -171908,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 "" @@ -171947,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 " @@ -171963,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 " @@ -172140,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 @@ -172539,14 +173519,14 @@ msgstr "Mantenha civil ou vou trazer a dor." msgid "Just on watch, move along." msgstr "Apenas de relance, siga em frente." -#: lang/json/talk_topic_from_json.py -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 "Rough out there, isn't it?" msgstr "Áspero lá fora, não é?" +#: lang/json/talk_topic_from_json.py +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…" msgstr "" @@ -172579,14 +173559,14 @@ msgstr "" 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 " @@ -172844,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?" @@ -172921,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." @@ -173012,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 " @@ -173020,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" @@ -173052,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." @@ -173066,10 +174050,6 @@ msgstr "" " Eu pensei que eu cheirava um porco. Eu estou brincando ... por favor, não " "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 "" @@ -173402,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 @@ -173410,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 @@ -173661,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 @@ -173940,16 +174920,16 @@ 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 "" @@ -174080,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." @@ -179315,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 @@ -181018,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" @@ -186026,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" @@ -188506,14 +189501,9 @@ msgstr "Você descongela e esquenta a comida." msgid "You heat up the food." msgstr "Você aquece a comida." -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -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 @@ -191398,6 +192388,11 @@ 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 msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" @@ -191807,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." @@ -191924,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." @@ -192158,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 "" @@ -193213,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" @@ -193627,6 +194648,28 @@ msgstr "" 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 "" @@ -193864,264 +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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" @@ -196837,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!)" @@ -199458,6 +200247,14 @@ 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 "" @@ -199473,59 +200270,6 @@ 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 -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 #, c-format msgid "" @@ -199560,23 +200304,6 @@ 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 "" @@ -199739,27 +200466,19 @@ msgid "" "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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" #: src/faction_camp.cpp @@ -199774,14 +200493,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -199796,15 +200515,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp @@ -199819,13 +200538,83 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "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 +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 @@ -199838,6 +200627,10 @@ msgid "" "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 "" @@ -199874,10 +200667,6 @@ msgstr "" 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…" msgstr "" @@ -207993,19 +208782,19 @@ msgid "" msgstr "" #: src/item.cpp -msgid "can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp @@ -208014,24 +208803,24 @@ msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid " and upsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid " and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid " but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid " but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -208131,6 +208920,12 @@ 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 "" @@ -210137,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" @@ -216117,7 +216921,7 @@ 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 @@ -218871,6 +219675,14 @@ msgstr "" msgid "You don't have any companions to send out…" msgstr "" +#: src/mission_companion.cpp +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 @@ -218878,40 +219690,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "Quem você quer enviar? [COMBATE: SOBREVIVENCIA: INDÚSTRIA]" - #: src/mission_companion.cpp msgid "You choose to send no one…" 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!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "" @@ -220819,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" @@ -224031,6 +224828,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" @@ -224129,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." @@ -224814,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" @@ -227959,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!" @@ -228012,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!" @@ -228763,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 "" + +#: 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" +msgid "You are currently unable to mend the %s this way." msgstr "" #: src/player.cpp @@ -228949,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 @@ -229192,6 +229995,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…" @@ -230564,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" @@ -231536,6 +232342,10 @@ msgstr "" 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" diff --git a/lang/po/ru.po b/lang/po/ru.po index a018c9bf9e2e1..6a9e988dc39eb 100644 --- a/lang/po/ru.po +++ b/lang/po/ru.po @@ -36,7 +36,6 @@ # Валентин Литовченко , 2019 # Darketed , 2019 # AndyProhor , 2019 -# Victor_U , 2019 # Даниил Шаверов , 2019 # Eila Attwood , 2019 # Gamp Forest, 2019 @@ -61,13 +60,16 @@ # 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-11-04 19:23+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Николай Е, 2019\n" "Language-Team: Russian (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ru/)\n" @@ -6697,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" @@ -6762,6 +6779,29 @@ 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 "заряд для «огненного копья»" @@ -9414,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" @@ -9657,8 +9719,8 @@ msgid "" msgstr "" "Тонкий, легкий проводящий жилет с молнией на спине, используемый " "фехтовальщиками для электронного подсчета очков. Его внешний слой " -"представляет собой стёганную смесь из прочного хлопка и нитей из нержавеющей" -" стали." +"представляет собой стёганную смесь из прочного хлопка и проволоки из " +"нержавеющей стали." #: lang/json/ARMOR_from_json.py msgid "lamé (saber)" @@ -9677,8 +9739,8 @@ msgid "" msgstr "" "Тонкая, легкая проводящая куртка с молнией на спине, используемая " "фехтовальщиками для электронного подсчета очков. Её внешний слой " -"представляет собой стёганную смесь из прочного хлопка и нитей из нержавеющей" -" стали." +"представляет собой стёганную смесь из прочного хлопка и проволоки из " +"нержавеющей стали." #: lang/json/ARMOR_from_json.py msgid "fencing mask" @@ -10286,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" @@ -15479,7 +15560,7 @@ msgid "" msgstr "" "Сокращенно от «zenshin taitsu», зентай — это форма одежды из нейлона и " "полиуретана. Полностью закрытый костюм, сильно облегающий, с маской (без " -"глаз и рта) и перчатками, где нет ни миллиметра обнаженного тела. Имея " +"глаз и рта) и перчатками, где нет ни миллиметра обнажённого тела. Имея " "парочку таких, совместно с друзьями вы можете устроить кабуки." #: lang/json/ARMOR_from_json.py @@ -18246,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 @@ -20934,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" @@ -20950,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." @@ -23353,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 @@ -28334,6 +28414,26 @@ 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" @@ -28923,7 +29023,7 @@ msgid "" "acetylene makes a great welding gas." msgstr "" "Очень горючий газ, взрывающийся под давлением. В сочетании с кислородом " -"превращается в отличную смесь для сварки." +"превращается в отличную смесь для горелки." #: lang/json/COMESTIBLE_from_json.py msgid "Spice" @@ -30177,6 +30277,36 @@ 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" @@ -30669,10 +30799,53 @@ msgid "" "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" @@ -33951,7 +34124,7 @@ msgid "cracklins" msgid_plural "cracklins" msgstr[0] "шкварки" msgstr[1] "шкварки" -msgstr[2] "шкварк" +msgstr[2] "шкварки" msgstr[3] "шкварки" #. ~ Description for cracklins @@ -37128,7 +37301,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "shelled pistachios" msgid_plural "shelled pistachios" -msgstr[0] "очищенная фисташка" +msgstr[0] "очищенные фисташки" msgstr[1] "очищенные фисташки" msgstr[2] "очищенные фисташки" msgstr[3] "очищенные фисташки" @@ -37143,7 +37316,7 @@ msgstr "Горсть орехов фисташкового дерева, очи #: lang/json/COMESTIBLE_from_json.py msgid "roasted pistachios" msgid_plural "roasted pistachios" -msgstr[0] "жареная фисташка" +msgstr[0] "жареные фисташки" msgstr[1] "жареные фисташки" msgstr[2] "жареные фисташки" msgstr[3] "жареные фисташки" @@ -38557,6 +38730,19 @@ msgstr[3] "абрикосы" 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 "росток кактуса" @@ -42897,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 "сыворотка возрождения" @@ -44681,8 +44858,8 @@ msgstr "Горсть твёрдых орехов дерева пекан, всё #: lang/json/GENERIC_from_json.py msgid "pistachios" msgid_plural "pistachios" -msgstr[0] "фисташина" -msgstr[1] "фисташины" +msgstr[0] "фисташки" +msgstr[1] "фисташки" msgstr[2] "фисташки" msgstr[3] "фисташки" @@ -45711,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" @@ -46488,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 @@ -46595,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 @@ -49704,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 "Закрыть крышку" @@ -49739,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 "Открыть крышку" @@ -60838,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" @@ -62153,24 +62414,24 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "Scroll of Clairvoyance" msgid_plural "Scroll of Clairvoyances" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +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 "" +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] "" +msgstr[0] "Свиток вулканической бомбы" +msgstr[1] "Свитка вулканической бомбы" +msgstr[2] "Свитков вулканических бомб" +msgstr[3] "Свитки вулканических бомб" #. ~ Description for Scroll of Lava Bomb #. ~ Description for Lava Bomb @@ -62180,6 +62441,9 @@ msgid "" "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" @@ -63321,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 "" @@ -64540,6 +64796,308 @@ msgstr "НАДЕТЫЕ ВЕЩИ" 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" @@ -68099,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" @@ -79397,6 +79955,8 @@ msgid "" "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 msgid "Cure Light Wounds" @@ -79436,6 +79996,8 @@ msgid "" "This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" +"Этот ритуал создаёт маленький камешек, наполненный магией биомантов. Эту " +"руну можно применять в рецептах как катализатор." #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Dark Sight" @@ -79697,6 +80259,8 @@ msgid "" "This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" +"Этот ритуал создаёт маленький камешек, наполненный магией друидов. Эту руну " +"можно применять в рецептах как катализатор." #: lang/json/SPELL_from_json.py msgid "Purification Seed" @@ -79708,6 +80272,8 @@ msgid "" "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" @@ -79756,17 +80322,19 @@ msgid "" "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 "" +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 "" +msgstr "Это вспомогательное заклинание вулканической бомбы." #: lang/json/SPELL_from_json.py msgid "Lava Bomb Heat" @@ -79778,11 +80346,11 @@ msgstr "" #: lang/json/SPELL_from_json.py msgid "Lava Bomb" -msgstr "" +msgstr "Вулканическая бомба" #: lang/json/SPELL_from_json.py msgid "Clairvoyance" -msgstr "" +msgstr "Ясновидение" #: lang/json/SPELL_from_json.py msgid "Twisted Restoration" @@ -79795,6 +80363,9 @@ msgid "" "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" @@ -79807,21 +80378,26 @@ msgid "" "unwise to use this in immediate danger, and may be fatal if done in critical" " condition. Improved brewing mitigates the strain of the spell." msgstr "" +"Это заклинание разгоняет ваше сердце, генерируя новую плоть и мышцы. " +"Неразумно использовать при прямой опасности и может быть смертельно в " +"критическом состоянии. Улучшенное заваривание смягчает нагрузку заклинания." #: lang/json/SPELL_from_json.py msgid "Conjure Throwing Blade I" -msgstr "" +msgstr "Сколдовать метательный клинок I" #. ~ Description for Conjure Throwing Blade I #: lang/json/SPELL_from_json.py msgid "conjures 3 throwing knives" -msgstr "" +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" @@ -79881,6 +80457,8 @@ msgid "" "This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" +"Этот ритуал создаёт маленький камешек, наполненный магией кельвинистов. Эту " +"руну можно применять в рецептах как катализатор." #: lang/json/SPELL_from_json.py msgid "Magic Missile" @@ -79924,6 +80502,8 @@ msgid "" "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 msgid "Cat's Grace" @@ -79992,6 +80572,8 @@ msgid "" "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 msgid "Lightning Blast" @@ -80058,6 +80640,8 @@ msgid "" "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 msgid "Taze" @@ -80715,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" @@ -82658,10 +83294,10 @@ 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] "" +msgstr[0] "волшебный кожаный ремень" +msgstr[1] "волшебных кожаных ремня" +msgstr[2] "волшебных кожаных ремней" +msgstr[3] "волшебные кожаные ремни" #: lang/json/TOOL_ARMOR_from_json.py msgid "Belt of Haste" @@ -82674,10 +83310,10 @@ 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] "" +msgstr[0] "Мегеньльöрð" +msgstr[1] "Мегеньльöрðа" +msgstr[2] "Мегеньльöрðов" +msgstr[3] "Мегеньльöрðы" #. ~ Description for Megingjörð #: lang/json/TOOL_ARMOR_from_json.py @@ -82685,14 +83321,16 @@ 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] "" +msgstr[0] "Малый карманный ремень" +msgstr[1] "Малых карманных ремня" +msgstr[2] "Малых карманных ремней" +msgstr[3] "Малые карманные ремни" #. ~ Description for Lesser Girdle of Pockets #. ~ Description for Greater Girdle of Pockets @@ -82702,14 +83340,17 @@ msgid "" "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] "" +msgstr[0] "Большой карманный ремень" +msgstr[1] "Больших карманных ремня" +msgstr[2] "Больших карманных ремней" +msgstr[3] "Большие карманные ремни" #: lang/json/TOOL_ARMOR_from_json.py msgid "Belt of Weaponry" @@ -90086,7 +90727,7 @@ msgstr "Вы зажигаете трут." #. ~ Use action need_charges_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "The ember carrier is out of tinder." -msgstr "Контейнер для углей погас." +msgstr "Контейнер для углей гаснет." #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py @@ -91857,10 +92498,10 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "modified combat knife" msgid_plural "modified combat knives" -msgstr[0] "модифицированный боевой нож" -msgstr[1] "модифицированных боевых ножа" -msgstr[2] "модифицированных боевых ножа" -msgstr[3] "модифицированные боевые ножи" +msgstr[0] "модифицированый боевой нож" +msgstr[1] "модифицированых боевых ножа" +msgstr[2] "модифицированых боевых ножа" +msgstr[3] "модифицированые боевые ножи" #. ~ Description for modified combat knife #: lang/json/TOOL_from_json.py @@ -91872,8 +92513,7 @@ msgid "" msgstr "" "Армейский боевой нож. Лёгкий и чрезвычайно острый, смертельно опасный в " "умелых руках или при установке в качестве штыка. Был модифицирован и допилен" -" для установки практически на любое оружие, кроме пистолетов, если вы этого " -"хотите." +" для установки практически на любое оружие, по желанию, кроме пистолетов." #: lang/json/TOOL_from_json.py msgid "hunting knife" @@ -92313,8 +92953,8 @@ msgid "" msgstr "" "Штык-нож — большое режущее оружие, которое можно прикрепить к стволу " "огнестрельного оружия или к арбалету, превратив их таким образом в копье. " -"Был модифицирован и допилен для установки практически на любое оружие, кроме" -" пистолетов и пистолет-пулеметов, если вы этого хотите." +"Был модифицирован и допилен для установки практически на любое оружие, по " +"желанию, кроме пистолетов и пистолет-пулеметов." #. ~ Description for tanto #: lang/json/TOOL_from_json.py @@ -92455,10 +93095,10 @@ msgid "" msgstr "" "Модификации, сделанные для этой фехтовальной рапиры, могут быть не " "спортивными, но они могут дать вам преимущество в этом финальном " -"соревновании. Были предприняты дополнительные усилия для изоляции рукоятки, " -"и электрошокер высокого напряжения был прикреплен к гарде, подключенному " -"через электронную схему к наконечнику. Касание заостренного наконечника " -"противника при нажатие кнопки вызовет болезненный удар током." +"соревновании. Дополнительно изолирована рукоять, и электрошокер высокого " +"напряжения был прикреплен к гарде, подключенный через электронную схему к " +"наконечнику. Касание заостренного наконечника противника при нажатии кнопки " +"вызовет болезненный удар током." #: lang/json/TOOL_from_json.py msgid "electrified épée" @@ -92479,8 +93119,8 @@ msgid "" "will deliver a painful electric shock." msgstr "" "Модификации, сделанные для этой фехтовальной рапиры, могут быть не " -"спортивными, но они могут дать вам преимущество в сегоднышнем финальном " -"соревновании. Была дополнительно изолированная рукоять и электрошокер " +"спортивными, но они могут дать вам преимущество в сегодняшнем финальном " +"соревновании. Была дополнительно изолированна рукоять и электрошокер " "высокого напряжения был прикреплен к гарде, подключенный проводом к " "наконечнику. Касание заостренного наконечника противника при нажатии кнопки " "вызовет болезненный удар током." @@ -92505,10 +93145,10 @@ msgid "" msgstr "" "Модификации, сделанные для этой фехтовальной сабли, могут быть не " "спортивными, но они могут дать вам преимущество в сегодняшнем финальном " -"соревновании. Была дополнительно изолированна рукоять и электрошокер " -"высокого напряжения был прикреплен к гарде, подключенный к наконечнику. " -"Касание заостренного наконечника противника при нажатии кнопки вызовет " -"болезненный удар током." +"соревновании. Электрошокер высокого напряжения был прикреплен к гарде и " +"подключен проводом к острию, а также была дополнительно изолированна " +"рукоять. Касание заостренного наконечника противника при нажатии кнопки " +"вызовет болезненный удар током." #. ~ Description for broadsword #: lang/json/TOOL_from_json.py @@ -95997,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 "" @@ -97506,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 "колесо от мотоцикла" @@ -97914,7 +98560,7 @@ msgstr "ручное заряжание" #: lang/json/activity_type_from_json.py msgid "heating" -msgstr "" +msgstr "разогревание" #: lang/json/activity_type_from_json.py msgid "de-stressing" @@ -98983,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 "Алмазная роговица" @@ -99291,7 +99942,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "Finger Lighter" -msgstr "" +msgstr "Палечная зажигалка" #. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py @@ -99444,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" @@ -99484,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" @@ -99884,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" @@ -100441,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" @@ -100462,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" @@ -100492,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" @@ -100509,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" @@ -100535,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" @@ -100556,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" @@ -100582,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" @@ -100599,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" @@ -100859,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 "Построить деревянный пол" @@ -100977,11 +101640,11 @@ msgstr "Должно быть поддержано с обеих сторон о #: lang/json/construction_from_json.py msgid "Build Screen Door" -msgstr "Строить решётчатую дверь" +msgstr "Строить сетчатую дверь" #: lang/json/construction_from_json.py msgid "Build Screen Mesh Wall" -msgstr "Строить решётчатую стену" +msgstr "Строить сетчатую стену" #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" @@ -101025,7 +101688,7 @@ msgstr "Поставить книжный шкаф" #: lang/json/construction_from_json.py msgid "Build Entertainment Center" -msgstr "Строить развлекательный центр" +msgstr "Строить \"стенку\"" #: lang/json/construction_from_json.py msgid "Build Locker" @@ -101445,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" @@ -101519,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 "Переделать питание холодильника" @@ -103999,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" @@ -106714,25 +107381,49 @@ 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 "Оно пыльное. Эффекта нет — это устаревшая поломка." +#. ~ 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," @@ -106747,11 +107438,23 @@ 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 " @@ -106759,11 +107462,23 @@ 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 " @@ -106773,56 +107488,116 @@ msgid "" "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." @@ -106830,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." @@ -106842,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 @@ -107573,8 +108408,7 @@ msgstr "Баррикада. Для перегораживания дорог." 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 "«бум»." @@ -107694,7 +108528,8 @@ msgstr "статуя" msgid "A carved statue made of stone." msgstr "Скульптура, вырезанная из камня." -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "стук." @@ -108140,7 +108975,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 "треск!" @@ -109129,6 +109964,19 @@ msgstr "табуретка" 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 "доска объявлений" @@ -109246,7 +110094,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "entertainment center" -msgstr "развлекательный центр" +msgstr "стенка" #. ~ Description for entertainment center #: lang/json/furniture_from_json.py @@ -110470,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 "краш!" @@ -115183,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 "" @@ -116538,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 "" @@ -116556,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" @@ -117432,6 +118289,21 @@ 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" @@ -117584,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 " @@ -119652,10 +120516,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "modified muzzle brake" msgid_plural "modified muzzle brakes" -msgstr[0] "модифицированный дульный тормоз" -msgstr[1] "модифицированных дульных тормоза" -msgstr[2] "модифицированных дульных тормозов" -msgstr[3] "модифицированные дульные тормозы" +msgstr[0] "модифицированый дульный тормоз" +msgstr[1] "модифицированых дульных тормоза" +msgstr[2] "модифицированых дульных тормозов" +msgstr[3] "модифицированые дульные тормозы" #: lang/json/gunmod_from_json.py msgid "" @@ -119861,10 +120725,10 @@ 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] "модифицированные арбалеты на планку" +msgstr[0] "модифицированый арбалет на планку" +msgstr[1] "модифицированых арбалета на планку" +msgstr[2] "модифицированых арбалетов на планку" +msgstr[3] "модифицированые арбалеты на планку" #: lang/json/gunmod_from_json.py msgid "" @@ -119897,10 +120761,10 @@ msgstr "" #: 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] "модифицированные смещённые открытые прицелы" +msgstr[0] "модифицированый смещённый открытый прицел" +msgstr[1] "модифицированых смещённых открытых прицела" +msgstr[2] "модифицированых смещённых открытых прицелов" +msgstr[3] "модифицированые смещённые открытые прицелы" #: lang/json/gunmod_from_json.py msgid "" @@ -119929,10 +120793,10 @@ msgstr "" #: 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] "модифицированные смещённые планки" +msgstr[0] "модифицированая смещённая планка" +msgstr[1] "модифицированые смещённые планки" +msgstr[2] "модифицированых смещённых планок" +msgstr[3] "модифицированые смещённые планки" #: lang/json/gunmod_from_json.py msgid "" @@ -119981,10 +120845,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "modified gyroscopic stabilizer" msgid_plural "modified gyroscopic stabilizers" -msgstr[0] "модифицированный гироскопический стабилизатор" -msgstr[1] "модифицированных гироскопических стабилизатора" -msgstr[2] "модифицированных гироскопических стабилизаторов" -msgstr[3] "модифицированные гироскопические стабилизаторы" +msgstr[0] "модифицированый гироскопический стабилизатор" +msgstr[1] "модифицированых гироскопических стабилизатора" +msgstr[2] "модифицированых гироскопических стабилизаторов" +msgstr[3] "модифицированые гироскопические стабилизаторы" #: lang/json/gunmod_from_json.py msgid "" @@ -120013,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 "" @@ -120146,10 +121010,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "modified rifle scope" msgid_plural "modified rifle scopes" -msgstr[0] "модифицированный оптический прицел" -msgstr[1] "модифицированных оптических прицела" -msgstr[2] "модифицированных оптических прицелов" -msgstr[3] "модифицированные оптические прицелы" +msgstr[0] "модифицированый оптический прицел" +msgstr[1] "модифицированых оптических прицела" +msgstr[2] "модифицированых оптических прицелов" +msgstr[3] "модифицированые оптические прицелы" #: lang/json/gunmod_from_json.py msgid "" @@ -120181,10 +121045,10 @@ msgstr "" #: 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" +msgstr[0] "модифицированый прицел ACOG" +msgstr[1] "модифицированых прицела ACOG" +msgstr[2] "модифицированых прицелов ACOG" +msgstr[3] "модифицированые прицелы ACOG" #: lang/json/gunmod_from_json.py msgid "" @@ -120236,9 +121100,9 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" msgid_plural "telescopic pistol sights" -msgstr[0] "простой телескопический пистолетный прицел" -msgstr[1] "простых телескопических пистолетных прицела" -msgstr[2] "простых телескопических пистолетных прицелов" +msgstr[0] "простой оптический пистолетный прицел" +msgstr[1] "простых оптических пистолетных прицела" +msgstr[2] "простых оптических пистолетных прицелов" msgstr[3] "простые оптические пистолетные прицелы" #: lang/json/gunmod_from_json.py @@ -120520,10 +121384,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "modified forward grip" msgid_plural "modified forward grips" -msgstr[0] "модифицированная передняя рукоять" -msgstr[1] "модифицированных передних рукояти" -msgstr[2] "модифицированных передних рукоятей" -msgstr[3] "модифицированные передние рукояти" +msgstr[0] "модифицированая передняя рукоять" +msgstr[1] "модифицированых передних рукояти" +msgstr[2] "модифицированых передних рукоятей" +msgstr[3] "модифицированые передние рукояти" #: lang/json/gunmod_from_json.py msgid "" @@ -120622,10 +121486,10 @@ msgstr "" #: 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 подствольники" +msgstr[0] "модифицированый M203 подствольник" +msgstr[1] "модифицированых M203 подствольника" +msgstr[2] "модифицированых M203 подствольников" +msgstr[3] "модифицированые M203 подствольники" #: lang/json/gunmod_from_json.py msgid "" @@ -120662,10 +121526,10 @@ 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 подствольники" +msgstr[0] "модифицированый M320 GLM подствольник" +msgstr[1] "модифицированых M320 GLM подствольника" +msgstr[2] "модифицированых M320 GLM подствольников" +msgstr[3] "модифицированые M320 GLM подствольники" #: lang/json/gunmod_from_json.py msgid "" @@ -120701,10 +121565,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "modified masterkey shotgun" msgid_plural "modified masterkey shotguns" -msgstr[0] "модифицированный подствольный дробовик" -msgstr[1] "модифицированных подствольных дробовика" -msgstr[2] "модифицированных подствольных дробовиков" -msgstr[3] "модифицированные подствольные дробовики" +msgstr[0] "модифицированый подствольный дробовик" +msgstr[1] "модифицированых подствольных дробовика" +msgstr[2] "модифицированых подствольных дробовиков" +msgstr[3] "модифицированые подствольные дробовики" #: lang/json/gunmod_from_json.py msgid "" @@ -120772,10 +121636,10 @@ msgstr "" #: 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" +msgstr[0] "модифицированый подствольный дробовик RM121" +msgstr[1] "модифицированых подствольных дробовика RM121" +msgstr[2] "модифицированых подствольных дробовиков RM121" +msgstr[3] "модифицированые подствольные дробовики RM121" #: lang/json/gunmod_from_json.py msgid "" @@ -120810,10 +121674,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "modified underslung shotgun" msgid_plural "modified underslung shotguns" -msgstr[0] "модифицированный подствольный дробовик" -msgstr[1] "модифицированных подствольных дробовика" -msgstr[2] "модифицированных подствольных дробовиков" -msgstr[3] "модифицированные подствольные дробовики" +msgstr[0] "модифицированый подствольный дробовик" +msgstr[1] "модифицированых подствольных дробовика" +msgstr[2] "модифицированых подствольных дробовиков" +msgstr[3] "модифицированые подствольные дробовики" #: lang/json/gunmod_from_json.py msgid "" @@ -129912,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 "Демонический Хитин" @@ -137077,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 "Хороший слух" @@ -146433,7 +147322,7 @@ msgstr "автостоянка супермаркета" #: lang/json/overmap_terrain_from_json.py msgid "megastore" -msgstr "гипермаркет" +msgstr "супермаркет" #: lang/json/overmap_terrain_from_json.py msgid "megastore, second floor" @@ -146469,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" @@ -146816,8 +147705,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" @@ -146831,6 +147720,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 "место под столовую" @@ -147516,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 "поле для гольфа" @@ -159185,6 +160086,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 " @@ -160032,6 +161109,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 "Производственная мастерская" @@ -161511,13 +162592,13 @@ msgstr "Подвал секретного кабинета волшебника" #: lang/json/scenario_from_json.py msgctxt "scenario_male" msgid "The Wizard's Vacation" -msgstr "" +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 "" +msgstr "Каникулы волшебницы" #. ~ Description for scenario 'The Wizard's Vacation' for a male character. #: lang/json/scenario_from_json.py @@ -161528,6 +162609,9 @@ msgid "" "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 @@ -161538,6 +162622,9 @@ msgid "" "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 @@ -166875,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." @@ -177100,16 +178169,16 @@ msgid "Clothing Store" msgstr "Магазин Одежды" #: lang/json/talk_topic_from_json.py -msgid "Acolyte." -msgstr "Послушник." +msgid "You there. Quiet down. Can you hear it? The song?" +msgstr "Ты тут. Тихо. Ты слышишь? Песнь?" #: lang/json/talk_topic_from_json.py msgid "You're back. Have you come to listen to the song?" msgstr "Ты снова тут. Ты хочешь послушать песнь?" #: lang/json/talk_topic_from_json.py -msgid "You there. Quiet down. Can you hear it? The song?" -msgstr "Ты тут. Тихо. Ты слышишь? Песнь?" +msgid "Acolyte." +msgstr "Послушник." #: lang/json/talk_topic_from_json.py msgid "What? What do you mean? What song?" @@ -177286,38 +178355,38 @@ msgid "Yeah, alright." 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 "Do you believe you can take on the burden of additional bones?" -msgstr "Думаешь, ты сможешь взвалить обузу лишних костей?" - -#: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -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 "There is an additional song you could take on, if you'd like." 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 "A song may yet be sung by you, should you wish to." msgstr "Тебе ещё предстоит спеть песню, если желаешь." #: lang/json/talk_topic_from_json.py -msgid "An acolyte should not take on too many songs at once." -msgstr "Послушнику не следует браться за много песен сразу." +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 " @@ -177388,6 +178457,10 @@ 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." +msgstr "Только носящие мой знак покажут, что они достойны моих умений." + #: lang/json/talk_topic_from_json.py msgid "" "You bear my mark, meaning I believe you have potential to learn to truly " @@ -177396,10 +178469,6 @@ 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 "Приятно слышать. Тогда пойдём." @@ -177783,16 +178852,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 "Что ты здесь делаешь?" @@ -177872,24 +178941,24 @@ msgstr "" "иногда появляется странник, уверенный, что найдёт лучшую долю." #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "Нет, просто, , нет…" +msgid "Anything to do before I go to sleep?" +msgstr "Что-нибудь ещё, пока я не пошёл спать?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "Дай мне поспать, !" +msgid "Just few minutes more..." +msgstr "Ещё пару минут…" #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "Давай быстрее, мне нужно идти спать." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "Ещё пару минут…" +msgid "Just let me sleep, !" +msgstr "Дай мне поспать, !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "Что-нибудь ещё, пока я не пошёл спать?" +msgid "No, just no..." +msgstr "Нет, просто, , нет…" #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -177899,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 "Я хочу дать тебе боевые команды." @@ -178299,14 +179368,14 @@ msgstr "Оставайся на том же месте." msgid "Show me what needs to be done at the camp." 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 "Я сейчас ничего не делаю." +#: lang/json/talk_topic_from_json.py +msgid "I'm currently ." +msgstr "Сейчас моё занятие — ." + #: lang/json/talk_topic_from_json.py msgid "I meant what are your goals?" msgstr "Я имел в виду, какова твоя цель?" @@ -178367,14 +179436,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 " @@ -178388,34 +179457,34 @@ 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 "Ну, мне не совсем хорошо… а у тебя там всё нормально?" #: 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 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 "" @@ -178491,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 "Успокойся. Я не причиню тебе зла." @@ -178551,14 +179620,6 @@ msgstr "Что случилось?" msgid "I don't care." msgstr "Мне всё равно." -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 just have one job for you. Want to hear about it?" msgstr "У меня есть работа для тебя. Хочешь послушать?" @@ -178567,6 +179628,14 @@ msgstr "У меня есть работа для тебя. Хочешь посл msgid "I have another job for you. Want to hear about it?" 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 "У меня для тебя есть ещё работа. Хочешь послушать?" + #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "У меня больше нет для тебя работы." @@ -178584,14 +179653,14 @@ msgstr "Ну, ладно." msgid "Never mind, I'm not interested." msgstr "Неважно, мне не интересно." -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "Какое задание?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "Что насчёт него?" +#: lang/json/talk_topic_from_json.py +msgid "Which job?" +msgstr "Какое задание?" + #: lang/json/talk_topic_from_json.py msgid "You're not working on anything for me now." msgstr "Ты сейчас на меня не работаешь." @@ -178813,48 +179882,48 @@ msgid "Thanks!" msgstr "Спасибо!" #: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "Смотри на дорогу, бро!" +msgid "I have some reason for not telling you." +msgstr "У меня есть причины не рассказывать тебе об этом." #: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "Мне надо смотреть на дорогу!" +msgid "Nothing comes to my mind now. Ask me later perhaps?" +msgstr "Ничего в голову не лезет. Спроси попозже?" #: lang/json/talk_topic_from_json.py -msgid "I'm too thirsty, give me something to drink." -msgstr "Меня мучает жажда, дай мне чего-нибудь попить." +msgid "I'm too tired, let me rest first." +msgstr "Я слишком устал, дай мне сначала отдохнуть." #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "Я очень голоден, дай мне чего-нибудь поесть." #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "Я слишком устал, дай мне сначала отдохнуть." +msgid "I'm too thirsty, give me something to drink." +msgstr "Меня мучает жажда, дай мне чего-нибудь попить." #: lang/json/talk_topic_from_json.py -msgid "Nothing comes to my mind now. Ask me later perhaps?" -msgstr "Ничего в голову не лезет. Спроси попозже?" +msgid "I must focus on the road!" +msgstr "Мне надо смотреть на дорогу!" #: lang/json/talk_topic_from_json.py -msgid "I have some reason for not telling you." -msgstr "У меня есть причины не рассказывать тебе об этом." +msgid "Focus on the road, mate!" +msgstr "Смотри на дорогу, бро!" #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "Ну, ладно." #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "Не раньше, чем я получу антибиотики…" +msgid "Why should I travel with you?" +msgstr "И почему я должен пойти с тобой?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "Ты об этом уже спрашивал; спроси снова попозже." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "И почему я должен пойти с тобой?" +msgid "Not until I get some antibiotics..." +msgstr "Не раньше, чем я получу антибиотики…" #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -178945,20 +180014,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 "Я не могу полноценно обучать тебя, пока ты за рулём!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "Я не могу тебя учить, когда я за рулём!" +msgid "I have some reason for denying you training." +msgstr "У меня есть причины не учить тебя." #: lang/json/talk_topic_from_json.py 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 "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!" @@ -178996,14 +180065,14 @@ msgstr "Я бы предпочёл, держать это при себе." msgid "I understand…" msgstr "Я понимаю…" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "Ты уже спрашивал о снаряжении; спроси попозже." - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "С какой стати я буду делиться с тобой своим имуществом?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "Ты уже спрашивал о снаряжении; спроси попозже." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "Ладно, хорошо." @@ -179148,10 +180217,6 @@ msgstr "Приятно иметь с тобой дело!" msgid "You might be seeing more of me…" msgstr "Думаю, мы ещё встретимся…" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -msgstr "Снова привет. *жжж*" - #: lang/json/talk_topic_from_json.py msgid "" "I... I'm free. *Zzzt* I'm actually free! *bzzz* Look, you're the first " @@ -179160,6 +180225,10 @@ msgstr "" "Я… я свободен. *Жжжт* Я действительно свободен! *бжжж* Слушай, ты первый " "человек, которого я вижу за долгое время." +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "Снова привет. *жжж*" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "Эй, давай немножко поболтаем." @@ -179568,7 +180637,7 @@ msgstr "О, но ты уже." #: lang/json/talk_topic_from_json.py msgid "Yes… yes I have." -msgstr "Да… да, я уже." +msgstr "Да… Да, я уже." #: lang/json/talk_topic_from_json.py msgid "Join us then, eat from this meal with us." @@ -180148,28 +181217,28 @@ 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." -msgstr "Привет, дружище, приятно увидеться." +msgid "Greeting citizen, what brings you to the FoodLair?" +msgstr "Здравствуй, гражданин, что привело тебя в Дом Поешь-ки?" #: lang/json/talk_topic_from_json.py -msgid "So you're back... Explain yourself!" -msgstr "Так ты вернулся… Объяснись!" +msgid "Still here? Take your time, it's rough out there." +msgstr "Всё ещё тут? Не спеши, снаружи сурово." #: lang/json/talk_topic_from_json.py -msgid "What sorcery is this?" -msgstr "Что это за магия?" +msgid "Greetings friend, it's nice to see you." +msgstr "Привет, дружище, приятно увидеться." #: lang/json/talk_topic_from_json.py msgid "Welcome home Foodkid!" msgstr "Привет, Поешь-ка-младший!" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." -msgstr "Всё ещё тут? Не спеши, снаружи сурово." +msgid "What sorcery is this?" +msgstr "Что это за магия?" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" -msgstr "Здравствуй, гражданин, что привело тебя в Дом Поешь-ки?" +msgid "So you're back... Explain yourself!" +msgstr "Так ты вернулся… Объяснись!" #: lang/json/talk_topic_from_json.py msgid "Greetings… Foodperson?" @@ -180525,7 +181594,7 @@ msgstr "" "Я пока их не нашёл. Каждый раз, когда мне попадается , частичка меня" " боится, что это один из них. Но, хотя, наверно, нет. Может быть, их " "эвакуировали, может, они вырывались и пытались дождаться меня, но военные " -"всё равно их забрали? Я слышал, что такое бывало. Я не знаю, узнаю ли я " +"всё равно их забрали? Я слышал, что такое случалось. Я не знаю, узнаю ли я " "вообще когда-нибудь." #: lang/json/talk_topic_from_json.py @@ -181920,10 +182989,6 @@ 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 blur." @@ -181932,14 +182997,16 @@ 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 "" "Я работал в больнице, когда всё началось. Немного как в тумане. Какое-то " "время шли жуткие доклады, невероятная дичь про пациентов, воскресавших после" " смерти, но в целом дела шли своим чередом. Потом, ближе к концу, обстановка" " резко накалилась. Мы думали, Китай напал на нас, и именно так нам и " "сообщали. К нам поступали обезумевшие люди, покрытые ранами от пуль и " -"укусов. Примерно на половине своей смены я… в общем, я не выдержал." +"укусов. Примерно на половине своей смены я… в общем, я не выдержал. Я видел " +"такие кошмарные раны, и я… , я даже не могу об этом говорить." #: lang/json/talk_topic_from_json.py msgid "" @@ -181949,16 +183016,18 @@ 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 +msgid "I just can't talk about that right now. I can't." +msgstr "Я просто не могу сейчас об этом говорить. Не могу." #: lang/json/talk_topic_from_json.py msgid "It might help to get it off your chest." @@ -182440,18 +183509,18 @@ msgstr "Спасибо, что поделился рассказом. 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 "" -"Мой муж выжил вместе со мной, но его сожрали эти чудовищные, , " +"Моя жена выжила вместе со мной, но её сожрали эти чудовищные, , " "растения за несколько дней до встречи с тобой. Не лучший год для меня." #: 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 @@ -182528,9 +183597,10 @@ msgid "I'm sorry you lost someone." msgstr "Мне жаль, что тебе пришлось кого-то потерять." #: lang/json/talk_topic_from_json.py -msgid "" -"I said, I don't wanna talk about it. How are you not understanding this?" -msgstr "Я сказал, я не хочу говорить. Чего тут непонятного?" +msgid "Just another tale of love and loss. Not one I like to tell." +msgstr "" +"Просто ещё один рассказ про любовь и смерть. Не то, о чем мне " +"нравится говорить." #: lang/json/talk_topic_from_json.py msgid "" @@ -182541,10 +183611,9 @@ msgstr "" " будет." #: lang/json/talk_topic_from_json.py -msgid "Just another tale of love and loss. Not one I like to tell." -msgstr "" -"Просто ещё один рассказ про любовь и смерть. Не то, о чем мне " -"нравится говорить." +msgid "" +"I said, I don't wanna talk about it. How are you not understanding this?" +msgstr "Я сказал, я не хочу говорить. Чего тут непонятного?" #: lang/json/talk_topic_from_json.py msgid "You said you lost someone." @@ -182567,32 +183636,13 @@ 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 him." -msgstr "Отлично, прекрасно. У меня был муж. Я потеряла его." - #: lang/json/talk_topic_from_json.py msgid "All right, fine. I had someone. I lost her." msgstr "Отлично, прекрасно. У меня была жена. Я потерял её." #: 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 " -"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." -msgstr "" -"Он был дома, когда упали бомбы, а мир превратился в преисподнюю. Я была на " -"работе. Я пыталась добраться до нашего дома, но город превратился в поле " -"боя. Неописуемые существа двигались по улицам, давя людей и машины. Солдаты " -"пытались остановить их, но с тем же успехом убивали людей перекрёстным " -"огнём. А потом случайные жертвы восставали и присоединялись к врагу. Если бы" -" речь не шла о моём муже, я бы просто убежала, но я сделала что смогла и " -"проскочила. Я на самом деле, , выжила." +msgid "All right, fine. I had someone. I lost him." +msgstr "Отлично, прекрасно. У меня был муж. Я потеряла его." #: lang/json/talk_topic_from_json.py msgid "" @@ -182613,6 +183663,25 @@ msgstr "" " речь не шла о моей жене, я бы просто убежал, но я сделал что смог и " "проскочил. Я на самом деле, , выжил." +#: 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 " +"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." +msgstr "" +"Он был дома, когда упали бомбы, а мир превратился в преисподнюю. Я была на " +"работе. Я пыталась добраться до нашего дома, но город превратился в поле " +"боя. Неописуемые существа двигались по улицам, давя людей и машины. Солдаты " +"пытались остановить их, но с тем же успехом убивали людей перекрёстным " +"огнём. А потом случайные жертвы восставали и присоединялись к врагу. Если бы" +" речь не шла о моём муже, я бы просто убежала, но я сделала что смогла и " +"проскочила. Я на самом деле, , выжила." + #: lang/json/talk_topic_from_json.py msgid "You must have seen some shit." msgstr "Тебе пришлось насмотреться всякой херни." @@ -182678,26 +183747,6 @@ msgstr "По пути туда наверняка пришлось насмот msgid "Did you make it into the house?" 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 " -"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 " -"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 "" -"Да, получилось. Я потратила несколько часов, чтобы найти вход. А хочешь " -"знать, в чём самый пиздец? Типа, вот самый-самый? Мой муж был ещё жив. Он " -"всё это время был в подвале, придавленный куском обвалившегося пола. И он " -"потерял много крови, он бредил, когда я его нашла. Я не смогла его вытащить," -" так что я кормила и поила его и просто сидела рядом и держала его за руку, " -"пока он не умер. А потом… что ж, потом я сделала то, что сейчас обычно " -"приходится делать с мёртвыми. После этого я собрала несколько последних " -"кусочков моей жизни и стараюсь никогда не оглядываться назад." - #: lang/json/talk_topic_from_json.py msgid "" "I did. Took a few hours to get an opening. And you wanna know the fucked " @@ -182718,6 +183767,26 @@ 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 " +"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 " +"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 "" +"Да, получилось. Я потратила несколько часов, чтобы найти вход. А хочешь " +"знать, в чём самый пиздец? Типа, вот самый-самый? Мой муж был ещё жив. Он " +"всё это время был в подвале, придавленный куском обвалившегося пола. И он " +"потерял много крови, он бредил, когда я его нашла. Я не смогла его вытащить," +" так что я кормила и поила его и просто сидела рядом и держала его за руку, " +"пока он не умер. А потом… что ж, потом я сделала то, что сейчас обычно " +"приходится делать с мёртвыми. После этого я собрала несколько последних " +"кусочков моей жизни и стараюсь никогда не оглядываться назад." + #: lang/json/talk_topic_from_json.py msgid "" "I was at school for . Funny thing, actually: I was gearing " @@ -183562,23 +184631,6 @@ 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 " -"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 "" -"Я жила одна на старой семейной ферме вдали от города. Мой муж умер чуть " -"более месяца до того, как всё началось… рак. Я потеряла его таким молодым, " -"но теперь я хотя бы наконец вижу в этом что-то хорошее. Короче, я всё равно " -"просидела какое-то время взаперти. Когда по новостям заговорили про " -"китайское биооружие и спящих агентов и показали бунты в Бостоне и всё такое," -" я устроилась поудобнее с банкой супа и переключила канал." - #: lang/json/talk_topic_from_json.py msgid "" "I lived alone, on the old family property way out of town. My wife passed " @@ -183596,6 +184648,23 @@ 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 " +"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 "" +"Я жила одна на старой семейной ферме вдали от города. Мой муж умер чуть " +"более месяца до того, как всё началось… рак. Я потеряла его таким молодым, " +"но теперь я хотя бы наконец вижу в этом что-то хорошее. Короче, я всё равно " +"просидела какое-то время взаперти. Когда по новостям заговорили про " +"китайское биооружие и спящих агентов и показали бунты в Бостоне и всё такое," +" я устроилась поудобнее с банкой супа и переключила канал." + #: 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 " @@ -183701,14 +184770,6 @@ msgstr "Мне жаль Бака. " msgid "I'm sorry about Buck. " 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." -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 " @@ -183717,6 +184778,14 @@ 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." +msgstr "" +"Как я говорил, если ты хочешь услышать историю, выкладывай виски. Помни, " +"полную бутылку." + #: 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 " @@ -184127,20 +185196,6 @@ 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 " -"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ée " @@ -184156,17 +185211,31 @@ msgstr "" "есть у многих из нас." #: lang/json/talk_topic_from_json.py -msgid "What were you saying before that?" -msgstr "О чём ты там говорил?" +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 " +"than most of us have." +msgstr "" +"Что ж, у меня есть странная надежда, может, и тупая. Я видела, как мой жених" +" уезжал со своей сестрой — моей подружкой невесты — в её пикапе, когда " +"началась вся хрень. Так что, пока я любым образом их не встречу, я всё ещё " +"буду верить, что они где-то там, и у них всё хорошо. Это больше, чем есть у " +"многих из нас." #: lang/json/talk_topic_from_json.py -msgid "Hey, ." -msgstr "Эй, ." +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..." msgstr "Глазам не верю. Пожалуйста, вытащи меня отсюда…" +#: lang/json/talk_topic_from_json.py +msgid "Hey, ." +msgstr "Эй, ." + #: lang/json/talk_topic_from_json.py msgid "I've come to take you home, lets go." msgstr "Я пришёл, чтобы отвести тебя домой, пошли." @@ -184192,18 +185261,18 @@ 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." -msgstr "Я вижу этот значок. Похоже, тебе следует убраться вон с этой земли." +msgid "Hello Ma'am, what brings you here?" +msgstr "Привет, мэм, что вас сюда привело?" #: lang/json/talk_topic_from_json.py msgid "Hello Sir, what brings you here?" msgstr "Привет, сэр, что вас сюда привело?" #: lang/json/talk_topic_from_json.py -msgid "Hello Ma'am, what brings you here?" -msgstr "Привет, мэм, что вас сюда привело?" +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 msgid "Yeah, I'm a Marshal, what are you going to do about it?" @@ -184284,16 +185353,16 @@ msgstr "Твоя кузница работает?" msgid "Where can I find Chris?" msgstr "Где найти Криса?" +#: lang/json/talk_topic_from_json.py +msgid "Hi, what's up?" +msgstr "Привет, как дела?" + #: lang/json/talk_topic_from_json.py 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 "Hi, what's up?" -msgstr "Привет, как дела?" - #: lang/json/talk_topic_from_json.py msgid "" "Hi, Your dad asked me to come find you, said you've been looking for your " @@ -184410,16 +185479,16 @@ msgstr "" "насчёт конца света." #: lang/json/talk_topic_from_json.py -msgid "Is that a U.S. Marshal's badge you're wearing?" -msgstr "У тебя значок маршала США?" +msgid "Hi, what brings you here?" +msgstr "Здорово, что тебя сюда привело?" #: lang/json/talk_topic_from_json.py msgid "Hello, what brings you here?" msgstr "Привет, что тебя сюда привело?" #: lang/json/talk_topic_from_json.py -msgid "Hi, what brings you here?" -msgstr "Здорово, что тебя сюда привело?" +msgid "Is that a U.S. Marshal's badge you're wearing?" +msgstr "У тебя значок маршала США?" #: lang/json/talk_topic_from_json.py msgid "Yes, I'm a marshal." @@ -184770,14 +185839,14 @@ msgstr "Пока что всё. Давай поговорим о чём-нибу msgid "That's all for now. I'd best get going." msgstr "Пока что всё. Мне пора." -#: lang/json/talk_topic_from_json.py -msgid "Leave our property, Marshal." -msgstr "Убирайся с нашей собственности, маршал." - #: lang/json/talk_topic_from_json.py msgid "Hello, We don't see many people these days." msgstr "Здравствуй, в последние дни народу не видать." +#: lang/json/talk_topic_from_json.py +msgid "Leave our property, Marshal." +msgstr "Убирайся с нашей собственности, маршал." + #: lang/json/talk_topic_from_json.py msgid "Hi, it looks like you are doing well here." msgstr "Привет, похоже, у вас тут всё хорошо." @@ -184919,14 +185988,14 @@ 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 "Привет." +#: 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 "Твой отец сказал, ты тут прибираешься." @@ -185010,8 +186079,12 @@ 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 "Маршал, я надеюсь, вы здесь, чтобы помочь нам." +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 "" @@ -185022,12 +186095,8 @@ 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 "" -"Сэр, я не знаю как, чёрт возьми, вы добрались сюда, но если в вас есть хоть " -"капля рассудка, уходите отсюда, пока можете." +msgid "Marshal, I hope you're here to assist us." +msgstr "Маршал, я надеюсь, вы здесь, чтобы помочь нам." #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -185107,16 +186176,16 @@ msgstr "" "Что бы они ни сделали это, должно быть, сработало, так как мы все ещё живы…" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "Маршал, я удивлён видеть Вас здесь." +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "Мэм, Вам не разрешено здесь находиться… Вы должны уйти." #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "Сэр, Вам не разрешено здесь находиться… Вы должны уйти." #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "Мэм, Вам не разрешено здесь находиться… Вы должны уйти." +msgid "Marshal, I'm rather surprised to see you here." +msgstr "Маршал, я удивлён видеть Вас здесь." #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -185162,22 +186231,6 @@ msgstr "" "чтобы защитить федеральные секреты и поддержать целостность всей сети. Мы " "надеемся, что несколько сообщений с открытым текстом можно всё же поймать." -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "Здравствуйте, маршал." - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "Маршал, боюсь я сейчас не могу говорить." - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "Я здесь не за главного, маршал." - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "Я как и полагается, направляю все вопросы своему лидеру, маршал." - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "Привет, гражданин… Я не уверен, что тебе можно здесь находиться. " @@ -185190,6 +186243,15 @@ msgstr "Займись своими делами, здесь нечего лов msgid "If you need something you'll need to talk to someone else." msgstr "Если тебе что-то нужно, поговори с кем либо ещё." +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "Мэм." + +#: lang/json/talk_topic_from_json.py +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 "Sir." msgstr "Сэр." @@ -185201,13 +186263,20 @@ msgstr "" "вербовку." #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "Мэм." +msgid "Hello, 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?" -msgstr "" -"Эй мисс, вы не думаете, что будет безопасней вам присоединиться ко мне?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "Маршал, боюсь я сейчас не могу говорить." + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "Я здесь не за главного, маршал." + +#: lang/json/talk_topic_from_json.py +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…" @@ -185265,18 +186334,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 "Пожалуйста, помоги мне. Мне нужна еда." #: 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 "Thank you again. I really appreciate the food." @@ -185284,15 +186351,17 @@ 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 -msgid "Please, help me. I need food." -msgstr "Пожалуйста, помоги мне. Мне нужна еда." +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "" +"Итак, удалось ли уговорить остальных пойти в твоё безумное приключение?" #: lang/json/talk_topic_from_json.py msgid "" @@ -185311,20 +186380,20 @@ 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 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 "Why don't you scavenge your own food?" @@ -185443,6 +186512,10 @@ 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 " @@ -185451,10 +186524,6 @@ 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 "Я обеспечу тебе защиту и лично туда отведу." @@ -185543,10 +186612,6 @@ msgstr "Ты что, правда носишь костюм динозавра?" 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 " @@ -185554,6 +186619,10 @@ msgid "" 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 "А можно тебя ещё кое о чём спросить?" @@ -185658,14 +186727,6 @@ 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?" -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." @@ -185675,6 +186736,14 @@ 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?" +msgstr "" +"Что ж… У меня всё было пучком, но остальные ушли, и теперь хозяева не велят " +"мне строить себе убежище. Поможешь с ними справиться?" + #: lang/json/talk_topic_from_json.py msgid "" "Why don't you leave this place? Come with me, I could use some help out " @@ -185694,18 +186763,21 @@ msgstr "" "налаживается!" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "Отъебись, гондон." +msgid "Don't bother with these assholes." +msgstr "Забей на тех мудаков." #: lang/json/talk_topic_from_json.py -msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" -msgstr "" -"Йо. Кто-нибудь горит желанием отправиться с этой остановки до твоего " -"палаточного города?" +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." -msgstr "Привет. Рад снова тебя видеть." +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 "" @@ -185714,21 +186786,18 @@ 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?" -msgstr "" -"Слушай, прости за тот нервяк. Ты, может, и мудила, но ты ни при чём. У меня " -"адски падает сахар в крови, меня немного штормит. Мы друзья?" +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." -msgstr "Эй, привет, не-мудила. Рада снова тебя видеть." +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 "Забей на тех мудаков." +msgid "Fuck off, dickwaddle." +msgstr "Отъебись, гондон." #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -186102,6 +187171,14 @@ 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 " @@ -186114,14 +187191,6 @@ 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 "Так уж вышло, что у меня прямо сейчас при себе грибной кусок." @@ -186171,14 +187240,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 "Эй, что думаешь про то, что выживает сильнейший?" +#: 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 "Почему ты спрашиваешь?" @@ -186195,14 +187264,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. " @@ -186211,6 +187272,14 @@ 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 "I could maybe help you out… want something to eat?" msgstr "Я могу помочь… хочешь чего-нибудь поесть?" @@ -186231,15 +187300,15 @@ msgstr "Как ты вообще сюда добрался, если так бо msgid "Why are you camped out here if they won't let you in?" msgstr "Почему ты тут живёшь, если они тебя не пускают?" -#: lang/json/talk_topic_from_json.py -msgid "That's awful kind of you, you really are a wonderful person." -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." msgstr "Ого, ух ты! Ты настоящее сокровище, знаешь? Спасибо за саму мысль." +#: lang/json/talk_topic_from_json.py +msgid "That's awful kind of you, you really are a wonderful person." +msgstr "Это ужасно мило с твоей стороны, ты правда чудесный человек." + #: lang/json/talk_topic_from_json.py msgid "" "It's good to know there are still people like you in the world, it really " @@ -186604,6 +187673,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 "О, эммм… привет. Похоже, ты тут впервые. Я Алиша." + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "Привет." @@ -186620,10 +187693,6 @@ 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 "Приятно познакомиться, ребёнок. Как дела?" @@ -186641,16 +187710,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 "Я не ребёнок, ясно? Мне шестнадцать." +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "Я не ребёнок, ясно? Мне четырнадцать." #: lang/json/talk_topic_from_json.py 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 fourteen." -msgstr "Я не ребёнок, ясно? Мне четырнадцать." +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "Я не ребёнок, ясно? Мне шестнадцать." #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -186660,6 +187729,18 @@ 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 " @@ -186673,18 +187754,6 @@ 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 " @@ -186737,8 +187806,9 @@ msgid "How are things here?" msgstr "Как тут дела?" #: lang/json/talk_topic_from_json.py -msgid "Hello again, gorgeous" -msgstr "И снова здравствуй, красавчик" +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 msgid "" @@ -186749,9 +187819,8 @@ 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." -msgstr "Ого! Прекрасная леди, рад знакомству. Меня зовут Алонсо." +msgid "Hello again, gorgeous" +msgstr "И снова здравствуй, красавчик" #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Alonso." @@ -186778,11 +187847,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 " @@ -186791,31 +187855,36 @@ msgstr "" "Теперь ты здесь, и всё прекрасно. Может ли Алонсо… *помочь тебе* в чём-то?" #: lang/json/talk_topic_from_json.py -msgid "You know me, I gotta be me, right?" -msgstr "Ты знаешь меня, и мне лучше быть собой, ага?" +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 "Ты знаешь меня, и мне лучше быть собой, ага?" + #: 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 "" -"Ой, чувак, ну чего ты? Я просто пытаюсь придать загадочность, ясно? Никто не" -" хочет дружить с развратником из Бруклина, но загадочный Алонсо — совсем " +"Ой, блин, ну чего ты? Я просто пытаюсь придать загадочность, ясно? Никто не " +"хочет дружить с развратником из Бруклина, но загадочный Алонсо — совсем " "другое дело." #: 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 @@ -186842,6 +187911,14 @@ 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 " @@ -186852,11 +187929,11 @@ 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 msgid "" @@ -186867,12 +187944,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." -msgstr "" -"В этом центре Алонсо слегка одиноко. Однако к нам приходят смелые сильные " -"путники вроде тебя, и их вид скрашивает Алонсо дни." +msgid "Ah, another new face. Hello. I am Boris." +msgstr "Эй, ещё одно новое лицо. Привет. Меня зовут Борис." #: lang/json/talk_topic_from_json.py msgid "Well, well. I'm glad you are back." @@ -186886,10 +187959,6 @@ 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 "Рад знакомству, Борис." @@ -186969,15 +188038,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 " @@ -186994,6 +188054,15 @@ 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 " @@ -187027,6 +188096,10 @@ msgstr "Насчёт той хлебной закваски, за которой 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 "Привет. Меня зовут Дана, рада увидеть кого-то новенького." + #: lang/json/talk_topic_from_json.py msgid "Hello, nice to see you again." msgstr "Привет, приятно снова тебя видеть." @@ -187035,10 +188108,6 @@ msgstr "Привет, приятно снова тебя видеть." msgid "It's good to see you're still around." msgstr "Рад видеть, что ты ещё жив." -#: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." -msgstr "Привет. Меня зовут Дана, рада увидеть кого-то новенького." - #: lang/json/talk_topic_from_json.py msgid "Dana, hey? Nice to meet you." msgstr "Дана? Приятно познакомиться." @@ -187095,11 +188164,14 @@ 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 msgid "" @@ -187111,14 +188183,11 @@ 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 msgid "That sounds like a great deal, here's some flour for you." @@ -187142,6 +188211,15 @@ 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 " @@ -187168,15 +188246,6 @@ 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" @@ -187217,10 +188286,6 @@ 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" @@ -187231,6 +188296,10 @@ 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 " @@ -187278,10 +188347,6 @@ 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 " @@ -187290,6 +188355,10 @@ 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 "Рад знакомству, Драко." @@ -187570,15 +188639,15 @@ msgstr "Могу я чем-то помочь?" 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." +msgstr "Блин, просто представь, если бы у меня была новая гитара." + #: lang/json/talk_topic_from_json.py msgid "" "My savior! My patron of the arts! You're always welcome here, friend." msgstr "Мой спаситель! Мой меценат! Дружище, тебе тут всегда будут рады." -#: lang/json/talk_topic_from_json.py -msgid "Man, just imagine what I could do with a new guitar." -msgstr "Блин, просто представь, если бы у меня была новая гитара." - #: lang/json/talk_topic_from_json.py msgid "Let's talk about getting you that guitar." msgstr "Давай поговорим насчёт той гитары." @@ -187685,14 +188754,6 @@ msgstr "Могу помочь." msgid "Find somebody else, dude." 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." -msgstr "" -"Без проблем, хорошо. Сейчас у меня всё в порядке. Спроси меня попозже, и я, " -"может, достану для тебя немного денег." - #: lang/json/talk_topic_from_json.py msgid "" "Amazing! My lucky day. Let's see here. What can I offer... I can scrounge" @@ -187703,6 +188764,14 @@ 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." +msgstr "" +"Без проблем, хорошо. Сейчас у меня всё в порядке. Спроси меня попозже, и я, " +"может, достану для тебя немного денег." + #: lang/json/talk_topic_from_json.py msgid "You have yourself a deal. Here's the marijuana." msgstr "По рукам. Держи марихуану." @@ -187751,6 +188820,14 @@ 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 "Снова привет." @@ -187763,14 +188840,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 "Тоже приятно познакомиться, Фатима. Я тут мимоходом." @@ -187845,6 +188914,10 @@ msgstr "" " Дженни говорила про какой-то проект, где бы я могла помочь, но признаю, мне" " страшно выходить наружу." +#: lang/json/talk_topic_from_json.py +msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." +msgstr "Привет! Эй, привет! Я Гарри, Гарри Вильнёв." + #: lang/json/talk_topic_from_json.py msgid "Well, hello." msgstr "Ну, привет." @@ -187853,10 +188926,6 @@ msgstr "Ну, привет." msgid "Good to see you again." msgstr "Рад снова тебя видеть." -#: lang/json/talk_topic_from_json.py -msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." -msgstr "Привет! Эй, привет! Я Гарри, Гарри Вильнёв." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Garry." msgstr "Рад знакомству, Гарри." @@ -187931,14 +189000,6 @@ msgstr "" " что тут временно, но начинает казаться, что мы задержимся надолго. Если " "доживём." -#: lang/json/talk_topic_from_json.py -msgid "Hi." -msgstr "Привет." - -#: lang/json/talk_topic_from_json.py -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 " @@ -187947,6 +189008,14 @@ msgstr "" "Ой, привет! Я не видел тебя тут раньше. Я Гунит, но местные зовут меня " "Гунни." +#: lang/json/talk_topic_from_json.py +msgid "Hi." +msgstr "Привет." + +#: lang/json/talk_topic_from_json.py +msgid "Hey again." +msgstr "И снова привет!" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Gunny." msgstr "Рад встрече с тобой, Гунни." @@ -188002,15 +189071,15 @@ msgstr "" "носим тюрбаны и выжили все вместе. Они думают, раз мы вместе, то ничего не " "потеряли. Мой отец тоже так считает, а мама в сомнениях." -#: lang/json/talk_topic_from_json.py -msgid "Nice to see you again." -msgstr "Рад снова тебя видеть." - #: lang/json/talk_topic_from_json.py msgid "" "Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." msgstr "Привет. Я раньше тебя тут не видела. Я Дженни, Дженни Форсетт." +#: lang/json/talk_topic_from_json.py +msgid "Nice to see you again." +msgstr "Рад снова тебя видеть." + #: lang/json/talk_topic_from_json.py msgid "Nice meeting you. What are you doing on that computer?" msgstr "Приятно познакомиться. Что ты там делаешь с компьютером?" @@ -188209,6 +189278,19 @@ 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 " @@ -188228,19 +189310,6 @@ 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 "Можешь рассказать про Свободных Торговцев?" @@ -188329,6 +189398,18 @@ 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. " @@ -188346,15 +189427,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 "" -"По-моему, Борис и Гарри женаты. Они типа сами по себе, и мне кажется, они " -"слегка заносчивые. Стэн, похоже, брат Бориса, но я не уверена. Он вроде " -"довольно милый, но немногословный. Но пока я в них толком не разобралась. Я " -"знаю, когда не стоит совать нос куда не нужно." +"Я правда не хочу к ним лезть. Они никогда особо ни с кем не разговаривают, " +"кроме своей маленькой семейки. Просто сидят в своём углу и говорят на " +"панджабском. Они довольно милые и помогают, чем могут, просто никак не " +"общаются с остальными." #: lang/json/talk_topic_from_json.py msgid "" @@ -188372,15 +189453,22 @@ 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 "" -"Я правда не хочу к ним лезть. Они никогда особо ни с кем не разговаривают, " -"кроме своей маленькой семейки. Просто сидят в своём углу и говорят на " -"панджабском. Они довольно милые и помогают, чем могут, просто никак не " -"общаются с остальными." +"Ванесса… что ж, наверное, она милая. То есть она меня бесит, но нам " +"приходится быть вместе, так что я стараюсь быть помягче. Йен и Ризея спорят," +" кто тут будет главным, но я просто с головой ухожу в сборку чего-нибудь и " +"держусь подальше от этой политики. Толку от неё никакого. Алонсо нормальный," +" он точно положил глаз на меня, а ещё на каждую женщину. Не в моём вкусе, " +"группа слишком маленькая. Джон — ходячий стереотип, полагаю, в его душе что-" +"то есть, но я туда пока не добралась." #: lang/json/talk_topic_from_json.py msgid "" @@ -188404,32 +189492,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." -msgstr "" -"Ванесса… что ж, наверное, она милая. То есть она меня бесит, но нам " -"приходится быть вместе, так что я стараюсь быть помягче. Йен и Ризея спорят," -" кто тут будет главным, но я просто с головой ухожу в сборку чего-нибудь и " -"держусь подальше от этой политики. Толку от неё никакого. Алонсо нормальный," -" он точно положил глаз на меня, а ещё на каждую женщину. Не в моём вкусе, " -"группа слишком маленькая. Джон — ходячий стереотип, полагаю, в его душе что-" -"то есть, но я туда пока не добралась." +"Howdy, pardner. They call me Clemens. John Clemens. I'm an ol' cowhand." +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 "Рад знакомству, Джон." @@ -188489,14 +189558,14 @@ msgstr "" "в хлеву… нам нужны пастбища, штоб гулять на свободе, если ты п'нимаешь, к " "чему я. П'ка пастбищ нет, тут буит довольно напряжно." -#: lang/json/talk_topic_from_json.py -msgid "Hello sir. I am Mandeep Singh." -msgstr "Здравствуйте, сэр. Я Мандип Сингх." - #: lang/json/talk_topic_from_json.py msgid "Hello ma'am. I am Mandeep Singh." msgstr "Здравствуйте, мадам. Я Мандип Сингх." +#: lang/json/talk_topic_from_json.py +msgid "Hello sir. I am Mandeep Singh." +msgstr "Здравствуйте, сэр. Я Мандип Сингх." + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Mandeep." msgstr "Приятно познакомиться, Мандип." @@ -188542,6 +189611,10 @@ msgstr "" " семья прошли через апокалипсис почти невредимыми. Из-за этого и ещё " "нескольких вещей нам тяжело завести тут друзей." +#: lang/json/talk_topic_from_json.py +msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." +msgstr "А, да ты тут новенький! Извини, меня зовут Мангальприт." + #: lang/json/talk_topic_from_json.py msgid "Hi there." msgstr "Приветик." @@ -188550,10 +189623,6 @@ msgstr "Приветик." msgid "Oh, hello there." msgstr "О, привет." -#: lang/json/talk_topic_from_json.py -msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." -msgstr "А, да ты тут новенький! Извини, меня зовут Мангальприт." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Mangalpreet." msgstr "Приятно познакомиться, Мангальприт." @@ -188800,16 +189869,16 @@ msgstr "" 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?" -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." msgstr "" "Приветик. Непохоже, чтоб мы встречались. Я Ризея, меня обычно зовут Ри." +#: lang/json/talk_topic_from_json.py +msgid "Need to talk?" +msgstr "Надо поговорить?" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Rhy." msgstr "Приятно встретиться, Ри." @@ -188924,6 +189993,12 @@ msgstr "" 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." +msgstr "Привет. Извини, если мы уже виделись, я правда не помню. Я… Я Стэн." + #: lang/json/talk_topic_from_json.py msgid "Hm? Oh, hi." msgstr "Ммм? А, привет." @@ -188932,12 +190007,6 @@ msgstr "Ммм? А, привет." msgid "...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." -msgstr "Привет. Извини, если мы уже виделись, я правда не помню. Я… Я Стэн." - #: lang/json/talk_topic_from_json.py msgid "Stan, hey? Nice to meet you." msgstr "О, Стэн? Приятно познакомиться." @@ -189066,10 +190135,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 "О, ты вернулся." - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " @@ -189078,6 +190143,10 @@ msgstr "" "Ну зашибись. Теперь ещё одного кормить? Прям то, чего нам не хватало. Что ж," " я Ванесса." +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "О, ты вернулся." + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "Меня вам кормить не придётся, но приятно познакомиться." @@ -189121,17 +190190,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 " @@ -189143,6 +190201,17 @@ 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 " @@ -189362,14 +190431,6 @@ 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." -msgstr "" -"Знаю. Без понятия, как тебе удалось убедить их убраться, но и мои " -"поставщики, и я благодарим тебя. Надеюсь, вышло не очень неприглядно." - #: lang/json/talk_topic_from_json.py msgid "" "Even once we got things sorted out, there weren't enough beds for everyone, " @@ -189380,6 +190441,14 @@ 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." +msgstr "" +"Знаю. Без понятия, как тебе удалось убедить их убраться, но и мои " +"поставщики, и я благодарим тебя. Надеюсь, вышло не очень неприглядно." + #: lang/json/talk_topic_from_json.py msgid "" "Well, there's the downstairs section, we can't fit more people down there so" @@ -189791,14 +190860,14 @@ 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 "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 "Я слышал, это место было центром для беженцев…" @@ -189831,14 +190900,14 @@ msgstr "Я подумал, что вам может понадобиться п msgid "Well, I'd better be going. Bye." msgstr "Мне лучше идти. Пока." -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "Добро пожаловать, маршал…" - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "Добро пожаловать…" +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "Добро пожаловать, маршал…" + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -190145,14 +191214,14 @@ msgstr "" " людей — ну, к солнышку, свежему воздуху, тяжёлой работе… но как можешь " "догадаться, людей немного пугает перспектива встречи с ордой зомби." -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "Маршал…" - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "Гражданин…" +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "Маршал…" + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "Могу я поторговать за припасы?" @@ -190221,14 +191290,14 @@ msgstr "" "Мы не можем. На продажу ничего лишнего нет, и мне нечем расплатиться за " "покупки у тебя. Я не думаю, что ты собрался пожертвовать?" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "Точно, у вас тут блестящий жетон!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "Ха, у вас такой важный вид." +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "Точно, у вас тут блестящий жетон!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "Вообще-то я новичок." @@ -190314,6 +191383,10 @@ 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 " @@ -190322,10 +191395,6 @@ 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 "Извините за вопрос" @@ -190354,22 +191423,22 @@ msgstr "Я куплю." msgid "Who needs rebar?" msgstr "Кому это нужна арматура?" -#: lang/json/talk_topic_from_json.py -msgid "As if you're one to talk. Screw You." -msgstr "Да что с тобой говорить. Пошёл ты." - #: lang/json/talk_topic_from_json.py msgid "Screw You!" msgstr "Иди нахрен!" #: lang/json/talk_topic_from_json.py -msgid "I thought I smelled a pig. I jest... please don't arrest me." -msgstr "Кажется я учуял свинью. Шучу… пожалуйста, не арестовывайте меня." +msgid "As if you're one to talk. Screw You." +msgstr "Да что с тобой говорить. Пошёл ты." #: lang/json/talk_topic_from_json.py msgid "Huh, thought I smelled someone new. Can I help you?" msgstr "Эй, кажется вы здесь недавно. Могу я вам помочь?" +#: lang/json/talk_topic_from_json.py +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 "Ты… чуешь меня?" @@ -190701,14 +191770,6 @@ msgstr "Думаю, вы здесь главный." msgid "Glad to have you aboard." msgstr "Добро пожаловать на борт." -#: lang/json/talk_topic_from_json.py -msgid "So, do you need something?" -msgstr "Итак, что-нибудь нужно?" - -#: lang/json/talk_topic_from_json.py -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 " @@ -190717,6 +191778,14 @@ msgstr "" "Погоди. Мне всё равно, как ты сюда пробрался, но дальше ты не пройдёшь. " "Убирайся." +#: lang/json/talk_topic_from_json.py +msgid "We haven't changed our mind. Go away." +msgstr "Мы не передумали. Убирайся." + +#: lang/json/talk_topic_from_json.py +msgid "So, do you need something?" +msgstr "Итак, что-нибудь нужно?" + #: lang/json/talk_topic_from_json.py msgid "So how's it down there?" msgstr "Так каково там внизу?" @@ -190984,6 +192053,14 @@ 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, " @@ -190999,21 +192076,6 @@ msgstr "Что-нибудь нужно, маршал?" msgid "Oh, a U.S. marshal, how quaint." 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 "" -"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 msgid "" "We have been supplying this lab here with food from a few hunting and " @@ -191024,6 +192086,13 @@ 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?" +msgstr "" +"Я занимаюсь своими делами, а ты своими, маршал. Звучит справедливо, так?" + #: lang/json/talk_topic_from_json.py msgid "Keep safe, then." msgstr "Тогда береги себя." @@ -191269,16 +192338,16 @@ msgid "I'll talk with them then…" msgstr "Я поговорю с ними после…" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "Могу я помочь вам, маршал?" +msgid "Morning ma'am, how can I help you?" +msgstr "Доброе утро, мэм, чем я могу вам помочь?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "Доброе утро, сэр, чем я могу вам помочь?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "Доброе утро, мэм, чем я могу вам помочь?" +msgid "Can I help you, marshal?" +msgstr "Могу я помочь вам, маршал?" #: lang/json/talk_topic_from_json.py msgid "" @@ -191411,14 +192480,14 @@ msgstr "Есть какая-нибудь работа для меня?" msgid "Not now." msgstr "Не сейчас." -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "Возвращайтесь позже, мне нужно позаботиться о паре вещей сначала. " - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "Я могу осмотреть вас или ваших компаньонов, если вы получили травму." +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "Возвращайтесь позже, мне нужно позаботиться о паре вещей сначала. " + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "[$200, 30 минут] Подлатайте меня." @@ -191912,12 +192981,12 @@ msgstr "укус гадюки" #: lang/json/technique_from_json.py #, python-format msgid "You lash out at %s with a Viper Bite" -msgstr "" +msgstr "Вы набрасываетесь на %s Укусом гадюки" #: lang/json/technique_from_json.py #, python-format msgid " lash out at %s with a Viper Bite" -msgstr "" +msgstr " набрасывается на %s Укусом гадюки" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -193827,12 +194896,12 @@ msgstr "Левый хук" #: lang/json/technique_from_json.py #, python-format msgid "You deliver a solid L-hook to %s" -msgstr "" +msgstr "Вы прописываете крепкий левый хук %s" #: lang/json/technique_from_json.py #, python-format msgid " delivers a solid L-hook to %s" -msgstr "" +msgstr " прописывает крепкий левый хук %s" #: lang/json/technique_from_json.py msgid "L-hook (Knockback)" @@ -195421,12 +196490,12 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "closed screen door" -msgstr "" +msgstr "закрытая сетчатая дверь" #. ~ Description for closed screen door #: lang/json/terrain_from_json.py msgid "A simple wooden doorway with screen mesh." -msgstr "" +msgstr "Простой деревянный дверной проём с антимоскитной сеткой." #: lang/json/terrain_from_json.py msgid "rattle!" @@ -195508,7 +196577,7 @@ msgstr "металлическое громыхание!" #: lang/json/terrain_from_json.py msgid "screen mesh wall" -msgstr "" +msgstr "сетчатая стена" #. ~ Description for screen mesh wall #: lang/json/terrain_from_json.py @@ -195516,6 +196585,8 @@ 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" @@ -198680,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 "песочница" @@ -203774,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 "каток" @@ -205579,7 +206669,7 @@ msgstr "витамин С" #: lang/json/vitamin_from_json.py msgid "Toxins" -msgstr "" +msgstr "Яды" #: src/action.cpp src/input.cpp msgid "Press " @@ -206303,16 +207393,11 @@ msgstr "Вы разморозили и подогрели еду." msgid "You heat up the food." msgstr "Вы разогреваете пищу." -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.cpp #, c-format msgid "You are currently unable to mend the %s." msgstr "В настоящий момент вы не можете исправить %s." -#: src/activity_handlers.cpp -#, c-format -msgid "You successfully mended the %s." -msgstr "Вы успешно починили %s." - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -209342,6 +210427,11 @@ 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 "" @@ -209765,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 "Вы передумываете и выключаете." @@ -209882,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 "Храповики зацепляются за ваши суставы." @@ -210133,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 "Удаление провалилось без последствий." @@ -210265,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 @@ -211237,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 "Иссушение" @@ -211662,6 +212779,32 @@ msgstr "EXTRA_EXERCISE" 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 "Вы пытаетесь кричать, но у вас нет лица!" @@ -211904,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 "Источник: дров" @@ -215009,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] Редактировать миссии (ВНИМАНИЕ: нестабильно!)" @@ -215583,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." @@ -217674,6 +218549,14 @@ 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 "" @@ -217699,87 +218582,6 @@ 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" -"Распределить еду среди всех ваших компаньонов и заполнить кладовые. Положите распределяемую еду в зону еды. Требуется зона еды, зона неотсортированных предметов и хотя бы одна зона распределения предметов, иначе вам придётся создать их с помощью менеджера зон.\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 -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 #, c-format msgid "" @@ -217838,36 +218640,6 @@ 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 "" @@ -218144,39 +218916,20 @@ 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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" -"Примечание:\n" -"Отправьте компаньона полностью разобрать транспорт на запчасти.\n" -" \n" -"Используемый навык: механика\n" -"Сложность: 2\n" -"Эффекты:\n" -"> Снятые запчасти помещаются в мебели в гараже.\n" -"> От навыка сильно зависит, какие запчасти удастся получить.\n" -" \n" -"Риск: Нет\n" -"Время: 5 дней\n" #: src/faction_camp.cpp msgid "" @@ -218192,17 +218945,17 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "Используемый навык: производство\n" "Сложность: Н/Д\n" "Эффекты:\n" @@ -218228,28 +218981,16 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "" @@ -218266,24 +219007,125 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"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 "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 "" @@ -218301,6 +219143,10 @@ msgstr "" "\n" "Компаньоны должны быть в миссиях по крайне мере 24 часа, прежде чем станет доступен экстренный отзыв." +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "отправляется на обследование местности…" + #: src/faction_camp.cpp msgid "departs to search for materials…" msgstr "отправляется на поиск материалов…" @@ -218337,10 +219183,6 @@ msgstr "отправляется охотиться на крупных живо 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…" msgstr "возвращается к вам, неся кое-что…" @@ -218513,7 +219355,7 @@ msgstr "начинает работать…" #: src/faction_camp.cpp msgid "+ more\n" -msgstr "" +msgstr "+ больше\n" #: src/faction_camp.cpp msgid "begins to harvest the field…" @@ -218906,6 +219748,21 @@ msgid "" "Time: 4 Days\n" "Positions: %d/1\n" msgstr "" +"Примечание:\n" +"Привлечение дополнительных компаньонов — опасное и дорогое занятие. Исход сильно зависит от навыка компаньона и привлекательности вашего лагеря.\n" +" \n" +"Используемый навык: общение\n" +"Сложность: 2\n" +"Базовое значение: +%3d%%\n" +"> Бонус расширения: +%3d%%\n" +"> Бонус фракции: +%3d%%\n" +"> Особый бонус: +%3d%%\n" +" \n" +"Всего: Навык +%3d%%\n" +" \n" +"Риск: Высокий\n" +"Время: 4 Дня\n" +"Занято: %d/1\n" #: src/faction_camp.cpp msgid "Harvestable: " @@ -218922,7 +219779,7 @@ msgstr "Необходимо вспахать: " #: src/faction_camp.cpp #, c-format msgid "Name: %s\n" -msgstr "" +msgstr "Имя: %s\n" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -218931,7 +219788,7 @@ msgstr "---- Двигатели ----\n" #: src/faction_camp.cpp #, c-format msgid "Engine: %s\n" -msgstr "" +msgstr "Двигатель:%s\n" #: src/faction_camp.cpp #, c-format @@ -218941,7 +219798,7 @@ msgstr ">Статус: %24d%%\n" #: src/faction_camp.cpp #, c-format msgid ">Fuel: %s\n" -msgstr "" +msgstr ">Топливо: %s\n" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -219127,7 +219984,7 @@ msgstr "Удалять мир" #: src/game.cpp #, c-format msgid "World retained. Characters remaining:%s" -msgstr "" +msgstr "Мир сохранён. Оставшиеся персонажи:%s" #: src/game.cpp #, c-format @@ -222387,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" @@ -225141,7 +226002,7 @@ msgstr "Заклинания" #: src/init.cpp msgid "Transformations" -msgstr "" +msgstr "Преобразование" #: src/init.cpp msgid "Statistics" @@ -226721,20 +227582,20 @@ msgid "" msgstr "* Эта одежда маловата и вам не подходит." #: src/item.cpp -msgid "can be upsized." -msgstr "можно увеличить размер." +msgid "can be upsized" +msgstr "можно увеличить размер" #: src/item.cpp -msgid "can be downsized." -msgstr "можно ушить." +msgid "can be downsized" +msgstr "можно ушить" #: src/item.cpp -msgid "can not be downsized." -msgstr "нельзя ушить." +msgid "can not be downsized" +msgstr "нельзя ушить" #: src/item.cpp -msgid "can not be upsized." -msgstr "нельзя увеличить размер." +msgid "can not be upsized" +msgstr "нельзя увеличить размер" #: src/item.cpp #, c-format @@ -226742,24 +227603,24 @@ msgid "* This clothing %s." msgstr "* Эта одежда %s." #: src/item.cpp -msgid " and upsized." -msgstr "и увеличен." +msgid " and upsized" +msgstr "и увеличен" #: src/item.cpp -msgid " and downsized." -msgstr "и ушит." +msgid " and downsized" +msgstr "и ушит" #: src/item.cpp -msgid " but not downsized." -msgstr "но не ушит." +msgid " but not downsized" +msgstr "но не ушит" #: src/item.cpp -msgid " but not upsized." -msgstr "но не увеличен." +msgid " but not upsized" +msgstr "но не увеличен" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "* Эту одежду можно подогнать по фигуре%s." #: src/item.cpp @@ -226860,6 +227721,14 @@ 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 "Мощность: " @@ -226953,7 +227822,7 @@ msgstr "Будет готово через %s." #, c-format msgctxt "carving" msgid "%1$s on the %2$s is: %3$s" -msgstr "" +msgstr "%1$s на %2$s: %3$s" #. ~ %1$s: inscription text #: src/item.cpp @@ -227029,7 +227898,7 @@ msgstr "Вы взяли в руки %s." #: src/item.cpp msgid "faulty " -msgstr "дефект " +msgstr "дефектн." #: src/item.cpp #, c-format @@ -228931,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" @@ -235032,8 +235910,8 @@ 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 msgid "Block Counter" @@ -237956,6 +238834,14 @@ msgstr "Обязательство между %d членами %s %s и %d чл msgid "You don't have any companions to send out…" msgstr "У вас нет компаньонов, которых вы могли бы отослать…" +#: src/mission_companion.cpp +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 @@ -237963,42 +238849,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "%1$s (Защищается)" -#. ~ %1$s: companion 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]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "%s [ %4d : %4d : %4d ]" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" -msgstr "[%1$s %2$d/%3$d] " +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" -msgstr "%s [ %4d : %4d : %4d ]" - -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "" -"Кого вы хотите послать? [ БОЙ : ВЫЖИВАНИЕ : ПРОИЗВОДСТВО " -"]" +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 "The companion you selected doesn't have the skills!" -msgstr "Компаньон, которого вы выбрали, не обладает необходимыми навыками!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "У вас нет компаньонов, готовых вернуться…" @@ -239947,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" @@ -242968,7 +243837,7 @@ msgstr "Да, давай продолжим тренировку " #: src/npctalk.cpp #, c-format msgid "%s: 1 hour lesson (cost %s)" -msgstr "" +msgstr "%s: 1 часовой урок (стоимость %s)" #: src/npctalk.cpp #, c-format @@ -243220,6 +244089,11 @@ msgstr "%1$s (%2$d, %3$d)" 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" @@ -243318,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." @@ -244015,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" @@ -247218,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 "Ваше тело охвачено мучительной болью!" @@ -247271,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!" @@ -248023,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" -#. ~ %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: 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 "В настоящий момент вы не можете исправить %s таким способом." #: src/player.cpp msgid "You are already wearing that." @@ -248213,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 @@ -248469,6 +249342,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…" @@ -249862,10 +250742,6 @@ msgstr "«Ты-Дыщ!»" msgid "none" msgstr "нет" -#: src/recipe.cpp -msgid "none" -msgstr "нет" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -250120,6 +250996,8 @@ 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" @@ -250872,6 +251750,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" diff --git a/lang/po/zh_CN.po b/lang/po/zh_CN.po index 104b74309e293..102e977fec766 100644 --- a/lang/po/zh_CN.po +++ b/lang/po/zh_CN.po @@ -51,7 +51,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-04 19:23+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: cainiao , 2019\n" "Language-Team: Chinese (China) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/zh_CN/)\n" @@ -5531,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" @@ -5578,6 +5590,27 @@ msgid "" "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 "火枪药" @@ -7636,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" @@ -8276,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" @@ -16087,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" @@ -16098,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." @@ -21581,6 +21642,20 @@ msgid "" 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" @@ -23027,6 +23102,30 @@ msgid "" 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" @@ -23411,6 +23510,40 @@ msgid "" " 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" @@ -29820,6 +29953,17 @@ msgstr[0] "杏子" 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 "食用仙人掌" @@ -33325,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 "复活药水" @@ -35435,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" @@ -38352,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 "关上灯罩" @@ -38380,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 "打开灯罩" @@ -46442,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" @@ -48247,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 "" @@ -49142,6 +49335,290 @@ msgstr "穿戴物品" 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" @@ -61630,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" @@ -72945,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 "" @@ -74063,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 "摩托车轮" @@ -75402,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 "钻石角膜" @@ -75782,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" @@ -75813,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" @@ -76134,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" @@ -77015,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 "建造木地板" @@ -77666,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 "改造冰箱电源" @@ -77944,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." @@ -82313,25 +82857,49 @@ 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 "它进灰了,但是没有其他实际效果:已废弃的故障。" +#. ~ 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," @@ -82342,22 +82910,46 @@ msgid "" 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 " @@ -82369,89 +82961,209 @@ msgid "" 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 @@ -83133,8 +83845,7 @@ msgstr "一块用于截断交通的路障。" 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 "哐嘡。" @@ -83247,7 +83958,8 @@ msgstr "雕像" msgid "A carved statue made of stone." msgstr "一个冰冷的石雕。" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "重击声。" @@ -83648,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 "嘎嚓!" @@ -84522,6 +85234,17 @@ msgstr "凳子" 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 "公告牌" @@ -85733,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 "咔嚓!" @@ -90650,6 +91382,18 @@ msgid "" "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" @@ -90753,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" @@ -97142,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" @@ -101300,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 "恶魔甲壳" @@ -103001,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 "" @@ -103031,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 "" @@ -107571,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 "听觉发达" @@ -116196,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" @@ -116211,6 +116975,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 "食堂选址" @@ -116896,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 "高尔夫球场" @@ -126960,6 +127736,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 " @@ -127807,6 +128759,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 "工坊" @@ -129473,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 @@ -133967,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." @@ -142999,16 +143941,16 @@ msgid "Clothing Store" msgstr "服装店" #: lang/json/talk_topic_from_json.py -msgid "Acolyte." -msgstr "助手。" +msgid "You there. Quiet down. Can you hear it? The song?" +msgstr "那里的家伙,安静点。你能听到吗?这歌声?" #: lang/json/talk_topic_from_json.py msgid "You're back. Have you come to listen to the song?" msgstr "你又回来了。你是来这听歌的吗?" #: lang/json/talk_topic_from_json.py -msgid "You there. Quiet down. Can you hear it? The song?" -msgstr "那里的家伙,安静点。你能听到吗?这歌声?" +msgid "Acolyte." +msgstr "助手。" #: lang/json/talk_topic_from_json.py msgid "What? What do you mean? What song?" @@ -143159,38 +144101,38 @@ msgid "Yeah, alright." 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 "Do you believe you can take on the burden of additional bones?" -msgstr "你相信自己能承担额外骨骼带来的重担吗?" - -#: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -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 "There is an additional song you could take on, if you'd like." 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 "A song may yet be sung by you, should you wish to." msgstr "尚有歌未被你所唱,如果你想的话。" #: lang/json/talk_topic_from_json.py -msgid "An acolyte should not take on too many songs at once." -msgstr "一名助手一次不应该唱太多的歌。" +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 " @@ -143255,16 +144197,16 @@ 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." +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 "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 "听你这么说我很高兴。我们出发吧。" @@ -143636,16 +144578,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 "你在这里干什么?" @@ -143717,24 +144659,24 @@ msgid "" msgstr "是的,还有其他一些人像我一样躲在镇里。我们有时候会做些交易……有时会有陌生人路过这,以为他们能找到比之前待得更好的地方。" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "不行就是不行……" +msgid "Anything to do before I go to sleep?" +msgstr "睡觉前再做些什么?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "赶紧让我睡觉吧,!" +msgid "Just few minutes more..." +msgstr "再等几分钟……" #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "快点,我想回去睡觉" #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "再等几分钟……" +msgid "Just let me sleep, !" +msgstr "赶紧让我睡觉吧,!" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "睡觉前再做些什么?" +msgid "No, just no..." +msgstr "不行就是不行……" #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -143744,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 "[战斗]我想给你一些作战指令。" @@ -144132,14 +145074,14 @@ msgstr "守在你现在的位置。" msgid "Show me what needs to be done at the camp." 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 "我现在没有任务。" +#: lang/json/talk_topic_from_json.py +msgid "I'm currently ." +msgstr "我正在。" + #: lang/json/talk_topic_from_json.py msgid "I meant what are your goals?" msgstr "我是说你的目标是什么?" @@ -144200,14 +145142,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 " @@ -144218,32 +145160,32 @@ 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 "我感觉很难受……你还好吗?" -#: 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, ? " -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?" 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, ? " +msgstr "当然,顺便说一下,谢谢你帮了我这么多的忙!不管怎样,你能应付吗,?" + #: lang/json/talk_topic_from_json.py msgid "" "Now, we've got a moment, I was just thinking it's been a month or so " @@ -144315,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 "冷静点,我不会伤害你。" @@ -144375,14 +145317,6 @@ msgstr "你怎么了?" msgid "I don't care." msgstr "我不在乎。" -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 just have one job for you. Want to hear about it?" msgstr "我这正好有份你能做的事,想听听吗?" @@ -144391,6 +145325,14 @@ msgstr "我这正好有份你能做的事,想听听吗?" msgid "I have another job for you. Want to hear about it?" 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 "我还有更多的工作想交给你,要听听看吗?" + #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "我没有更多的工作可以给你了。" @@ -144408,14 +145350,14 @@ msgstr "哦,好的。" msgid "Never mind, I'm not interested." msgstr "[拒绝]算了,我没兴趣。" -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "哪个工作?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "怎么样了?" +#: lang/json/talk_topic_from_json.py +msgid "Which job?" +msgstr "哪个工作?" + #: lang/json/talk_topic_from_json.py msgid "You're not working on anything for me now." msgstr "你现在没有为我做任何事情。" @@ -144629,48 +145571,48 @@ msgid "Thanks!" msgstr "谢谢啦!" #: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "专心开车,兄弟!" +msgid "I have some reason for not telling you." +msgstr "我不方便对你说。" #: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "我在开车呢!" +msgid "Nothing comes to my mind now. Ask me later perhaps?" +msgstr "我现在什么都想不到,下次再问我吧。" #: lang/json/talk_topic_from_json.py -msgid "I'm too thirsty, give me something to drink." -msgstr "我渴了,给我来点喝的吧。" +msgid "I'm too tired, let me rest first." +msgstr "我累了,让我去睡一会吧。" #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "我饿了,给我来点吃的吧。" #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "我累了,让我去睡一会吧。" +msgid "I'm too thirsty, give me something to drink." +msgstr "我渴了,给我来点喝的吧。" #: lang/json/talk_topic_from_json.py -msgid "Nothing comes to my mind now. Ask me later perhaps?" -msgstr "我现在什么都想不到,下次再问我吧。" +msgid "I must focus on the road!" +msgstr "我在开车呢!" #: lang/json/talk_topic_from_json.py -msgid "I have some reason for not telling you." -msgstr "我不方便对你说。" +msgid "Focus on the road, mate!" +msgstr "专心开车,兄弟!" #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "啊,好吧。" #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "除非你给我一点抗生素……" +msgid "Why should I travel with you?" +msgstr "为什么我应该跟你同行?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "你刚才问过我了,我仍在考虑中,一会再问我吧。" #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "为什么我应该跟你同行?" +msgid "Not until I get some antibiotics..." +msgstr "除非你给我一点抗生素……" #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -144761,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 "你开车的时候,我没法好好儿训练你!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "我开车的时候没法训练你!" +msgid "I have some reason for denying you training." +msgstr "我不教你是有原因的。" #: lang/json/talk_topic_from_json.py 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 "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!" @@ -144812,14 +145754,14 @@ msgstr "我还是留着给自己吧。" msgid "I understand…" msgstr "我明白……" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "你刚刚问我要过东西了,晚点再说吧。" - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "为何我应该跟你分享自己的装备?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "你刚刚问我要过东西了,晚点再说吧。" + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "好的,算了。" @@ -144962,16 +145904,16 @@ msgstr "交易愉快!" msgid "You might be seeing more of me…" msgstr "我们还会再见的……" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "我……我自由了。 *滋滋滋* 我真的自由了! *噗滋滋滋* 看啊,你是这么长时间以来我见到的第一个活人。" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "再次问好。 *滋滋滋*" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "嘿,我们聊聊吧。" @@ -145902,28 +146844,28 @@ 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." -msgstr "你好朋友,很高兴见到你。" +msgid "Greeting citizen, what brings you to the FoodLair?" +msgstr "欢迎市民,什么风把你吹到了美食之城?" #: lang/json/talk_topic_from_json.py -msgid "So you're back... Explain yourself!" -msgstr "所以你又回来了……马上给我个解释!" +msgid "Still here? Take your time, it's rough out there." +msgstr "还在这里?慢慢来,外面很乱。" #: lang/json/talk_topic_from_json.py -msgid "What sorcery is this?" -msgstr "这是什么巫术?" +msgid "Greetings friend, it's nice to see you." +msgstr "你好朋友,很高兴见到你。" #: lang/json/talk_topic_from_json.py msgid "Welcome home Foodkid!" msgstr "欢迎回家,食物小子!" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." -msgstr "还在这里?慢慢来,外面很乱。" +msgid "What sorcery is this?" +msgstr "这是什么巫术?" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" -msgstr "欢迎市民,什么风把你吹到了美食之城?" +msgid "So you're back... Explain yourself!" +msgstr "所以你又回来了……马上给我个解释!" #: lang/json/talk_topic_from_json.py msgid "Greetings… Foodperson?" @@ -146776,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?" @@ -146911,7 +147853,7 @@ msgid "" "a pretty good life compared to those first few months." msgstr "" "嗯,我在那里过得还不赖,但最终我开始变得有点发疯。下面总是黑乎乎的,还有点冷,而且只能靠吃捡来的垃圾食品过日子……一个灵魂只能在那种环境下活这么久。当地上开始变暖,白天时间变长之后,我决定再勇敢一点。我已经学到了很多关于" -" 的知识,在那之后我就能过得很好了。我在好几个地方露营过,搜寻浆果之类的东西填肚子,与前几个月相比,我过着相当好的生活。" +" 的知识,在那之后我就能过得很好了。我在好几个地方露营过,采集浆果之类的东西填肚子,与前几个月相比,我过着相当好的生活。" #: lang/json/talk_topic_from_json.py msgid "" @@ -147351,10 +148293,6 @@ msgid "" 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 blur." @@ -147363,9 +148301,10 @@ 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 "" -"我那时候在医院工作,然后事情就这么糟了。整个事都有点模模糊糊的。一段时间以来一直都有一些奇怪的报道,那些听起来令人难以置信的关于病人死后复活的事情,但大多数人还是照常工作。然后,到了末日来临前,一切都突然出现了。我们以为这是一次来自中国的攻击,而这也是我们所获知的消息。送来急救的人都发疯了,身上满是子弹和咬伤的伤口。在我班快上到一半的时候我……我崩溃了。" +"我那时候在医院工作,然后事情就这么糟了。整个事都有点模模糊糊的。一段时间以来一直都有一些奇怪的报道,那些听起来令人难以置信的关于病人死后复活的事情,但大多数人还是照常工作。然后,到了末日来临前,一切都突然出现了。我们以为这是一次来自中国的攻击,而这也是我们所获知的消息。送来急救的人都发疯了,身上满是子弹和咬伤的伤口。在我班快上到一半的时候我……我崩溃了。我曾经见过比这更可怕的伤,但我……,我甚至没法谈起它。" #: lang/json/talk_topic_from_json.py msgid "" @@ -147375,10 +148314,13 @@ 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 +msgid "I just can't talk about that right now. I can't." +msgstr "我现在没法谈这件事。我做不到。" #: lang/json/talk_topic_from_json.py msgid "It might help to get it off your chest." @@ -147743,15 +148685,15 @@ 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 "我丈夫和我一起逃了出来,但在我遇见你前几天被一只 植物怪物吃掉了。今年对我来说不是个好年头。" +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 "我妻子和我一起逃了出来,但在我遇见你前几天被一只 植物怪物吃掉了。今年对我来说不是个好年头。" +msgstr "我丈夫和我一起逃了出来,但在我遇见你前几天被一只 植物怪物吃掉了。今年对我来说不是个好年头。" #: lang/json/talk_topic_from_json.py msgid "I'm sorry to hear it." @@ -147814,9 +148756,8 @@ msgid "I'm sorry you lost someone." msgstr "听到你失去了爱人我很难过。" #: lang/json/talk_topic_from_json.py -msgid "" -"I said, I don't wanna talk about it. How are you not understanding this?" -msgstr "我说过了,我不想谈这件事。你怎么不明白呢?" +msgid "Just another tale of love and loss. Not one I like to tell." +msgstr "只不过是另一个 爱情与失落的故事。我现在没心情讲故事了。" #: lang/json/talk_topic_from_json.py msgid "" @@ -147825,8 +148766,9 @@ msgid "" msgstr "如我所说,这是一个 故事,但我想再讲一遍不会让我丧命。" #: lang/json/talk_topic_from_json.py -msgid "Just another tale of love and loss. Not one I like to tell." -msgstr "只不过是另一个 爱情与失落的故事。我现在没心情讲故事了。" +msgid "" +"I said, I don't wanna talk about it. How are you not understanding this?" +msgstr "我说过了,我不想谈这件事。你怎么不明白呢?" #: lang/json/talk_topic_from_json.py msgid "You said you lost someone." @@ -147849,40 +148791,40 @@ 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 him." -msgstr "好吧,好吧。我曾经有个爱人。我失去了他。" - #: lang/json/talk_topic_from_json.py msgid "All right, fine. I had someone. I lost her." msgstr "好吧,好吧。我曾经有个爱人。我失去了她。" +#: lang/json/talk_topic_from_json.py +msgid "All right, fine. I had someone. I lost him." +msgstr "好吧,好吧。我曾经有个爱人。我失去了他。" + #: 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 "" -"当核弹开始落下,整个世界都变成地狱时,他一个人在家。我当时在工作。我试着回到家中,但整座城市已经变成战区。我我无法描述的怪物们在街道上蹒跚而行,压碎了人们和车辆。士兵们试图阻止它们,但是在交火中击中平民比其他东西要多得多。而因附加伤害而死的人们就会复活加入敌人。如果不是为了我的丈夫,我早就逃跑了,但我尽我所能,悄悄穿过这一切。我最终" +"当核弹开始落下,整个世界都变成地狱时,她一个人在家。我当时在工作。我试着回到家中,但整座城市已经变成战区。我我无法描述的怪物们在街道上蹒跚而行,压碎了人们和车辆。士兵们试图阻止它们,但是在交火中击中平民比其他东西要多得多。而因附加伤害而死的人们就会复活加入敌人。如果不是为了我的妻子,我早就逃跑了,但我尽我所能,悄悄穿过这一切。我最终" " 活着回到了家。" #: 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 "" -"当核弹开始落下,整个世界都变成地狱时,她一个人在家。我当时在工作。我试着回到家中,但整座城市已经变成战区。我我无法描述的怪物们在街道上蹒跚而行,压碎了人们和车辆。士兵们试图阻止它们,但是在交火中击中平民比其他东西要多得多。而因附加伤害而死的人们就会复活加入敌人。如果不是为了我的妻子,我早就逃跑了,但我尽我所能,悄悄穿过这一切。我最终" +"当核弹开始落下,整个世界都变成地狱时,他一个人在家。我当时在工作。我试着回到家中,但整座城市已经变成战区。我我无法描述的怪物们在街道上蹒跚而行,压碎了人们和车辆。士兵们试图阻止它们,但是在交火中击中平民比其他东西要多得多。而因附加伤害而死的人们就会复活加入敌人。如果不是为了我的丈夫,我早就逃跑了,但我尽我所能,悄悄穿过这一切。我最终" " 活着回到了家。" #: lang/json/talk_topic_from_json.py @@ -147938,28 +148880,28 @@ 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 "" -"我进去了。花了几个小时才找到一个空档。你想知道最该死的部分是什么吗?经历了这一切之后?我丈夫还活着。他一直躲在地下室里,但被倒塌的地板压住了。当我找到他的时候,他已经失血过多并神志不清。我没办法把他弄出来,所以我给了他食物和水,和他呆在一起,牵着他的手,直到他去世。然后……好吧,我做了你现在对死者必须要做的那些事。然后我收起了我生命中的最后几块碎片,我试着再也不回头了。" +"我进去了。花了几个小时才找到一个空档。你想知道最该死的部分是什么吗?经历了这一切之后?我妻子还活着。她一直躲在地下室里,但被倒塌的地板压住了。当我找到她的时候,她已经失血过多并神志不清。我没办法把她弄出来,所以我给了她食物和水,和她呆在一起,牵着她的手,直到她去世。然后……好吧,我做了你现在对死者必须要做的那些事。然后我收起了我生命中的最后几块碎片,我试着再也不回头了。" #: 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 "" -"我进去了。花了几个小时才找到一个空档。你想知道最该死的部分是什么吗?经历了这一切之后?我妻子还活着。她一直躲在地下室里,但被倒塌的地板压住了。当我找到她的时候,她已经失血过多并神志不清。我没办法把她弄出来,所以我给了她食物和水,和她呆在一起,牵着她的手,直到她去世。然后……好吧,我做了你现在对死者必须要做的那些事。然后我收起了我生命中的最后几块碎片,我试着再也不回头了。" +"我进去了。花了几个小时才找到一个空档。你想知道最该死的部分是什么吗?经历了这一切之后?我丈夫还活着。他一直躲在地下室里,但被倒塌的地板压住了。当我找到他的时候,他已经失血过多并神志不清。我没办法把他弄出来,所以我给了他食物和水,和他呆在一起,牵着他的手,直到他去世。然后……好吧,我做了你现在对死者必须要做的那些事。然后我收起了我生命中的最后几块碎片,我试着再也不回头了。" #: lang/json/talk_topic_from_json.py msgid "" @@ -148638,27 +149580,27 @@ 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." 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." msgstr "" -"我一个人住,住在城外很远的一间老房子里。我妻子在这一切开始前一个多月就去世了……癌症。如果说现在发生的这一切都有什么好处的话,那就是我终于看到了这么年轻的时候失去她是件好事。反正我那时已经与世隔绝一段时间了。当新闻开始谈论中国的生化武器和卧底特工,并报道在波士顿的骚乱等,我带着我的罐头蜷缩起来,然后换台。" +"我一个人住,住在城外很远的一间老房子里。我丈夫在这一切开始前一个多月就去世了……癌症。如果说现在发生的这一切都有什么好处的话,那就是我终于看到了这么年轻的时候失去他是件好事。反正我那时已经与世隔绝一段时间了。当新闻开始谈论中国的生化武器和卧底特工,并报道在波士顿的骚乱等,我带着我的罐头蜷缩起来,然后换台。" #: lang/json/talk_topic_from_json.py msgid "" @@ -148744,18 +149686,18 @@ msgstr "听到巴克的这些事我很难过。" msgid "I'm sorry about Buck. " 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." -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." 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." +msgstr "我说过了,你想让我给你讲故事,你得给我喝瓶威士忌。一整瓶,听好了。" + #: 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 " @@ -149076,16 +150018,6 @@ msgid "" 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 " -"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ée " @@ -149097,17 +150029,27 @@ msgstr "" "好吧,我有个不切实际的奢望。这可能听起来很蠢,但我看我的未婚妻和她的哥哥,我的伴郎,在一切失控前成功钻进了他的皮卡里离开了。所以,在我再次遇到他们之前,我会继续相信他们依旧在外面某处,活得很好。比我们大多数人都要好。" #: lang/json/talk_topic_from_json.py -msgid "What were you saying before that?" -msgstr "你刚刚还说了什么?" +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 " +"than most of us have." +msgstr "" +"好吧,我有个不切实际的奢望。这可能听起来很蠢,但我看我的未婚夫和他的姐姐,我的伴娘,在一切失控前成功钻进了她的皮卡里离开了。所以,在我再次遇到他们之前,我会继续相信他们依旧在外面某处,活得很好。比我们大多数人都要好。" #: lang/json/talk_topic_from_json.py -msgid "Hey, ." -msgstr "嘿,。" +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..." msgstr "我不敢相信我看到的一切。请把我从这里弄出去……" +#: lang/json/talk_topic_from_json.py +msgid "Hey, ." +msgstr "嘿,。" + #: lang/json/talk_topic_from_json.py msgid "I've come to take you home, lets go." msgstr "我是来带你回家的,咱们走吧。" @@ -149131,18 +150073,18 @@ 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." -msgstr "我看见那个徽章了,你最好马上离开这个地方。" +msgid "Hello Ma'am, what brings you here?" +msgstr "你好女士,你来这有什么事吗?" #: lang/json/talk_topic_from_json.py msgid "Hello Sir, what brings you here?" msgstr "你好先生,你来这有什么事吗?" #: lang/json/talk_topic_from_json.py -msgid "Hello Ma'am, what brings you here?" -msgstr "你好女士,你来这有什么事吗?" +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 msgid "Yeah, I'm a Marshal, what are you going to do about it?" @@ -149215,16 +150157,16 @@ msgstr "你的锻造台能用了吗?" msgid "Where can I find Chris?" msgstr "在哪儿能找到克里斯?" +#: lang/json/talk_topic_from_json.py +msgid "Hi, what's up?" +msgstr "你好?" + #: lang/json/talk_topic_from_json.py 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 "Hi, what's up?" -msgstr "你好?" - #: lang/json/talk_topic_from_json.py msgid "" "Hi, Your dad asked me to come find you, said you've been looking for your " @@ -149319,16 +150261,16 @@ msgid "" msgstr "我之前和卢克说过话,他说你对世界末日有些有趣的见解。" #: lang/json/talk_topic_from_json.py -msgid "Is that a U.S. Marshal's badge you're wearing?" -msgstr "你身上那个是联邦执法官徽章吗?" +msgid "Hi, what brings you here?" +msgstr "嗨,你有什么事吗?" #: lang/json/talk_topic_from_json.py msgid "Hello, what brings you here?" msgstr "你好,你有什么事吗?" #: lang/json/talk_topic_from_json.py -msgid "Hi, what brings you here?" -msgstr "嗨,你有什么事吗?" +msgid "Is that a U.S. Marshal's badge you're wearing?" +msgstr "你身上那个是联邦执法官徽章吗?" #: lang/json/talk_topic_from_json.py msgid "Yes, I'm a marshal." @@ -149628,14 +150570,14 @@ msgstr "现在就这些。我们能谈点别的吗?" msgid "That's all for now. I'd best get going." msgstr "现在就这些。我最好还是走吧。" -#: lang/json/talk_topic_from_json.py -msgid "Leave our property, Marshal." -msgstr "离开我们的地盘,执法官。" - #: lang/json/talk_topic_from_json.py msgid "Hello, We don't see many people these days." msgstr "你好,如今我们能碰见的人可是越来越少了。" +#: lang/json/talk_topic_from_json.py +msgid "Leave our property, Marshal." +msgstr "离开我们的地盘,执法官。" + #: lang/json/talk_topic_from_json.py msgid "Hi, it looks like you are doing well here." msgstr "嗨,看起来你们在这过得不错。" @@ -149762,14 +150704,14 @@ msgid "" 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 "你好。" +#: 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 "你爸说你在修理这个地方。" @@ -149838,8 +150780,10 @@ 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 "执法官,我希望你是来帮忙的。" +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 "" @@ -149848,10 +150792,8 @@ msgid "" 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 "先生,我不知道你是怎么到这里来的。如果你还有点理智的话,趁现在你还能离开,赶紧走吧。" +msgid "Marshal, I hope you're here to assist us." +msgstr "执法官,我希望你是来帮忙的。" #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -149914,16 +150856,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "不论他们做了什么,都一定成功了。因为我们还活着……" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "执法官,能在这看到你真令人惊讶。" +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "女士,您没有这里的授权……请离开。" #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "先生,您没有这里的授权……请离开。" #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "女士,您没有这里的授权……请离开。" +msgid "Marshal, I'm rather surprised to see you here." +msgstr "执法官,能在这看到你真令人惊讶。" #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -149961,22 +150903,6 @@ msgstr "" "我正等着上尉给我派个跑腿的人来。这是你要的频率表。从这份表里我们只能看到那些曾经有通讯过的频率, " "但这些通讯大多都加密了,不修复或者替换这里的设备是没法破译的。按标准流程来说,当设施被外敌侵占时,应该破坏加密器,以保护联邦政府机密和保持加密通讯网络的完整。不过我们还是希望能够获得一些明文编码的信息。" -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "你好,执法官。" - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "执法官,恐怕我现在没法和你谈话。" - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "执法官,我不是这里管事的。" - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "执法官,我想你该向我领导问这些问题。" - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "嗨,市民……你不该在这里。" @@ -149989,6 +150915,14 @@ msgstr "你应该管好自己的事,这里没什么好看的。" msgid "If you need something you'll need to talk to someone else." msgstr "如果你想要什么的话,你该找别人去。" +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "女士" + +#: lang/json/talk_topic_from_json.py +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 "Sir." msgstr "先生" @@ -149998,12 +150932,20 @@ msgid "Dude, if you can hold your own you should look into enlisting." msgstr "伙计,如果你靠得住,你该去报名参军的。" #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "女士" +msgid "Hello, 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?" -msgstr "嘿小姐,难道你不觉得应该和我一起才更安全么?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "执法官,恐怕我现在没法和你谈话。" + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "执法官,我不是这里管事的。" + +#: lang/json/talk_topic_from_json.py +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…" @@ -150060,15 +151002,14 @@ 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 "拜托,帮帮我。我需要食物。" #: 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?" -msgstr "我很抱歉,在你为了我做了那么多事后还……不过,你能给我点吃的吗?" +"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 "Thank you again. I really appreciate the food." @@ -150076,13 +151017,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?" -msgstr "拜托,帮帮我。我需要食物。你不是他们的警长吗?你不能帮帮我吗?" +"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 -msgid "Please, help me. I need food." -msgstr "拜托,帮帮我。我需要食物。" +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "那么,你说服其他人来参加你的疯狂冒险了吗?" #: lang/json/talk_topic_from_json.py msgid "" @@ -150101,15 +151043,15 @@ 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." -msgstr "他们不让我进去。他们说他们已经满人了。他们让我在这露营,前提是我保持这里干净整洁,不惹事生非,但我只能乞讨为生。" +"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 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." -msgstr "他们不让我进去。他们说他们已经满人了。他们让我在这露营,前提是我保持这里干净整洁,不惹事生非,但我实在是太饿了。" +"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 "Why don't you scavenge your own food?" @@ -150209,16 +151151,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 "我可以保护你的安全。我带你去。" @@ -150301,16 +151243,16 @@ msgstr "你真的就这么穿着恐龙套装吗?" 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 "我能问你点别的事吗?" @@ -150401,12 +151343,6 @@ msgid "" "have shields up, to protect ourselves." 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?" -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." @@ -150414,6 +151350,12 @@ msgid "" "keep me going." 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?" +msgstr "嗯……从前一切都很美好,但其他人都走了,而现在的主管不让我建我的避难所了。你能帮帮我吗?" + #: lang/json/talk_topic_from_json.py msgid "" "Why don't you leave this place? Come with me, I could use some help out " @@ -150431,16 +151373,19 @@ msgid "" msgstr "不!我才刚刚把所有的东西收集全。我不会走的,至少现在不会。我终于把它们全部凑齐了!" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "滚开,屌人。" +msgid "Don't bother with these assholes." +msgstr "别理那些混蛋们。" #: lang/json/talk_topic_from_json.py -msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" -msgstr "哟。其他人愿意从这个公共汽车站搬到你的帐篷城吗?" +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." -msgstr "嗨你好,很高兴再次见到你。" +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 "" @@ -150449,19 +151394,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?" -msgstr "听着,之前我不该大发脾气的。你也许是个混蛋,但我相信你那会儿不是故意的。我的血糖太低了,有点暴躁。我们还能友好相处吧?" +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." -msgstr "嘿,不是混蛋的家伙。很高兴再次见到你。" +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 "别理那些混蛋们。" +msgid "Fuck off, dickwaddle." +msgstr "滚开,屌人。" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -150759,6 +151701,12 @@ 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 " @@ -150768,12 +151716,6 @@ msgid "" 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 "真巧,我现在就随身带着一大块真菌。" @@ -150822,14 +151764,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 "嘿,你相信适者生存吗?" +#: 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 "你为什么这么问?" @@ -150846,18 +151788,18 @@ 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. " "Help a poor sickly soul out?" 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 "I could maybe help you out… want something to eat?" msgstr "我也许能帮你……想吃点什么吗?" @@ -150878,15 +151820,15 @@ msgstr "你如果你得了重病,那你还怎么可能来到这里的?" msgid "Why are you camped out here if they won't let you in?" msgstr "既然他们不让你进去,你为什么还要在这里扎营?" -#: lang/json/talk_topic_from_json.py -msgid "That's awful kind of you, you really are a wonderful person." -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." msgstr "噢!哇哦!你真是个好人,知道吗?你光有这个想法就很谢谢了。" +#: lang/json/talk_topic_from_json.py +msgid "That's awful kind of you, you really are a wonderful person." +msgstr "太好了,你真是个好人。" + #: lang/json/talk_topic_from_json.py msgid "" "It's good to know there are still people like you in the world, it really " @@ -151170,6 +152112,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 "哦,呃……嗨。你看上去是新来的。我叫阿莱莎。" + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "嗨,那边那位。" @@ -151186,10 +152132,6 @@ 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 "很高兴见到你,孩子。怎么了?" @@ -151207,16 +152149,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 "我可不是个孩子了,好吗?我十六岁了。" +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "我可不是个孩子了,好吗?我十四岁了。" #: lang/json/talk_topic_from_json.py 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 fourteen." -msgstr "我可不是个孩子了,好吗?我十四岁了。" +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "我可不是个孩子了,好吗?我十六岁了。" #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -151226,6 +152168,15 @@ 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 " @@ -151236,15 +152187,6 @@ msgid "" 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 " @@ -151288,8 +152230,9 @@ msgid "How are things here?" msgstr "这里怎么样?" #: lang/json/talk_topic_from_json.py -msgid "Hello again, gorgeous" -msgstr "你好啊,又见面了。" +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 msgid "" @@ -151298,9 +152241,8 @@ msgid "" 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." -msgstr "哦,天哪,您可真是位漂亮的女士,很高兴见到您。他们叫我阿隆索。" +msgid "Hello again, gorgeous" +msgstr "你好啊,又见面了。" #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Alonso." @@ -151327,11 +152269,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 " @@ -151339,26 +152276,31 @@ msgid "" msgstr "既然您来了,一切都好。阿隆索能如何……*为您效劳*呢?" #: lang/json/talk_topic_from_json.py -msgid "You know me, I gotta be me, right?" -msgstr "你了解我的,我必须做我自己,对吧?" +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 "你了解我的,我必须做我自己,对吧?" + #: 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 "伙计,你为什么要这样?我只是想弄点神秘感,好吗?没人愿意和一个来自布鲁克林的淫荡的家伙在一起,但神秘的阿隆索那就另当别论了。" +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 "小妞,你为什么要这样?我只是想弄点神秘感,好吗?没人愿意和一个来自布鲁克林的淫荡的家伙在一起,但神秘的阿隆索那就另当别论了。" +msgstr "伙计,你为什么要这样?我只是想弄点神秘感,好吗?没人愿意和一个来自布鲁克林的淫荡的家伙在一起,但神秘的阿隆索那就另当别论了。" #: lang/json/talk_topic_from_json.py msgid "And how is that working out for you?" @@ -151384,6 +152326,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 " @@ -151392,9 +152340,9 @@ 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 "阿隆索不愿谈论过去,只想讨论未来。前方的日子会非常黑暗,但是我们在一起或许可以带来一些光明。" +"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 msgid "" @@ -151403,10 +152351,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 "又一个新面孔。你好。我是鲍里斯。" #: lang/json/talk_topic_from_json.py msgid "Well, well. I'm glad you are back." @@ -151420,10 +152366,6 @@ 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 "很高兴见到你,鲍里斯。" @@ -151492,13 +152434,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 " @@ -151510,6 +152445,13 @@ msgid "" 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 " @@ -151539,6 +152481,10 @@ msgstr "关于你让我找的那个酸面团……" 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 "你好啊。我叫达娜,很高兴看到一张新面孔。" + #: lang/json/talk_topic_from_json.py msgid "Hello, nice to see you again." msgstr "哈喽,很高兴又见到你了。" @@ -151547,10 +152493,6 @@ msgstr "哈喽,很高兴又见到你了。" msgid "It's good to see you're still around." msgstr "很高兴看到你还在。" -#: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." -msgstr "你好啊。我叫达娜,很高兴看到一张新面孔。" - #: lang/json/talk_topic_from_json.py msgid "Dana, hey? Nice to meet you." msgstr "达娜,是吗?很高兴见到你。" @@ -151601,9 +152543,11 @@ 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." -msgstr "自从上次见你之后还没有,很抱歉。过一两天再来吧,我尽量给你留块面包,它们在这很容易消失不见。" +"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 msgid "" @@ -151613,11 +152557,9 @@ 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." -msgstr "有一些。我刚到的时候就做了个酸面团,现在已经可以开始制作不错的面包了。实际上我昨天就已经做了一些,我可以用一块面包跟你交换,嗯,八杯面粉。" +"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 msgid "That sounds like a great deal, here's some flour for you." @@ -151638,6 +152580,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 " @@ -151659,12 +152607,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" @@ -151696,10 +152638,6 @@ msgid "" 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" @@ -151708,6 +152646,10 @@ msgid "" 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 " @@ -151746,16 +152688,16 @@ msgid "" 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 "很高兴认识你,德拉科。" @@ -151996,15 +152938,15 @@ msgstr "也许我能帮你点忙?" 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." +msgstr "拜托,想象一下我有一把新吉他之后能做的事情。" + #: lang/json/talk_topic_from_json.py msgid "" "My savior! My patron of the arts! You're always welcome here, friend." msgstr "我的救星!我的艺术赞助人!这里随时欢迎你,朋友。" -#: lang/json/talk_topic_from_json.py -msgid "Man, just imagine what I could do with a new guitar." -msgstr "拜托,想象一下我有一把新吉他之后能做的事情。" - #: lang/json/talk_topic_from_json.py msgid "Let's talk about getting you that guitar." msgstr "我们谈谈那把吉他的事。" @@ -152097,12 +153039,6 @@ msgstr "我可以帮忙。" msgid "Find somebody else, dude." 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." -msgstr "好的,不过现在不急。我现在还能撑一阵子。过段时间再问我,也许那会儿我能筹到足够商币给你。" - #: lang/json/talk_topic_from_json.py msgid "" "Amazing! My lucky day. Let's see here. What can I offer... I can scrounge" @@ -152110,6 +153046,12 @@ msgid "" "stuff." msgstr "太棒了!今天是我的幸运日。让我看看,我能给你些什么……我能替你搜集商币,只要你给我5根大麻烟,或者是等价的叶子。" +#: 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." +msgstr "好的,不过现在不急。我现在还能撑一阵子。过段时间再问我,也许那会儿我能筹到足够商币给你。" + #: lang/json/talk_topic_from_json.py msgid "You have yourself a deal. Here's the marijuana." msgstr "成交了,这是你的叶子。" @@ -152158,6 +153100,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 "你好,又见面了。" @@ -152170,12 +153118,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 "很高兴见到你,法蒂玛。我只是路过。" @@ -152242,6 +153184,10 @@ msgid "" msgstr "" "这里气氛很紧张。我想要是我的技能能够派上用场,或是有个安静祈祷的地方的话,我会感觉好很多。在公共场所祈祷有点让我难为情。珍妮在谈论她的一些项目想法,那可以让我重新开始工作,但是我得说外出工作让我感到非常紧张。" +#: lang/json/talk_topic_from_json.py +msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." +msgstr "你好,你好。我是加里,加里·维伦纽夫。" + #: lang/json/talk_topic_from_json.py msgid "Well, hello." msgstr "哦,你好。" @@ -152250,10 +153196,6 @@ msgstr "哦,你好。" msgid "Good to see you again." msgstr "很高兴再次见到你。" -#: lang/json/talk_topic_from_json.py -msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." -msgstr "你好,你好。我是加里,加里·维伦纽夫。" - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Garry." msgstr "很高兴认识你,加里。" @@ -152319,6 +153261,12 @@ 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." +msgstr "哦,你好。我想我以前没见过你。我是甘尼特,大伙都叫我甘尼。" + #: lang/json/talk_topic_from_json.py msgid "Hi." msgstr "嗨。" @@ -152327,12 +153275,6 @@ msgstr "嗨。" 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 "很高兴见到你,甘尼。" @@ -152381,15 +153323,15 @@ msgid "" msgstr "" "这里糟透了,毫无疑问。其他人仅仅是因为我们戴着头巾而且家庭完整而不愿意同我们说话。他们认为我们既然家庭完整,就没有失去任何东西。我爸也相信这说法,而且我想我妈也对此犹豫不决。" -#: lang/json/talk_topic_from_json.py -msgid "Nice to see you again." -msgstr "很高兴又见到你了。" - #: lang/json/talk_topic_from_json.py msgid "" "Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." msgstr "那边那位,你好啊。以前从没在这见过你。我叫珍妮,珍妮 福斯特。" +#: lang/json/talk_topic_from_json.py +msgid "Nice to see you again." +msgstr "很高兴又见到你了。" + #: lang/json/talk_topic_from_json.py msgid "Nice meeting you. What are you doing on that computer?" msgstr "很高兴认识你。你对着那台电脑做什么?" @@ -152550,6 +153492,16 @@ msgid "" 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 " @@ -152563,16 +153515,6 @@ msgid "" 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 "你能跟我说说关于自由商会的事情吗?" @@ -152642,6 +153584,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." +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. " @@ -152655,12 +153606,12 @@ 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 "" -"我猜鲍里斯和加里应该是夫妻。他们不和别人来往,如果你问我,他们似乎有点冷漠。斯坦是鲍里斯的弟弟,猜的,我也不完全确定。他看起来很好,但是个沉默寡言的人。我对他们不是很了解。不过,我学会了不要多管闲事。" +"我真的不了解他们的事情。除了自己小家庭里的人外,他们从来没有真正和其他任何人交谈过,他们只是坐在自己的角落里说旁遮普语。他们总是看起来很友善,他们做他们份内的事情,只是他们没有其他的社交关系。" #: lang/json/talk_topic_from_json.py msgid "" @@ -152675,12 +153626,16 @@ 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 "" -"我真的不了解他们的事情。除了自己小家庭里的人外,他们从来没有真正和其他任何人交谈过,他们只是坐在自己的角落里说旁遮普语。他们总是看起来很友善,他们做他们份内的事情,只是他们没有其他的社交关系。" +"瓦内萨……嗯,她是个好人,大概吧。不过我得说,她有点让我发疯,但我们现在被绑在一起,所以我尽量不要太挑剔。陈宛和莱泽尔似乎都想在这里当老大,但我尽量避开那些政治活动,只专注于制作东西。我看他们不会有什么好结果。阿隆索很好,他显然对我很感兴趣,他对这里的每个单身女人都有兴趣。在这个小社会里,不关我事。约翰总是一板一眼的老式做派,我想他应该有些更深的背景,但我还没有看到。" #: lang/json/talk_topic_from_json.py msgid "" @@ -152697,26 +153652,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." -msgstr "" -"瓦内萨……嗯,她是个好人,大概吧。不过我得说,她有点让我发疯,但我们现在被绑在一起,所以我尽量不要太挑剔。陈宛和莱泽尔似乎都想在这里当老大,但我尽量避开那些政治活动,只专注于制作东西。我看他们不会有什么好结果。阿隆索很好,他显然对我很感兴趣,他对这里的每个单身女人都有兴趣。在这个小社会里,不关我事。约翰总是一板一眼的老式做派,我想他应该有些更深的背景,但我还没有看到。" +"Howdy, pardner. They call me Clemens. John Clemens. I'm an ol' cowhand." +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 "很高兴见到你,约翰。" @@ -152770,14 +153712,14 @@ msgid "" " we got 'em, it's gonna be tense in here." msgstr "人们没法在没有蓝天的空间里呆太久。像被关在谷仓里的一头牛一样……如果还不懂,俺们需要新鲜空气。在此之前,气氛会很紧张。" -#: lang/json/talk_topic_from_json.py -msgid "Hello sir. I am Mandeep Singh." -msgstr "你好,先生。我是曼迪普·辛格。" - #: lang/json/talk_topic_from_json.py msgid "Hello ma'am. I am Mandeep Singh." msgstr "你好,女士。我是曼迪普·辛格。" +#: lang/json/talk_topic_from_json.py +msgid "Hello sir. I am Mandeep Singh." +msgstr "你好,先生。我是曼迪普·辛格。" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Mandeep." msgstr "很高兴见到你,曼迪普。" @@ -152818,6 +153760,10 @@ msgid "" msgstr "" "很难说。这里没有人是快乐的。我感到有些人对我和我的家人安然无恙地在世界末日后幸存下来而感到妒忌。这件事,也许还有其他一些事情,使我们很难在这里交到亲密的朋友。" +#: lang/json/talk_topic_from_json.py +msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." +msgstr "啊!你是新来的。对不起,我是曼加普雷特。" + #: lang/json/talk_topic_from_json.py msgid "Hi there." msgstr "你好。" @@ -152826,10 +153772,6 @@ msgstr "你好。" msgid "Oh, hello there." msgstr "哦,你好。" -#: lang/json/talk_topic_from_json.py -msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." -msgstr "啊!你是新来的。对不起,我是曼加普雷特。" - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Mangalpreet." msgstr "很高兴见到你,曼加普雷特。" @@ -153033,15 +153975,15 @@ msgstr "真的吗?我说不定会考虑那里的。跟我的妻子达娜谈谈 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?" -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." msgstr "你好。我想我们以前没见过面。我是莱泽尔,人们叫我\"莱\"。" +#: lang/json/talk_topic_from_json.py +msgid "Need to talk?" +msgstr "想聊聊吗?" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Rhy." msgstr "很高兴见到你,莱。" @@ -153134,6 +154076,12 @@ msgstr "" 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." +msgstr "你好,我很抱歉,如果我们之前见过面的话,我已经不记得了。我叫……我叫斯坦。" + #: lang/json/talk_topic_from_json.py msgid "Hm? Oh, hi." msgstr "哈?哦,嗨。" @@ -153142,12 +154090,6 @@ msgstr "哈?哦,嗨。" msgid "...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." -msgstr "你好,我很抱歉,如果我们之前见过面的话,我已经不记得了。我叫……我叫斯坦。" - #: lang/json/talk_topic_from_json.py msgid "Stan, hey? Nice to meet you." msgstr "斯坦,是吗?很高兴见到你。" @@ -153260,16 +154202,16 @@ 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 "哦,你回来了。" - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " "Vanessa." msgstr "哦,太棒了。又来了张吃饭的嘴?好像我们正缺一样。好吧,我是瓦内萨。" +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "哦,你回来了。" + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "我可不是个只会吃干饭的新人,但也很高兴见到你。" @@ -153306,15 +154248,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 " @@ -153324,6 +154257,15 @@ msgid "" 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 " @@ -153505,12 +154447,6 @@ msgid "" 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." -msgstr "是的,我不知道你做了什么来说服他们搬出去,但是我们的供应链和我都非常感谢你们。希望不会太不得体。" - #: lang/json/talk_topic_from_json.py msgid "" "Even once we got things sorted out, there weren't enough beds for everyone, " @@ -153519,6 +154455,12 @@ msgid "" 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." +msgstr "是的,我不知道你做了什么来说服他们搬出去,但是我们的供应链和我都非常感谢你们。希望不会太不得体。" + #: lang/json/talk_topic_from_json.py msgid "" "Well, there's the downstairs section, we can't fit more people down there so" @@ -153881,14 +154823,14 @@ 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 "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 "我听说这是一个难民中心……" @@ -153921,14 +154863,14 @@ msgstr "我想你似乎正在寻求帮助……" msgid "Well, I'd better be going. Bye." msgstr "好吧,我最好先走了。再见。" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "欢迎您,执法官……" - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "欢迎……" +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "欢迎您,执法官……" + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -154167,14 +155109,14 @@ msgid "" msgstr "" "不幸的是,没有。离开的大部分人原本就被困在楼上,他们所承担的风险已经比那些有张安全的床的人要小。地下室里只带出了几个人,当我们开始计划的时候地下室已经太拥挤了。我们希望有更多的人到农场去晒晒太阳,呼吸新鲜空气,干点苦活……但是你可能猜到了,人们更害怕被尸群袭击。" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "你好,执法官……" - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "你好,公民……" +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "你好,执法官……" + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "我能换点补给品吗?" @@ -154231,14 +155173,14 @@ msgid "" "buy from you. I don't suppose you want to donate?" msgstr "我们不能。我们这空不出什么可以卖的东西,我也没有任何从你手里买东西的预算。我想你不会免费赠送的吧?" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "你那闪亮亮的警徽可真漂亮啊!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "嗨,你看起来像个大人物。" +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "你那闪亮亮的警徽可真漂亮啊!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "我是新来的。" @@ -154310,16 +155252,16 @@ msgid "" 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 "真抱歉不该问你" @@ -154345,22 +155287,22 @@ msgstr "[交易]我要买东西。" msgid "Who needs rebar?" msgstr "谁还会需要钢筋啊?" -#: lang/json/talk_topic_from_json.py -msgid "As if you're one to talk. Screw You." -msgstr "好像你是能说话的人一样,滚。" - #: lang/json/talk_topic_from_json.py msgid "Screw You!" msgstr "去你妈的!" #: lang/json/talk_topic_from_json.py -msgid "I thought I smelled a pig. I jest... please don't arrest me." -msgstr "我似乎闻到了一头蠢猪的味道。开玩笑的……你可别抓我。" +msgid "As if you're one to talk. Screw You." +msgstr "好像你是能说话的人一样,滚。" #: lang/json/talk_topic_from_json.py msgid "Huh, thought I smelled someone new. Can I help you?" msgstr "嘿,我闻到了新来的家伙,我能帮你做点什么?" +#: lang/json/talk_topic_from_json.py +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 "你……闻到了我?" @@ -154639,18 +155581,18 @@ msgid "Glad to have you aboard." msgstr "欢迎入队。" #: lang/json/talk_topic_from_json.py -msgid "So, do you need something?" -msgstr "所以,你需要什么吗?" +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 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." -msgstr "站住。我不管你是怎么进来的,但你不能再往前走了。快离开。" +msgid "So, do you need something?" +msgstr "所以,你需要什么吗?" #: lang/json/talk_topic_from_json.py msgid "So how's it down there?" @@ -154905,6 +155847,14 @@ 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, " @@ -154920,12 +155870,11 @@ msgid "Oh, a U.S. marshal, how quaint." 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 "一路平安,拾荒者。" +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 "" @@ -154933,13 +155882,6 @@ 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 "那么,请注意安全。" @@ -155155,16 +156097,16 @@ msgid "I'll talk with them then…" msgstr "好吧,我会去跟他们谈谈……" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "有什么我可以效劳的吗,执法官?" +msgid "Morning ma'am, how can I help you?" +msgstr "早上好,女士,我能帮你什么忙吗?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "早上好,先生,我能帮你什么忙吗?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "早上好,女士,我能帮你什么忙吗?" +msgid "Can I help you, marshal?" +msgstr "有什么我可以效劳的吗,执法官?" #: lang/json/talk_topic_from_json.py msgid "" @@ -155272,14 +156214,14 @@ msgstr "你有什么样的工作给我?" msgid "Not now." msgstr "现在还不行。" -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "现在我有点事要做,待会再来吧。" - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "如果你和你的同伴受伤了,我也能帮你看看。" +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "现在我有点事要做,待会再来吧。" + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "[$200,30分钟]我需要你帮我治疗一下。" @@ -161854,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 "沙坑" @@ -163699,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 "" @@ -166295,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 "辊筒" @@ -168640,16 +169597,11 @@ msgstr "你解冻并加热了食物。" msgid "You heat up the food." msgstr "你加热了食物。" -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.cpp #, c-format msgid "You are currently unable to mend the %s." msgstr "你目前无法修复%s。" -#: src/activity_handlers.cpp -#, c-format -msgid "You successfully mended the %s." -msgstr "你成功修复了%s!" - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -171538,6 +172490,11 @@ 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 "你缩在龟壳里无法移动。先把你的小头小脚钻出来先。" @@ -171951,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 "你改变主意,将其关闭。" @@ -172068,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 "你的动力齿轮紧紧锁在了你的关节上。" @@ -172300,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 "移除生化插件失败了,但你安然无恙。" @@ -172597,17 +173575,17 @@ msgstr "." #: src/bionics_ui.cpp src/panels.cpp src/units.h msgctxt "energy unit: kilojoule" msgid "kJ" -msgstr "千焦" +msgstr "kJ" #: src/bionics_ui.cpp src/panels.cpp src/units.h msgctxt "energy unit: joule" msgid "J" -msgstr "焦" +msgstr "J" #: src/bionics_ui.cpp src/panels.cpp src/units.h msgctxt "energy unit: millijoule" msgid "mJ" -msgstr "毫焦" +msgstr "mJ" #: src/bionics_ui.cpp #, c-format @@ -173331,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 "极度脱水!" @@ -173742,6 +174725,26 @@ msgstr "海量运动" 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 "你想要叫喊,但你没有面具!" @@ -173979,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 "标记:柴火源" @@ -176970,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 "编辑任务(警告:不稳定!)" @@ -179591,6 +180344,14 @@ 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 "" @@ -179616,87 +180377,6 @@ 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" -"向你营地里的同伴分发食物并装进储藏室。营地中必须已经设置有一个营地食物区、待整理区和至少一个储存目的地区,否则系统将提示使用区域管理菜单创建这些区域。\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 #, c-format msgid "" @@ -179755,36 +180435,6 @@ 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 "" @@ -179929,7 +180579,7 @@ msgid "" "Positions: %d/3\n" msgstr "" "说明:\n" -"选择一名同伴去搜寻野果。\n" +"选择一名同伴去采集野果。\n" "\n" "技能:生存\n" "需求等级:N/A\n" @@ -180064,27 +180714,19 @@ 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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" "说明:\n" "让你的同伴尝试将一辆载具完全拆解成载具部件。\n" @@ -180096,7 +180738,7 @@ msgstr "" "> 技能等级决定拆解部件的产出。\n" "\n" "风险:无\n" -"耗时:5 天\n" +"耗时:5天\n" #: src/faction_camp.cpp msgid "" @@ -180113,14 +180755,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" "\n" @@ -180131,7 +180773,7 @@ msgstr "" "> 不会损害已有的作物。\n" "\n" "风险:无\n" -"耗时:5 分钟/地块\n" +"耗时:5分钟/地块\n" "位置:0/1\n" #: src/faction_camp.cpp @@ -180149,15 +180791,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" "\n" @@ -180169,7 +180811,7 @@ msgstr "" "> 将在所选扩展区内的所有土堆上播种。\n" "\n" "风险:无\n" -"耗时:1 分钟/地块\n" +"耗时:1分钟/地块\n" "位置:0/1 \n" #: src/faction_camp.cpp @@ -180187,13 +180829,13 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 3 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" "\n" @@ -180203,9 +180845,120 @@ msgstr "" "> 将会把所有收获的作物丢在你的当前位置上。\n" "\n" "风险:无\n" -"耗时:3 分钟/地块\n" +"耗时:3分钟/地块\n" "位置:0/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" +"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" @@ -180222,6 +180975,10 @@ msgstr "" "\n" "同伴必须在执行任务至少24小时后才能进行紧急召回。" +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "离队去勘测选址了……" + #: src/faction_camp.cpp msgid "departs to search for materials…" msgstr "离队去寻找物资了……" @@ -180244,7 +181001,7 @@ msgstr "向藏匿点运送补给归来……" #: src/faction_camp.cpp msgid "departs to search for edible plants…" -msgstr "离队去搜寻植物了……" +msgstr "离队去采集野果了……" #: src/faction_camp.cpp msgid "departs to set traps for small animals…" @@ -180258,10 +181015,6 @@ msgstr "离队去狩猎动物了……" 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…" msgstr "带着一些物品归来……" @@ -185718,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?" @@ -188298,20 +189051,20 @@ msgid "" msgstr "* 这件装备太小不适合你。" #: src/item.cpp -msgid "can be upsized." -msgstr "可以改大码。" +msgid "can be upsized" +msgstr "可以改大码" #: src/item.cpp -msgid "can be downsized." -msgstr "可以改小码。" +msgid "can be downsized" +msgstr "可以改小码" #: src/item.cpp -msgid "can not be downsized." -msgstr "不能改小码。" +msgid "can not be downsized" +msgstr "不能改小码" #: src/item.cpp -msgid "can not be upsized." -msgstr "不能改大码。" +msgid "can not be upsized" +msgstr "不能改大码" #: src/item.cpp #, c-format @@ -188319,24 +189072,24 @@ msgid "* This clothing %s." msgstr "* 这件装备%s。" #: src/item.cpp -msgid " and upsized." -msgstr "以及改大码。" +msgid " and upsized" +msgstr "以及改大码" #: src/item.cpp -msgid " and downsized." -msgstr "以及改小码。" +msgid " and downsized" +msgstr "以及改小码" #: src/item.cpp -msgid " but not downsized." -msgstr ",但是不能改小码。" +msgid " but not downsized" +msgstr ",但是不能改小码" #: src/item.cpp -msgid " but not upsized." -msgstr ",但是不能改大码。" +msgid " but not upsized" +msgstr ",但是不能改大码" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "* 这件装备可以改合身%s。" #: src/item.cpp @@ -188422,6 +189175,11 @@ msgstr "* 这件物品接受到无线电信号后会立即启动Power Capacity:" msgstr "生化能量容量:" @@ -190380,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" @@ -196326,8 +197093,8 @@ 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 msgid "Block Counter" @@ -199189,6 +199956,14 @@ msgstr "%d个%s %s的成员和%d个%s %s%s的成员发生交战!" msgid "You don't have any companions to send out…" msgstr "你没有任何可供派遣的同伴……" +#: src/mission_companion.cpp +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 @@ -199196,40 +199971,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "%1$s(站岗)" -#. ~ %1$s: companion 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]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "%s [ %4d : %4d : %4d ]" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" -msgstr "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" -msgstr "%s [ %4d : %4d : %4d ]" - -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "你要派谁执行任务? [ 战斗 : 生存 : 工业 ]" +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 "The companion you selected doesn't have the skills!" -msgstr "你所选择的同伴并没有所需要的技能!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "你没有任何可以召回的同伴……" @@ -201112,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" @@ -204297,6 +205057,11 @@ msgstr "位于(%2$d,%3$d)的 %1$s" msgid "My current location" msgstr "我现在的位置" +#: src/npctalk_funcs.cpp +#, c-format +msgid "That is not a valid destination for %s." +msgstr "不是 %s 的有效目的地。" + #: src/npctalk_funcs.cpp #, c-format msgid "%1$s is assigned to %2$s" @@ -204395,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." @@ -204688,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" @@ -205030,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" @@ -208002,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 "你的身体被极度的疼痛折磨着!!" @@ -208055,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!" @@ -208795,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" + +#: 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 +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "%1$s(%2$d/%3$d)" -#. ~ %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 "你目前无法这样修复%s。" #: src/player.cpp msgid "You are already wearing that." @@ -208977,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 @@ -209215,6 +209985,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 "%s %d -> %d(%d%%)" + #: src/player_activity.cpp #, c-format msgid "%s…" @@ -210560,10 +211337,6 @@ msgstr "咔嘣!" msgid "none" msgstr "无" -#: src/recipe.cpp -msgid "none" -msgstr "无" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -211521,6 +212294,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" diff --git a/lang/po/zh_TW.po b/lang/po/zh_TW.po index 4d9279b6454d2..aed9f42198349 100644 --- a/lang/po/zh_TW.po +++ b/lang/po/zh_TW.po @@ -21,16 +21,17 @@ # kiddragon Chung , 2019 # xap, 2019 # Hsinyu Chan, 2019 -# Hao JK , 2019 # Laughing Man, 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-11-04 19:23+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Laughing Man, 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" @@ -5400,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" @@ -5447,6 +5460,27 @@ msgid "" "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 "火尖槍彈藥" @@ -7437,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" @@ -8066,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" @@ -15780,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 @@ -15791,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." @@ -21201,6 +21262,20 @@ msgid "" "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" @@ -22610,6 +22685,30 @@ msgid "" "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" @@ -22990,6 +23089,40 @@ msgid "" " 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" @@ -29307,6 +29440,17 @@ msgstr[0] "杏子" 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 "仙人掌莖葉" @@ -32769,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 "強心劑" @@ -34866,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" @@ -37776,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 "關上燈罩" @@ -37804,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 "打開燈罩" @@ -45813,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" @@ -47614,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 "" @@ -48510,6 +48702,290 @@ msgstr "穿戴中的物品" 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" @@ -60882,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" @@ -65884,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 @@ -72129,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 "" @@ -73226,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 "機車輪胎" @@ -74552,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 "鑽石角膜" @@ -74926,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" @@ -74957,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 @@ -75274,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" @@ -76146,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 "建造木製地板" @@ -76798,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 "" @@ -79309,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" @@ -79318,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" @@ -79329,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" @@ -81383,25 +81924,49 @@ 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 "" +#. ~ 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," @@ -81411,22 +81976,46 @@ msgid "" "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 " @@ -81437,89 +82026,209 @@ msgid "" "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 @@ -82200,8 +82909,7 @@ msgstr "" 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 "呼。" @@ -82314,7 +83022,8 @@ msgstr "雕像" msgid "A carved statue made of stone." msgstr "雕刻石像" -#: lang/json/furniture_from_json.py lang/json/terrain_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 "thump." msgstr "咚。" @@ -82714,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 "匡噹!" @@ -83578,6 +84287,17 @@ msgstr "凳子" 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 "告示牌" @@ -84789,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 "" @@ -89566,6 +90295,18 @@ msgid "" "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" @@ -89668,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 " @@ -99749,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 "惡魔幾丁質" @@ -106035,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 "耳聰" @@ -114639,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" @@ -114654,6 +115415,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 "食堂" @@ -115339,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 "高爾夫球場" @@ -125377,6 +126150,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 " @@ -126224,6 +127173,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 "製作工坊" @@ -132360,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 @@ -132374,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 @@ -141272,16 +142211,16 @@ msgid "Clothing Store" msgstr "服飾店" #: lang/json/talk_topic_from_json.py -msgid "Acolyte." -msgstr "" +msgid "You there. Quiet down. Can you hear it? The song?" +msgstr "你那邊。靜下來。你能聽見嗎?這首歌?" #: lang/json/talk_topic_from_json.py msgid "You're back. Have you come to listen to the song?" msgstr "你回來了。你有來聽這首歌嗎?" #: lang/json/talk_topic_from_json.py -msgid "You there. Quiet down. Can you hear it? The song?" -msgstr "你那邊。靜下來。你能聽見嗎?這首歌?" +msgid "Acolyte." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What? What do you mean? What song?" @@ -141428,36 +142367,36 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +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 believe you can take on the burden of additional bones?" +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 "A song may yet be sung by you, should you wish to." 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 believe you can take on the burden of additional bones?" 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 wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +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 "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141525,13 +142464,13 @@ msgid "I see. Very well then." 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." +msgid "Only those who bear my mark will prove themselves worthy of my skills." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +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 @@ -141854,16 +142793,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 "你在做什麼?" @@ -141935,24 +142874,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "不要, 就只是不要" +msgid "Anything to do before I go to sleep?" +msgstr "在我要睡之前還有什麼要做的嗎?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "就讓我去睡覺吧, !" +msgid "Just few minutes more..." +msgstr "再幾分鐘就好…" #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "快一點啦, 我想要回去睡覺了。" #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "再幾分鐘就好…" +msgid "Just let me sleep, !" +msgstr "就讓我去睡覺吧, !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "在我要睡之前還有什麼要做的嗎?" +msgid "No, just no..." +msgstr "不要, 就只是不要" #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -141962,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 "我想給你一些戰鬥命令。" @@ -142350,14 +143289,14 @@ msgstr "留在原地。" msgid "Show me what needs to be done at the camp." 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 "我目前做得不多。" +#: lang/json/talk_topic_from_json.py +msgid "I'm currently ." +msgstr "我目前 。" + #: lang/json/talk_topic_from_json.py msgid "I meant what are your goals?" msgstr "我想知道你的目標是什麼?" @@ -142418,14 +143357,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 " @@ -142437,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 @@ -142452,14 +143391,14 @@ 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 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 @@ -142533,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 "冷靜點。我不會傷害你。" @@ -142593,14 +143532,6 @@ msgstr "怎麼了?" msgid "I don't care." msgstr "我不在乎。" -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -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 just have one job for you. Want to hear about it?" msgstr "我只有一件工作給你。想要聽看看嗎?" @@ -142609,6 +143540,14 @@ msgstr "我只有一件工作給你。想要聽看看嗎?" msgid "I have another job for you. Want to hear about it?" 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 "我有更多的工作給你。想要聽看看嗎?" + #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "我已經沒有可以給你辦的工作了。" @@ -142626,14 +143565,14 @@ msgstr "喔, 好吧。" msgid "Never mind, I'm not interested." msgstr "別在意, 我沒興趣。" -#: lang/json/talk_topic_from_json.py -msgid "Which job?" -msgstr "哪件工作?" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "這樣如何?" +#: lang/json/talk_topic_from_json.py +msgid "Which job?" +msgstr "哪件工作?" + #: lang/json/talk_topic_from_json.py msgid "You're not working on anything for me now." msgstr "你現在並沒有幫我做任何工作。" @@ -142847,48 +143786,48 @@ msgid "Thanks!" msgstr "謝謝!" #: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "專心路況,夥伴!" +msgid "I have some reason for not telling you." +msgstr "我有些苦衷,不能告訴你。" #: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "我必須專心路況!" +msgid "Nothing comes to my mind now. Ask me later perhaps?" +msgstr "現在我什麼都沒想到。或許晚點再問我?" #: lang/json/talk_topic_from_json.py -msgid "I'm too thirsty, give me something to drink." -msgstr "我太渴了, 給我點能喝的東西。" +msgid "I'm too tired, let me rest first." +msgstr "我太累了, 讓我先休息一下。" #: lang/json/talk_topic_from_json.py msgid "I'm too hungry, give me something to eat." msgstr "我太餓了, 給我點能吃的東西。" #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." -msgstr "我太累了, 讓我先休息一下。" +msgid "I'm too thirsty, give me something to drink." +msgstr "我太渴了, 給我點能喝的東西。" #: lang/json/talk_topic_from_json.py -msgid "Nothing comes to my mind now. Ask me later perhaps?" -msgstr "現在我什麼都沒想到。或許晚點再問我?" +msgid "I must focus on the road!" +msgstr "我必須專心路況!" #: lang/json/talk_topic_from_json.py -msgid "I have some reason for not telling you." -msgstr "我有些苦衷,不能告訴你。" +msgid "Focus on the road, mate!" +msgstr "專心路況,夥伴!" #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "啊,好的。" #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "我還沒找到抗生素…" +msgid "Why should I travel with you?" +msgstr "為什麼我要跟著你旅行?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "你沒多久前才問過我, 晚點再說吧。" #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "為什麼我要跟著你旅行?" +msgid "Not until I get some antibiotics..." +msgstr "我還沒找到抗生素…" #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -142979,20 +143918,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 "你在駕駛車輛時我無法訓練你。" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "我在駕駛車輛時無法訓練你。" +msgid "I have some reason for denying you training." +msgstr "我有些苦衷,不能接受你的訓練。" #: lang/json/talk_topic_from_json.py 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 "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!" @@ -143030,14 +143969,14 @@ msgstr "我想自己管好自己就好了。" msgid "I understand…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "你沒多久前才跟我要東西, 晚點再說吧。" - #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "為什麼要我分裝備給你?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "你沒多久前才跟我要東西, 晚點再說吧。" + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "好吧, 算了。" @@ -143180,16 +144119,16 @@ msgstr "開張大吉!" msgid "You might be seeing more of me…" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" -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." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey again. *kzzz*" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hey. Let's chat for a second." msgstr "嘿。讓我們聊一會兒。" @@ -144111,28 +145050,28 @@ 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." -msgstr "朋友你好,很高興見到你。" +msgid "Greeting citizen, what brings you to the FoodLair?" +msgstr "公民你好,是什麼風把你吹來美食巢穴呢?" #: lang/json/talk_topic_from_json.py -msgid "So you're back... Explain yourself!" -msgstr "所以你回來了...解釋清楚!" +msgid "Still here? Take your time, it's rough out there." +msgstr "還在?慢慢來,這很艱難。" #: lang/json/talk_topic_from_json.py -msgid "What sorcery is this?" -msgstr "這是什麼巫術?" +msgid "Greetings friend, it's nice to see you." +msgstr "朋友你好,很高興見到你。" #: lang/json/talk_topic_from_json.py msgid "Welcome home Foodkid!" msgstr "歡迎回家,美食小子!" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." -msgstr "還在?慢慢來,這很艱難。" +msgid "What sorcery is this?" +msgstr "這是什麼巫術?" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" -msgstr "公民你好,是什麼風把你吹來美食巢穴呢?" +msgid "So you're back... Explain yourself!" +msgstr "所以你回來了...解釋清楚!" #: lang/json/talk_topic_from_json.py msgid "Greetings… Foodperson?" @@ -144469,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." @@ -145468,10 +146407,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 "" - #: 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." @@ -145480,7 +146415,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 "" #: lang/json/talk_topic_from_json.py @@ -145491,8 +146427,11 @@ 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 +msgid "I just can't talk about that right now. I can't." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145762,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 "" @@ -145828,13 +146767,13 @@ 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 "" #: 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 "" @@ -145894,8 +146833,7 @@ msgid "I'm sorry you lost someone." 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 @@ -145905,7 +146843,8 @@ msgid "" 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 @@ -145930,34 +146869,34 @@ msgid "" 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 "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 "" -"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 "" #: 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 "" @@ -146009,11 +146948,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 "" @@ -146021,11 +146960,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 "" @@ -146114,7 +147053,7 @@ 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…" @@ -146264,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 "" @@ -146276,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 "" @@ -146288,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 "" @@ -146300,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 "" @@ -146661,10 +147600,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." @@ -146672,10 +147611,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." @@ -146756,14 +147695,14 @@ 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 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 @@ -147068,19 +148007,19 @@ 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 "" #: 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 "" @@ -147089,11 +148028,11 @@ msgid "What were you saying before that?" 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 -msgid "I can't believe my eyes. Please get my outta here..." +msgid "Hey, ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147106,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 "" @@ -147119,9 +148058,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 @@ -147129,7 +148066,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 @@ -147204,13 +148143,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 fondness " -"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 @@ -147304,16 +148243,16 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is that a U.S. Marshal's badge you're wearing?" -msgstr "你佩戴的是聯邦法警的徽章嗎?" +msgid "Hi, what brings you here?" +msgstr "嗨,什麼風把你吹來這?" #: lang/json/talk_topic_from_json.py msgid "Hello, what brings you here?" msgstr "哈囉,什麼風把你吹來這呢?" #: lang/json/talk_topic_from_json.py -msgid "Hi, what brings you here?" -msgstr "嗨,什麼風把你吹來這?" +msgid "Is that a U.S. Marshal's badge you're wearing?" +msgstr "你佩戴的是聯邦法警的徽章嗎?" #: lang/json/talk_topic_from_json.py msgid "Yes, I'm a marshal." @@ -147616,14 +148555,14 @@ msgstr "就這樣吧。我們可以討論別的嗎?" msgid "That's all for now. I'd best get going." msgstr "就這樣吧。我該走了。" -#: lang/json/talk_topic_from_json.py -msgid "Leave our property, Marshal." -msgstr "離開我們的財產,法警。" - #: lang/json/talk_topic_from_json.py msgid "Hello, We don't see many people these days." msgstr "哈囉,這些日子裡我們沒見到太多人。" +#: lang/json/talk_topic_from_json.py +msgid "Leave our property, Marshal." +msgstr "離開我們的財產,法警。" + #: lang/json/talk_topic_from_json.py msgid "Hi, it looks like you are doing well here." msgstr "嗨,看來你在這裡過得不錯。" @@ -147749,14 +148688,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 "哈囉。" +#: 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 "" @@ -147824,8 +148763,10 @@ 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 "法警, 我希望你是來幫忙的。" +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 "" @@ -147834,10 +148775,8 @@ msgid "" 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 "先生, 我不知道你是怎麼到這裡來的。如果你還有點理智的話, 趁現在你還能離開, 趕緊走吧。" +msgid "Marshal, I hope you're here to assist us." +msgstr "法警, 我希望你是來幫忙的。" #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" @@ -147898,16 +148837,16 @@ msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "法警, 在這看到你令我有點驚訝。" +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "小姐你不屬於這裡, 請你離開。" #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." msgstr "先生你不屬於這裡, 請你離開。" #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "小姐你不屬於這裡, 請你離開。" +msgid "Marshal, I'm rather surprised to see you here." +msgstr "法警, 在這看到你令我有點驚訝。" #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -147943,22 +148882,6 @@ msgid "" "hoping a few plain text messages can get picked up though." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "你好,法警。" - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "元帥, 抱歉我現在無法跟你交談。" - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "法警,我不是這裡的負責人。" - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "法警, 我想這些問題該交由我的領導回答。" - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "嘿, 市民… 你不該在這裡。" @@ -147971,6 +148894,14 @@ msgstr "你應該管好自己的事, 這裡沒什麼好看的。" msgid "If you need something you'll need to talk to someone else." msgstr "如果你想要什麼的話, 你該找別人去。" +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "夫人" + +#: lang/json/talk_topic_from_json.py +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 "Sir." msgstr "先生。" @@ -147980,12 +148911,20 @@ msgid "Dude, if you can hold your own you should look into enlisting." msgstr "老兄, 如果你靠得住, 你該去報名參軍的。" #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "夫人" +msgid "Hello, 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?" -msgstr "嘿小姐, 難道你不覺得和我一起會更安全麼?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "元帥, 抱歉我現在無法跟你交談。" + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "法警,我不是這裡的負責人。" + +#: lang/json/talk_topic_from_json.py +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…" @@ -148042,15 +148981,14 @@ 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 "請幫幫我,我需要食物。" #: 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?" -msgstr "" +"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 "Thank you again. I really appreciate the food." @@ -148058,13 +148996,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?" -msgstr "請幫幫我,我需要食物。你不是他們的警長嗎?難道你不能幫我嗎?" +"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 -msgid "Please, help me. I need food." -msgstr "請幫幫我,我需要食物。" +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "那麼,說服其他人加入你那瘋狂的冒險有什麼進展嗎?" #: lang/json/talk_topic_from_json.py msgid "" @@ -148083,15 +149022,15 @@ 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." -msgstr "" +"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 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." -msgstr "他們說他們人太多了,不能讓我加入。我被允許在這邊紮營只要我能保持乾淨跟不搞事,不過我好餓阿。" +"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 "Why don't you scavenge your own food?" @@ -148191,16 +149130,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 "我可以保證你的安全。我會親自把你帶到那裡。" @@ -148282,16 +149221,16 @@ msgstr "你是認真的嗎?穿著恐龍裝?" 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 "事實上,我可以問你別的嗎?" @@ -148381,12 +149320,6 @@ msgid "" "have shields up, to protect ourselves." 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?" -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." @@ -148394,6 +149327,12 @@ msgid "" "keep me going." 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?" +msgstr "嗯......我把它們很好地放在一起了,但其他人已經離開了,現在主人不會讓我建立我的庇護所。你能幫我解決一下嗎?" + #: lang/json/talk_topic_from_json.py msgid "" "Why don't you leave this place? Come with me, I could use some help out " @@ -148411,16 +149350,19 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "滾開,蠢貨。" +msgid "Don't bother with these assholes." +msgstr "別理那些混蛋。" #: lang/json/talk_topic_from_json.py -msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" -msgstr "呦。還有其他人熱衷於從這個巴士站搬到你的帳篷城嗎?" +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." -msgstr "嘿。很高興再次見到你。" +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 "" @@ -148429,19 +149371,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?" -msgstr "嘿,我很抱歉先前有點嚇壞了。你可能是一個混蛋,但我相信你並不是那個意思。我的血糖很低,我有點暴躁。我們沒問題吧?" +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." -msgstr "嘿,不混蛋的。很高興再次見到你。" +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 "別理那些混蛋。" +msgid "Fuck off, dickwaddle." +msgstr "滾開,蠢貨。" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -148728,16 +149667,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 @@ -148783,11 +149722,11 @@ 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 "" +msgid "Hey, are you a big fan of survival of the fittest?" +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 @@ -148808,14 +149747,14 @@ 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 "" -"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 @@ -148839,12 +149778,12 @@ msgid "Why are you camped out here if they won't let you in?" 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 -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 @@ -148981,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." @@ -149118,6 +150057,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 "" + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "" @@ -149134,10 +150077,6 @@ 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 "" @@ -149155,16 +150094,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 "我不是小孩了,好嗎?我已經十六歲了。" +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "我不是小孩了,好嗎?我已經十四歲了。" #: lang/json/talk_topic_from_json.py 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 fourteen." -msgstr "我不是小孩了,好嗎?我已經十四歲了。" +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "我不是小孩了,好嗎?我已經十六歲了。" #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -149174,6 +150113,14 @@ 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 " @@ -149183,14 +150130,6 @@ msgid "" " 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 " @@ -149232,7 +150171,8 @@ msgid "How are things here?" 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 @@ -149242,8 +150182,7 @@ msgid "" 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 @@ -149273,33 +150212,33 @@ 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 "" -"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 "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 "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 "" -"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 "" #: 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 "" @@ -149328,6 +150267,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 " @@ -149336,8 +150281,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 @@ -149347,9 +150292,7 @@ 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." +msgid "Ah, another new face. Hello. I am Boris." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149364,10 +150307,6 @@ 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 "" @@ -149436,13 +150375,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 " @@ -149453,6 +150385,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 " @@ -149482,15 +150421,15 @@ msgid "Got any more bread I can trade flour for?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, nice to see you again." +msgid "Hi there. I'm Dana, nice to see a new face." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It's good to see you're still around." +msgid "Hello, nice to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." +msgid "It's good to see you're still around." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149542,8 +150481,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 @@ -149554,10 +150495,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 @@ -149579,6 +150518,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 " @@ -149600,12 +150545,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" @@ -149635,10 +150574,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" @@ -149646,6 +150581,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 " @@ -149682,16 +150621,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 "" @@ -149926,12 +150865,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 @@ -150027,15 +150966,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 @@ -150087,21 +151026,21 @@ msgid "Is there anything I can do to help you out?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello again." +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 "Good to see you're still around." +msgid "Hello again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, hi." +msgid "Good to see you're still around." 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." +msgid "Oh, hi." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150163,15 +151102,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 @@ -150236,6 +151175,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 "嗨。" @@ -150244,12 +151189,6 @@ msgstr "嗨。" 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 "" @@ -150297,12 +151236,12 @@ msgid "" 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 -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 @@ -150454,6 +151393,15 @@ msgid "" "like 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 " @@ -150466,15 +151414,6 @@ 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 "你能告訴我有關自由商會的事情嗎?" @@ -150540,6 +151479,14 @@ 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. " @@ -150552,10 +151499,10 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -150569,10 +151516,14 @@ 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 "" #: lang/json/talk_topic_from_json.py @@ -150589,25 +151540,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 "" #: 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 "" @@ -150662,11 +151601,11 @@ msgid "" 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 -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150709,15 +151648,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 @@ -150918,12 +151857,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 @@ -151016,17 +151955,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 @@ -151138,16 +152077,16 @@ 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 "" - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " "Vanessa." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "" @@ -151184,14 +152123,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 " @@ -151200,6 +152131,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 " @@ -151377,15 +152316,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 @@ -151748,14 +152687,14 @@ 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 "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 "" @@ -151788,14 +152727,14 @@ msgstr "" msgid "Well, I'd better be going. Bye." msgstr "我想我要走了,再見。" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "歡迎法警…" - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "歡迎…" +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "歡迎法警…" + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -152035,14 +152974,14 @@ msgid "" "attacked by zombie hordes, as you might guess." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "法警…" - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "公民…" +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "法警…" + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "我可以交易補給品嗎?" @@ -152099,14 +153038,14 @@ msgid "" "buy from you. I don't suppose you want to donate?" msgstr "不行。我們沒有多餘的物資能夠賣你,而且我們也沒有辦法跟你買任何東西。我想你應該不會想要捐贈吧?" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "你那真是一個閃亮亮的警徽啊!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "嘿, 你看起來很重要。" +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "你那真是一個閃亮亮的警徽啊!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "我其實是新來的。" @@ -152179,16 +153118,16 @@ 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 "很抱歉我問了這樣子的問題" @@ -152215,22 +153154,22 @@ msgstr "我要買。" msgid "Who needs rebar?" msgstr "誰需要鋼筋?" -#: lang/json/talk_topic_from_json.py -msgid "As if you're one to talk. Screw You." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Screw You!" msgstr "去你的!" #: lang/json/talk_topic_from_json.py -msgid "I thought I smelled a pig. I jest... please don't arrest me." -msgstr "我想我聞到了豬味。我開玩笑的… 請不要抓我。" +msgid "As if you're one to talk. Screw You." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Huh, thought I smelled someone new. Can I help you?" msgstr "嗯, 看來我聞到菜鳥味了。我能幫你什麼?" +#: lang/json/talk_topic_from_json.py +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 "" @@ -152512,18 +153451,18 @@ msgid "Glad to have you aboard." msgstr "很高興有你一同搭乘。" #: lang/json/talk_topic_from_json.py -msgid "So, do you need something?" -msgstr "那麼,你需要什麼嗎?" +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 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." -msgstr "等一下。我不在乎你是怎麼進來這裡的,但是你不能再前進了。快離開。" +msgid "So, do you need something?" +msgstr "那麼,你需要什麼嗎?" #: lang/json/talk_topic_from_json.py msgid "So how's it down there?" @@ -152773,6 +153712,14 @@ 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, " @@ -152788,12 +153735,11 @@ msgid "Oh, a U.S. marshal, how quaint." 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 "旅途平安,拾荒者。" +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 "" @@ -152801,13 +153747,6 @@ 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 "那麼請注意安全。" @@ -153024,16 +153963,16 @@ msgid "I'll talk with them then…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "我能幫你什麼嗎,法警?" +msgid "Morning ma'am, how can I help you?" +msgstr "早安小姐, 我可以幫你做什麼嗎?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "早安先生, 我可以幫你做什麼嗎?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "早安小姐, 我可以幫你做什麼嗎?" +msgid "Can I help you, marshal?" +msgstr "我能幫你什麼嗎,法警?" #: lang/json/talk_topic_from_json.py msgid "" @@ -153141,14 +154080,14 @@ msgstr "你有什麼類型的工作可以給我做?" msgid "Not now." msgstr "現在不行。" -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "晚點再回來, 我手頭上有點事情要忙。" - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "如果你或是你的同伴受傷了, 我能照料你們。" +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "晚點再回來, 我手頭上有點事情要忙。" + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "[$200, 30分] 我需要你醫療我。" @@ -157681,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" @@ -157714,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" @@ -157740,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" @@ -157752,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" @@ -159696,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 "沙盒" @@ -164128,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 "輥輪" @@ -166469,16 +167423,11 @@ msgstr "你解凍並加熱了食物。" msgid "You heat up the food." msgstr "你加熱了食物。" -#: src/activity_handlers.cpp src/player.cpp +#: src/activity_handlers.cpp #, c-format msgid "You are currently unable to mend the %s." msgstr "你目前無法修補 %s。" -#: src/activity_handlers.cpp -#, c-format -msgid "You successfully mended the %s." -msgstr "你成功地修補了 %s。" - #: src/activity_handlers.cpp #, c-format msgid "You successfully attached the %1$s to your %2$s." @@ -169380,6 +170329,11 @@ 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 "你在殼中的時候無法移動。取消之後才能移動。" @@ -169793,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 "你改變主意並把它關閉了。" @@ -169910,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 "" @@ -170142,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 "移除失敗但沒有其他附加損失。" @@ -171173,6 +172148,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 "脫水" @@ -171584,6 +172564,26 @@ msgstr "" 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 "你試圖喊叫,但你的臉不見了!" @@ -171821,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 "來源:薪柴" @@ -174813,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] 編輯任務 (警告: 具有不穩定性! )" @@ -177430,6 +178180,14 @@ 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 "" @@ -177455,87 +178213,6 @@ 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" -"將食物分配給你的追隨者並填滿糧倉。將你想要發配的食物放在 [營寨:儲糧] 區。你必須要設有 [營寨:儲糧] 區、 [物資:未整理] 區以及至少一個 [物資:(任意)] 區,否則系統將提示你使用區域管理員來創建它們。\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 -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 #, c-format msgid "" @@ -177594,35 +178271,6 @@ 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" -"你的營寨已經成長到足以擴建新的營區。擴建雖然帶來新契機,卻也耗材又耗時。謹慎地選擇擴建的營區,因為一個營寨只能擴建出周圍八個營區。\n" -"\n" -"使用的技能:N/A\n" -"效果:\n" -"> 選擇擴建一種種類的營區。從 [農場] 開始是一個踏實的選項,因為食物用於支付同伴進行任務,而且維運 [農場] 並不需要太高的成本。只需少少的投資,有機械技能的同伴就可以在 [修車廠] 快速拆除大型的車輛。 [鐵匠鋪] 則能提供製造木炭的設備。\n" -"\n" -"注意:擴建後營區所能進行的任務請在營寨管理員(告示牌)的視窗中選取。\n" -"\n" -"風險:無\n" -"時間:3 小時\n" -"職缺:%d / 1\n" - #: src/faction_camp.cpp #, c-format msgid "" @@ -177898,27 +178546,19 @@ 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" "Skill used: mechanics\n" -"Difficulty: 2\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" +"Time: 5 days \n" msgstr "" "註記:\n" "派遣同伴嘗試將車輛完全拆解成零件。\n" @@ -177930,7 +178570,7 @@ msgstr "" "> 技能在判斷能拆解出哪些零件時發揮著極重要的作用。\n" "\n" "風險:無\n" -"時間:5 天\n" +"時間:5天\n" #: src/faction_camp.cpp msgid "" @@ -177947,14 +178587,14 @@ msgid "" "\n" "\n" "Skill used: fabrication\n" -"Difficulty: N/A\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" +"Time: 5 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" "\n" @@ -177965,8 +178605,8 @@ msgstr "" "> 不會破壞現有作物。\n" "\n" "風險:無\n" -"時間:5 分鐘/每塊田\n" -"職缺:0 / 1\n" +"時間:5分鐘/每塊田\n" +"職缺:0/1\n" #: src/faction_camp.cpp msgid "" @@ -177983,15 +178623,15 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 1 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" "\n" @@ -178004,7 +178644,7 @@ msgstr "" "\n" "風險:無\n" "時間:1 分鐘/每塊田地\n" -"職缺:0 / 1\n" +"職缺:0/1\n" #: src/faction_camp.cpp msgid "" @@ -178021,13 +178661,13 @@ msgid "" "\n" "\n" "Skill used: survival\n" -"Difficulty: N/A\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" +"Time: 3 Min / Plot \n" +"Positions: 0/1 \n" msgstr "" "\n" "\n" @@ -178038,7 +178678,117 @@ msgstr "" "\n" "風險:無\n" "時間:3 分鐘/每塊田地\n" -"職缺:0 / 1\n" +"職缺:0/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" +"職缺:%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" +"> 將在 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 +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 "" @@ -178056,6 +178806,10 @@ msgstr "" "\n" "同伴必須執行任務至少24小時,才能使用緊急召回。" +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "出發去勘查土地..." + #: src/faction_camp.cpp msgid "departs to search for materials…" msgstr "出發去搜集材料..." @@ -178092,10 +178846,6 @@ msgstr "出發去獵捕大型動物..." 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…" msgstr "給你帶回了些東西..." @@ -185589,7 +186339,7 @@ msgstr "%" #: src/item.cpp msgid "Reload modifier: " -msgstr "" +msgstr "重新裝填加成:" #: src/item.cpp msgid "Minimum strength required modifier: " @@ -186115,19 +186865,19 @@ msgid "" msgstr "* 這件衣物太小且並不合身。" #: src/item.cpp -msgid "can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp @@ -186136,24 +186886,24 @@ msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid " and upsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid " and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid " but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid " but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp #, c-format -msgid "* This clothing can be refitted %s." +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -186238,6 +186988,11 @@ msgstr "* 這件物品接受到無線電信號後會立即啟動Power Capacity:" msgstr "" @@ -187296,7 +188051,7 @@ msgstr "" #: src/iuse.cpp msgid "Choose a mutation to purify" -msgstr "" +msgstr "選擇一個突變來進行淨化" #: src/iuse.cpp msgid "" @@ -188196,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" @@ -194129,8 +194893,8 @@ 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 msgid "Block Counter" @@ -196986,6 +197750,14 @@ msgstr "%d 位 %s %s 的成員和 %d 位 %s %s %s 的成員發生衝突!" msgid "You don't have any companions to send out…" msgstr "你沒有可以派遣的同伴…" +#: src/mission_companion.cpp +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 @@ -196993,40 +197765,30 @@ msgctxt "companion" msgid "%1$s (Guarding)" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format -msgctxt "companion skill" -msgid "[%1$s %2$d]" +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" msgstr "" -#. ~ %1$s: companion name, %2$d: companion skill level, %3$d: skill -#. requirement +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp #, c-format msgctxt "companion skill" -msgid "[%1$s %2$d/%3$d]" +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 ranking" -msgid "%s [ %4d : %4d : %4d ]" +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" -#: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "你想派出誰? [ 戰鬥 : 生存 : 製作 ]" - #: src/mission_companion.cpp msgid "You choose to send no one…" msgstr "你決定不派任何人..." -#: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "你選擇的同伴沒有需要的技能!" - #: src/mission_companion.cpp msgid "You don't have any companions ready to return…" msgstr "你沒有準備好歸隊的同伴…" @@ -198908,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" @@ -202103,6 +202860,11 @@ msgstr "%1$s 位於(%2$d,%3$d)" 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" @@ -202201,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." @@ -202840,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" @@ -205823,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 "你的身體遭到難以忍受的疼痛肆虐!" @@ -205876,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!" @@ -206616,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 "" -#. ~ %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 "" + +#. ~ %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 "" #: src/player.cpp msgid "You are already wearing that." @@ -206798,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 @@ -207036,6 +207801,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…" @@ -208388,10 +209160,6 @@ msgstr "咔-啦-碰!" msgid "none" msgstr "無" -#: src/recipe.cpp -msgid "none" -msgstr "無" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -209341,6 +210109,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" From 038c3df1553c95d05b287fb8f4a877080676a398 Mon Sep 17 00:00:00 2001 From: Valiant Date: Sat, 16 Nov 2019 16:24:52 +0400 Subject: [PATCH 082/175] Fixed graphical artifacts after creating a world in main menu --- src/worldfactory.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index 06512ee3fd325..d333b8f483a7b 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -1174,6 +1174,7 @@ int worldfactory::show_worldgen_tab_confirm( const catacurses::window &win, WORL if( !valid_worldname( world->world_name ) ) { continue; } + handle_redraw(); return 1; } } else if( query_yn( _( "Are you SURE you're finished?" ) ) ) { @@ -1184,6 +1185,7 @@ int worldfactory::show_worldgen_tab_confirm( const catacurses::window &win, WORL if( valid_worldname( worldname ) ) { world->world_name = worldname; + handle_redraw(); return 1; } else { continue; From 3470a2a2b7407ecd197ed5752892a754691291e0 Mon Sep 17 00:00:00 2001 From: Valiant Date: Sat, 16 Nov 2019 16:48:41 +0400 Subject: [PATCH 083/175] Only for tiles builds --- src/worldfactory.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index d333b8f483a7b..2d5012deef2e9 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -1174,7 +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?" ) ) ) { @@ -1185,7 +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; From 886e55207713a015c462986b39b1bd10e626d47d Mon Sep 17 00:00:00 2001 From: Lee Martin Date: Sat, 16 Nov 2019 13:04:43 +0000 Subject: [PATCH 084/175] Remove failed craft when losing last component Currently, in progress crafts that lose their last component still exist, but with a volume of 0 as there is nothing in them. I've added this fix where if a player/npc bungles a craft and loses the last component of it (and the craft had components to start with), the craft item is removed from the game. fixes #34072 --- src/activity_handlers.cpp | 9 ++++++++- src/crafting.cpp | 11 ++++++++--- src/item.h | 3 ++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index f8069c706ed51..0bab9943bf2d6 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -3481,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(); + } } } diff --git a/src/crafting.cpp b/src/crafting.cpp index 49ead82965c45..0ee97d04e6dcc 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -986,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++ ) { @@ -1008,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 @@ -1024,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 diff --git a/src/item.h b/src/item.h index c0a4255d1ccf6..74f9f9e2aa87c 100644 --- a/src/item.h +++ b/src/item.h @@ -1992,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. From 528a68fa805096fb495475ded71fe0dae2e02fdc Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 16 Nov 2019 08:22:00 -0500 Subject: [PATCH 085/175] Help players discover how to repair New players trying to repair an item sometimes discover the 'mend' option and try that. If they do so, try to guide them towards the correct interface with an informatory message in the log. --- src/player.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/player.cpp b/src/player.cpp index 284ea724afe36..112e963a94965 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -4594,6 +4594,17 @@ void player::mend_item( item_location &&obj, bool interactive ) 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_ ); + + 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; } From cbfdc88d59c0f8885e9741032f18f6f23be732c4 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 16 Nov 2019 15:18:23 +0100 Subject: [PATCH 086/175] Fix turrets in vehicles displaying color tags in output When manually firing a turret of a vehicle, the firing window shows a list of available turrets ("Turrets in range: 1"), followed by the list of those turrets. The turret names are names of items, which may contain the item status symbols ("||" or "\."), which in turn contain color tags. The original code displayed the color tags as normal text. This fixes it to actually use the color tags to colorize the text. --- src/ranged.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ranged.cpp b/src/ranged.cpp index 2c133afb79f39..0a642b7b781e1 100644 --- a/src/ranged.cpp +++ b/src/ranged.cpp @@ -1056,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; From 96b12e6e28a4c9b477e8f96ddea74c609c102404 Mon Sep 17 00:00:00 2001 From: Lil Shining Man <56778776+LilShiningMan@users.noreply.github.com> Date: Sat, 16 Nov 2019 06:54:35 -0800 Subject: [PATCH 087/175] candy_chocolate list added (#35550) * added candy_chocolate list amalgamated 10 candy items into list and replaced duplicate entries in various json lists * Update food.json * Update item_groups.json * Update item_groups.json --- data/json/itemgroups/food.json | 16 ++++ data/json/itemgroups/item_groups.json | 95 ++++------------------ data/json/itemgroups/locations.json | 13 +-- data/json/itemgroups/mall_item_groups.json | 13 +-- 4 files changed, 34 insertions(+), 103 deletions(-) diff --git a/data/json/itemgroups/food.json b/data/json/itemgroups/food.json index f966276067061..d96883d6e11dc 100644 --- a/data/json/itemgroups/food.json +++ b/data/json/itemgroups/food.json @@ -164,5 +164,21 @@ [ "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 ] + ] } ] diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index a97f323e00411..31aac85f5b24f 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -3,17 +3,10 @@ "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 ], @@ -49,7 +42,6 @@ [ "novel_pulp", 16 ], [ "fairy_tales", 20 ], [ "mag_comic", 20 ], - [ "candycigarette", 10 ], [ "radio_car_box", 1 ], [ "basketball", 8 ], [ "radiocontrol", 5 ], @@ -1049,22 +1041,14 @@ "type": "item_group", "id": "vending_food_items", "items": [ + { "group": "candy_chocolate", "prob": 615 }, [ "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 ], [ "peanut_unshelled", 60 ], [ "almond_unshelled", 60 ], [ "cashews", 60 ], @@ -1075,8 +1059,7 @@ [ "chips3", 65 ], [ "fruit_leather", 25 ], [ "popcorn", 25 ], - [ "popcorn2", 25 ], - [ "candycigarette", 20 ] + [ "popcorn2", 25 ] ] }, { @@ -1110,24 +1093,16 @@ "type": "item_group", "id": "snacks", "items": [ + { "group": "candy_chocolate", "prob": 620 }, [ "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 ], @@ -1144,8 +1119,7 @@ [ "popcorn3", 35 ], [ "fruit_leather", 25 ], [ "kernels", 25 ], - [ "pine_nuts", 5 ], - [ "candycigarette", 20 ] + [ "pine_nuts", 5 ] ] }, { @@ -1238,8 +1212,9 @@ "type": "item_group", "id": "fast_food", "items": [ - [ "water_clean", 90 ], + { "group": "candy_chocolate", "prob": 480 }, { "group": "softdrinks_canned", "prob": 480 }, + [ "water_clean", 90 ], [ "sandwich_t", 30 ], [ "sandwich_pb", 30 ], [ "sandwich_pbj", 30 ], @@ -1254,14 +1229,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 ], @@ -1301,9 +1268,10 @@ "type": "item_group", "id": "coffee_shop", "items": [ + { "group": "candy_chocolate", "prob": 530 }, + { "group": "softdrinks_canned", "prob": 470 }, [ "water_clean", 90 ], [ "water_mineral", 10 ], - { "group": "softdrinks_canned", "prob": 470 }, [ "almond_milk", 30 ], [ "soy_milk", 30 ], [ "juice", 20 ], @@ -1326,15 +1294,10 @@ [ "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 ], @@ -1344,10 +1307,6 @@ [ "chips", 65 ], [ "chips2", 50 ], [ "chips3", 45 ], - [ "candy", 80 ], - [ "candy2", 80 ], - [ "candy3", 80 ], - [ "maple_candy", 20 ], [ "cookies", 80 ], [ "pepper", 10 ], [ "cinnamon", 15 ], @@ -3108,17 +3067,9 @@ "id": "office_breakroom", "items": [ { "group": "softdrinks_canned", "prob": 900 }, - [ "maltballs", 60 ], - [ "chocolate", 100 ], + { "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 ], @@ -3159,6 +3110,7 @@ "id": "school", "type": "item_group", "items": [ + { "group": "candy_chocolate", "prob": 292 }, [ "glasses_reading", 90 ], [ "purse", 40 ], [ "mbag", 20 ], @@ -3230,15 +3182,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 ], @@ -7019,6 +6963,8 @@ "ammo": 75, "magazine": 100, "items": [ + { "group": "candy_chocolate", "prob": 320 }, + { "group": "softdrinks_canned", "prob": 244 }, [ "bbgun", 30 ], [ "bb", 30 ], [ "portable_game", 60 ], @@ -7027,20 +6973,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 ], - { "group": "softdrinks_canned", "prob": 244 }, [ "backpack", 20 ], [ "hairpin", 10 ], [ "fc_hairpin", 4 ], @@ -7055,7 +6992,6 @@ [ "novel_pulp", 30 ], [ "fairy_tales", 30 ], [ "mag_comic", 30 ], - [ "candycigarette", 45 ], [ "folding_bicycle", 3 ], [ "sunglasses", 25 ], [ "cowboy_hat", 25 ], @@ -8402,12 +8338,12 @@ "id": "dollar_food", "type": "item_group", "items": [ + { "group": "candy_chocolate", "prob": 45 }, [ "fruit_leather", 20 ], [ "chips", 30 ], [ "pretzels", 30 ], [ "peanut_unshelled", 20 ], [ "almond_unshelled", 20 ], - [ "chocolate", 20 ], [ "cereal", 25 ], [ "cereal3", 25 ], [ "soup_tomato", 25 ], @@ -8422,9 +8358,8 @@ [ "dry_rice", 20 ], [ "dry_beans", 20 ], [ "dry_lentils", 50 ], - [ "bread", 40 ], [ "cookies", 25 ], - [ "candy", 20 ] + [ "bread", 40 ] ] }, { diff --git a/data/json/itemgroups/locations.json b/data/json/itemgroups/locations.json index 48b685f67d8ef..d328f31aedc4b 100644 --- a/data/json/itemgroups/locations.json +++ b/data/json/itemgroups/locations.json @@ -1070,6 +1070,7 @@ "//": "for ws_regional_dump", "items": [ { "group": "ammo_pocket_batteries", "prob": 30 }, + { "group": "candy_chocolate", "prob": 570 }, [ "radio", 10 ], [ "eyedrops", 10 ], [ "rag", 30 ], @@ -1084,20 +1085,11 @@ [ "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 ], @@ -1114,8 +1106,7 @@ [ "popcorn3", 35 ], [ "fruit_leather", 25 ], [ "kernels", 25 ], - [ "pine_nuts", 5 ], - [ "candycigarette", 20 ] + [ "pine_nuts", 5 ] ] }, { diff --git a/data/json/itemgroups/mall_item_groups.json b/data/json/itemgroups/mall_item_groups.json index d9f14c31b8f36..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", From 1a1b85c3b5feac5001e780f90ed5e8bc8d0fe52f Mon Sep 17 00:00:00 2001 From: Mark Langsdorf Date: Sat, 16 Nov 2019 08:55:35 -0600 Subject: [PATCH 088/175] monsters: fix debug message when swapping with a pet in a vehicle (#35556) * game: don't dereference null pointers in swap_critters() swap_critters() dynamically casts the second creature to player * as other_npc and then checks if other_npc is in a vehicle. This will cause a crash if the second creature isn't a subclass of player, such as when the creature is a monster. Check for the validity of other_npc before derefencing it. * monster: use swap_critters() to swap a pet position in the pet menu Fixes #31538 the swap option in the pet menu wasn't unboarding the player correctly because it was rolling its own logic for swapping position. Use swap_critters() instead. --- src/game.cpp | 4 ++-- src/monexamine.cpp | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 29dbd4a89cbbb..2f799169f64f6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -4854,7 +4854,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() ); } @@ -4866,7 +4866,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 ); } diff --git a/src/monexamine.cpp b/src/monexamine.cpp index f264fdbdbaff3..3a1db0ae8352e 100644 --- a/src/monexamine.cpp +++ b/src/monexamine.cpp @@ -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 ); From 6a9c494af0e566615afc7c8e05e9f2ea31852d58 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Sat, 16 Nov 2019 19:04:33 +0400 Subject: [PATCH 089/175] Make AIM width customizable (#35521) * Make AIM width customizable * Special case for really low resolutions * Rewrote description --- src/advanced_inv.cpp | 3 ++- src/options.cpp | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/advanced_inv.cpp b/src/advanced_inv.cpp index b30987f87415d..e0b28a4d8a5bc 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" @@ -79,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 ) diff --git a/src/options.cpp b/src/options.cpp index f96fb8ab7edd7..2a56825d34649 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -1491,6 +1491,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" ), From 3ca8f49337fff75c7dcdf12ac7954a877f7607dc Mon Sep 17 00:00:00 2001 From: OzoneH3 Date: Sat, 16 Nov 2019 15:06:24 +0000 Subject: [PATCH 090/175] Create template from already existing character (#35467) * initial progress * Create template from character. * tidy up code --- src/avatar.cpp | 95 +++++++++++++++++++++++++++++++ src/avatar.h | 27 +++++++++ src/character.cpp | 6 +- src/character.h | 3 +- src/main_menu.cpp | 94 +++++++++++++++++++++++-------- src/main_menu.h | 3 +- src/newcharacter.cpp | 129 ++++++++++--------------------------------- 7 files changed, 229 insertions(+), 128 deletions(-) diff --git a/src/avatar.cpp b/src/avatar.cpp index 390b50bab3a9c..ed702634113e8 100644 --- a/src/avatar.cpp +++ b/src/avatar.cpp @@ -193,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 ) { @@ -1583,3 +1591,90 @@ 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 3661f2780e7da..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; @@ -80,6 +81,8 @@ class avatar : public player 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; @@ -219,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/character.cpp b/src/character.cpp index 1e1ab8bc4623e..ab6a41fd2d63e 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -280,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; diff --git a/src/character.h b/src/character.h index ff6d811470f24..495c5f1b24f76 100644 --- a/src/character.h +++ b/src/character.h @@ -199,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; diff --git a/src/main_menu.cpp b/src/main_menu.cpp index 760100334079d..985d9020198fa 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -316,6 +316,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 ) { @@ -877,32 +878,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 { @@ -918,7 +930,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 ); } @@ -960,11 +972,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 { @@ -972,7 +984,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() ); } @@ -982,7 +994,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--; @@ -996,7 +1008,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 ); } @@ -1004,11 +1016,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 ) { @@ -1023,14 +1037,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. @@ -1109,6 +1154,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 ) { 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/newcharacter.cpp b/src/newcharacter.cpp index b69aed3322bb2..4bd2167633845 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 ); @@ -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++ ) { @@ -2275,7 +2200,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 { @@ -2300,13 +2226,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 ) { @@ -2434,7 +2363,7 @@ 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" ) ); @@ -2607,7 +2536,7 @@ 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) @@ -2632,10 +2561,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", u.start_location ); + jsout.member( "start_location", start_location ); jsout.end_object(); - u.serialize( jsout ); + serialize( jsout ); jsout.end_array(); }, _( "player template" ) ); From d42e96488a5890fafdd542fa509820cfe1b2761e Mon Sep 17 00:00:00 2001 From: anothersimulacrum Date: Sat, 16 Nov 2019 20:17:23 +0000 Subject: [PATCH 091/175] Prevent slimespring spawning dehydration Previously, slimesprings would spawn when you were above your healthy calories by a certain amount and the amount of water you had after it was processed through your digestive system would leave you with a thirst value less than 40. The hunger calculation didn't cause problems, but the thirst calculation did, because players could spawn lots of slimesprings, which would massively increase their thirst value, pushing them up to dehydrated. They were not actually dehydrated, because they had the water to recover in their digestive system, but nonetheless, this was a problem. This prevents that by also checking that the player's visible thirst value is less than a certain amount. It also makes it so that your 'true' thirst value must be -20 or less. --- src/consumption.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/consumption.cpp b/src/consumption.cpp index e6dc3d946db39..931c598b0f612 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -1097,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 ); From aa8f4d7856046d29f00bcd33ce562b19fcefdbed Mon Sep 17 00:00:00 2001 From: anothersimulacrum Date: Sat, 16 Nov 2019 21:25:55 +0000 Subject: [PATCH 092/175] Fix astyle regression --- src/options.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/options.cpp b/src/options.cpp index 2a56825d34649..822fb07cf4a2a 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -1492,9 +1492,9 @@ void options_manager::add_options_interface() ); 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 - ); + translate_marker( "If true, Advanced Inventory Manager menu will fit full screen, otherwise it will leave sidebar visible." ), + false + ); mOptionsSort["interface"]++; From b653d6b4a2b3eeb17f6807cae670a31d5651d29e Mon Sep 17 00:00:00 2001 From: araneyl <57279495+araneyl@users.noreply.github.com> Date: Sun, 17 Nov 2019 02:47:38 -0500 Subject: [PATCH 093/175] XL Black Dragon Armor (#35549) * Initial XL Black Dragon armor addtions first addition of XL size BD armor * xl black dragon armor XL size BD armor * Update black_dragon_items.json * Update black_dragon_items.json * Update black_dragon_items.json * Update black_dragon_items.json * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/alchemy_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill * Update data/mods/Magiclysm/items/black_dragon_items.json Co-Authored-By: Curtis Merrill --- data/mods/Magiclysm/items/alchemy_items.json | 9 + .../Magiclysm/items/black_dragon_items.json | 177 ++++++++++++++++++ data/mods/Magiclysm/recipes/dragon_black.json | 120 ++++++++++++ data/mods/Magiclysm/recipes/magic_tools.json | 13 ++ 4 files changed, 319 insertions(+) diff --git a/data/mods/Magiclysm/items/alchemy_items.json b/data/mods/Magiclysm/items/alchemy_items.json index f25a2672b98a6..6aade7e4de53f 100644 --- a/data/mods/Magiclysm/items/alchemy_items.json +++ b/data/mods/Magiclysm/items/alchemy_items.json @@ -41,6 +41,15 @@ "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", 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/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 d5ae781213a6d..922a9cfffdca6 100644 --- a/data/mods/Magiclysm/recipes/magic_tools.json +++ b/data/mods/Magiclysm/recipes/magic_tools.json @@ -39,6 +39,19 @@ "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", From f70a6846696207b74c448d5ec1b6d09f2a876184 Mon Sep 17 00:00:00 2001 From: sketchywyvern <57855970+sketchywyvern@users.noreply.github.com> Date: Sun, 17 Nov 2019 03:18:29 -0500 Subject: [PATCH 094/175] Update seed.json --- data/json/recipes/food/seed.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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" ] } ] From acdda97aa539a898b40cc0f4572e8e5b499f1f38 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 17 Nov 2019 16:51:15 +0100 Subject: [PATCH 095/175] Modify chitin armor recipes. --- data/json/recipes/armor/suit.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/recipes/armor/suit.json b/data/json/recipes/armor/suit.json index d7d802327d958..e77d77be39ef4 100644 --- a/data/json/recipes/armor/suit.json +++ b/data/json/recipes/armor/suit.json @@ -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", From d6d960c7a01d8739c9f3e02ec5d2967581a68d7b Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 17 Nov 2019 16:52:21 +0100 Subject: [PATCH 096/175] Modify chitin armguards. --- data/json/recipes/armor/arms.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/recipes/armor/arms.json b/data/json/recipes/armor/arms.json index 83ad1d8e79244..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", From 334efe75aec5cfbcae36335896782c17ef586a91 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 17 Nov 2019 16:54:00 +0100 Subject: [PATCH 097/175] Modify chitin boots --- data/json/recipes/armor/feet.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/recipes/armor/feet.json b/data/json/recipes/armor/feet.json index aa8680c4f64ad..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", From b7629d370a735dab58a41fd1f8f4a1fa60c552c7 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 17 Nov 2019 16:56:16 +0100 Subject: [PATCH 098/175] Modify chitin gauntlets --- data/json/recipes/armor/hands.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/recipes/armor/hands.json b/data/json/recipes/armor/hands.json index 1b053107d2cf9..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", From e45e80eb1d024a57b3590fd4609b8a42afbec077 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Sun, 17 Nov 2019 16:58:20 +0100 Subject: [PATCH 099/175] Modify chitin helmets --- data/json/recipes/armor/head.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/recipes/armor/head.json b/data/json/recipes/armor/head.json index 333c1339cbed9..462dfb0a859dd 100644 --- a/data/json/recipes/armor/head.json +++ b/data/json/recipes/armor/head.json @@ -363,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", @@ -390,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", From 8d96f035d6c8fde61ee279f1a777062b2b08d785 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 18:44:00 +0100 Subject: [PATCH 100/175] Remove commented out code. --- src/path_info.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 352beffa1c004..3154a57556acf 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -23,7 +23,6 @@ void PATH_INFO::init_base_path( std::string path ) } } - //FILENAMES.insert(std::pair("base_path", path)); FILENAMES["base_path"] = path; } From 20e9630ff2cea3a54614d049549d92d5fe9f38bf Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 18:55:29 +0100 Subject: [PATCH 101/175] Remove unused entry in FILENAMES map. The value for key "recycledir" is never read, so it does not need to exist within the map. --- src/path_info.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 3154a57556acf..60e308dc7b84a 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -73,7 +73,6 @@ void PATH_INFO::update_datadir() 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/" ); From 127694b3add20c5dd229ea00304e4065964db456 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:33:10 +0100 Subject: [PATCH 102/175] Remove reference to non-existing entry in FILENAMES. An entry with key "gfx" is never set, so it will always yield an empty string. So this replaces that pointless lookup with an empty string directly. --- src/path_info.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 60e308dc7b84a..1d329ba94bd1e 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -91,8 +91,8 @@ void PATH_INFO::update_datadir() 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( "defaulttilejson", "tile_config.json" ); + update_pathname( "defaulttilepng", "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" ); @@ -155,8 +155,8 @@ void PATH_INFO::set_standard_filenames() 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( "defaulttilejson", "tile_config.json" ); + update_pathname( "defaulttilepng", "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" ); From 02c6f96dcca2c3373329e3f03c7b44c552304ac1 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:37:08 +0100 Subject: [PATCH 103/175] Remove reference to non-existing entry in FILENAMES: An entry with key "legacy_fontlist" is never created, the lookup for it will yield an empty string. Open an empty path will always fail, so the then-block is never run. Therefor this removes that dead code completely. --- src/sdltiles.cpp | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 08b41e19940cf..1e43f62a6520f 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -3266,21 +3266,8 @@ static cata::optional find_system_font( const std::string &name, in const std::string fontlist_path = FILENAMES["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; From f195e068af67a0723f1311368bd2060c535a4fe7 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 15:03:31 +0100 Subject: [PATCH 104/175] Change build_resource_list to avoid looking up FILENAMES from it. Instead the caller has to do this now. Changed the names of the parameters accordingly as they are no labels anymore. --- src/options.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/options.cpp b/src/options.cpp index 822fb07cf4a2a..47bdb634f4059 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -841,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 @@ -901,7 +900,8 @@ std::vector options_manager::load_tilesets_from( { // 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, "tileset-conf" ); + auto tileset_names = build_resource_list( local_tilesets, "tileset", FILENAMES[path], + FILENAMES["tileset-conf"] ); // Copy found tilesets TILESETS.insert( local_tilesets.begin(), local_tilesets.end() ); @@ -936,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", FILENAMES[path], + FILENAMES["soundpack-conf"] ); // Copy over found soundpacks SOUNDPACKS.insert( local_soundpacks.begin(), local_soundpacks.end() ); From da38ef6e818c991b9a0d3624565a5c3709eae13e Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:04:47 +0100 Subject: [PATCH 105/175] Change options_manager::load_tilesets_from and options_manager::load_soundpack_from to take actual paths Not just keys into the FILENAMES map. Overall behaviour is not changed, the caller of those functions now does the lookup in the `FILENAMES` map. --- src/options.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/options.cpp b/src/options.cpp index 47bdb634f4059..4df2abe1f11bc 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -900,7 +900,7 @@ std::vector options_manager::load_tilesets_from( { // 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", FILENAMES[path], + auto tileset_names = build_resource_list( local_tilesets, "tileset", path, FILENAMES["tileset-conf"] ); // Copy found tilesets @@ -916,11 +916,11 @@ std::vector options_manager::build_tilesets_list std::vector result; // Load from data directory - auto data_tilesets = load_tilesets_from( "gfxdir" ); + auto data_tilesets = load_tilesets_from( FILENAMES["gfxdir"] ); result.insert( result.end(), data_tilesets.begin(), data_tilesets.end() ); // Load from user directory - auto user_tilesets = load_tilesets_from( "user_gfx" ); + auto user_tilesets = load_tilesets_from( FILENAMES["user_gfx"] ); result.insert( result.end(), user_tilesets.begin(), user_tilesets.end() ); // Default values @@ -936,7 +936,7 @@ 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", FILENAMES[path], + auto soundpack_names = build_resource_list( local_soundpacks, "soundpack", path, FILENAMES["soundpack-conf"] ); // Copy over found soundpacks @@ -953,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( FILENAMES["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( FILENAMES["user_sound"] ); result.insert( result.end(), user_soundpacks.begin(), user_soundpacks.end() ); // Select default built-in sound pack From 496f52dd40b1c4f18d44c63c3dabeba0fc489a21 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 14:49:37 +0100 Subject: [PATCH 106/175] Hide the FILENAMES map. Access it only via functions from the header. All function names are the names of the key they look up in the `FILENAMES` map, so the information to the reader is exactly the same. --- src/action.cpp | 12 +- src/action.h | 2 +- src/auto_pickup.cpp | 8 +- src/cata_tiles.cpp | 10 +- src/color.cpp | 6 +- src/color_loader.h | 4 +- src/crash.cpp | 15 +-- src/debug.cpp | 4 +- src/debug.h | 2 +- src/font_loader.h | 6 +- src/game.cpp | 8 +- src/help.cpp | 2 +- src/input.cpp | 14 +-- src/iuse_software_sokoban.cpp | 2 +- src/main.cpp | 8 +- src/main_menu.cpp | 14 +-- src/mod_manager.cpp | 16 +-- src/newcharacter.cpp | 4 +- src/options.cpp | 24 ++-- src/panels.cpp | 4 +- src/path_info.cpp | 204 ++++++++++++++++++++++++++++++++++ src/path_info.h | 57 +++++++++- src/safemode_ui.cpp | 4 +- src/sdlsound.cpp | 2 +- src/sdltiles.cpp | 14 +-- src/translations.cpp | 6 +- src/worldfactory.cpp | 20 ++-- tests/test_main.cpp | 6 +- 28 files changed, 361 insertions(+), 117 deletions(-) diff --git a/src/action.cpp b/src/action.cpp index 1fca4b3a5192c..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(); } } @@ -71,7 +71,7 @@ void parse_keymap( std::istream &keymap_txt, std::map &kmap, 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"] ); + "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; } diff --git a/src/action.h b/src/action.h index 01e266a7000b7..fd8d9dd3979d5 100644 --- a/src/action.h +++ b/src/action.h @@ -322,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/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/cata_tiles.cpp b/src/cata_tiles.cpp index 037529f3a2132..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; 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/crash.cpp b/src/crash.cpp index 6e2766242f9ff..d6c96ad92d82d 100644 --- a/src/crash.cpp +++ b/src/crash.cpp @@ -230,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." @@ -264,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/debug.cpp b/src/debug.cpp index e28df00a18125..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() 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/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 627d56b59092c..1bbd0377b2d10 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -407,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 ) @@ -2586,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 ) ) { @@ -2959,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 ) + "/"; @@ -12109,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/help.cpp b/src/help.cpp index 5335567b1f92b..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 ); } ); } diff --git a/src/input.cpp b/src/input.cpp index 9de0ba04fc625..2692da7f5e6e3 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -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() ) ) { @@ -275,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/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/main.cpp b/src/main.cpp index 3c534df4fd7f2..f7bb0945eea2d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -539,15 +539,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 985d9020198fa..c22d96fa748ab 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -377,7 +377,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 ); @@ -400,27 +400,27 @@ 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( FILENAMES["user_gfx"] ) ) { + if( !assure_dir_exist( PATH_INFO::user_gfx() ) ) { popup( _( "Unable to make graphics directory. Check permissions." ) ); return false; } @@ -824,7 +824,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 { diff --git a/src/mod_manager.cpp b/src/mod_manager.cpp index 29f17913d7712..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" ) ) ) { @@ -270,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/newcharacter.cpp b/src/newcharacter.cpp index 4bd2167633845..043ba0456cb8e 100644 --- a/src/newcharacter.cpp +++ b/src/newcharacter.cpp @@ -2551,7 +2551,7 @@ void avatar::save_template( const std::string &name, const points_left &points ) } #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(); @@ -2572,7 +2572,7 @@ void avatar::save_template( const std::string &name, const points_left &points ) 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() ) { diff --git a/src/options.cpp b/src/options.cpp index 4df2abe1f11bc..914aebd8c5498 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -901,7 +901,7 @@ std::vector options_manager::load_tilesets_from( // 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, - FILENAMES["tileset-conf"] ); + PATH_INFO::tileset_conf() ); // Copy found tilesets TILESETS.insert( local_tilesets.begin(), local_tilesets.end() ); @@ -916,11 +916,11 @@ std::vector options_manager::build_tilesets_list std::vector result; // Load from data directory - auto data_tilesets = load_tilesets_from( FILENAMES["gfxdir"] ); + auto data_tilesets = load_tilesets_from( PATH_INFO::gfxdir() ); result.insert( result.end(), data_tilesets.begin(), data_tilesets.end() ); // Load from user directory - auto user_tilesets = load_tilesets_from( FILENAMES["user_gfx"] ); + auto user_tilesets = load_tilesets_from( PATH_INFO::user_gfx() ); result.insert( result.end(), user_tilesets.begin(), user_tilesets.end() ); // Default values @@ -937,7 +937,7 @@ 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, - FILENAMES["soundpack-conf"] ); + PATH_INFO::soundpack_conf() ); // Copy over found soundpacks SOUNDPACKS.insert( local_soundpacks.begin(), local_soundpacks.end() ); @@ -953,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( FILENAMES["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( FILENAMES["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 @@ -2848,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" ); @@ -2869,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() ); } } } @@ -2917,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/panels.cpp b/src/panels.cpp index c63d8af55877d..267f2c446b87a 100644 --- a/src/panels.cpp +++ b/src/panels.cpp @@ -2135,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" ) ); @@ -2143,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 ); } ); } diff --git a/src/path_info.cpp b/src/path_info.cpp index 1d329ba94bd1e..9b8a76bf6ab0b 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -268,3 +268,207 @@ std::string PATH_INFO::find_translated_file( const std::string &pathid, ( void ) extension; return FILENAMES[fallbackid]; } +std::string PATH_INFO::autopickup() +{ + return FILENAMES["autopickup"]; +} +std::string PATH_INFO::base_colors() +{ + return FILENAMES["base_colors"]; +} +std::string PATH_INFO::base_path() +{ + return FILENAMES["base_path"]; +} +std::string PATH_INFO::colors() +{ + return FILENAMES["colors"]; +} +std::string PATH_INFO::color_templates() +{ + return FILENAMES["color_templates"]; +} +std::string PATH_INFO::config_dir() +{ + return FILENAMES["config_dir"]; +} +std::string PATH_INFO::custom_colors() +{ + return FILENAMES["custom_colors"]; +} +std::string PATH_INFO::datadir() +{ + return FILENAMES["datadir"]; +} +std::string PATH_INFO::debug() +{ + return FILENAMES["debug"]; +} +std::string PATH_INFO::defaultsounddir() +{ + return FILENAMES["defaultsounddir"]; +} +std::string PATH_INFO::defaulttilejson() +{ + return FILENAMES["defaulttilejson"]; +} +std::string PATH_INFO::defaulttilepng() +{ + return FILENAMES["defaulttilepng"]; +} +std::string PATH_INFO::fontdata() +{ + return FILENAMES["fontdata"]; +} +std::string PATH_INFO::fontdir() +{ + return FILENAMES["fontdir"]; +} +std::string PATH_INFO::fontlist() +{ + return FILENAMES["fontlist"]; +} +std::string PATH_INFO::graveyarddir() +{ + return FILENAMES["graveyarddir"]; +} +std::string PATH_INFO::help() +{ + return FILENAMES["help"]; +} +std::string PATH_INFO::keybindings() +{ + return FILENAMES["keybindings"]; +} +std::string PATH_INFO::keybindings_vehicle() +{ + return FILENAMES["keybindings_vehicle"]; +} +std::string PATH_INFO::keymap() +{ + return FILENAMES["keymap"]; +} +std::string PATH_INFO::lastworld() +{ + return FILENAMES["lastworld"]; +} +std::string PATH_INFO::legacy_autopickup() +{ + return FILENAMES["legacy_autopickup"]; +} +std::string PATH_INFO::legacy_autopickup2() +{ + return FILENAMES["legacy_autopickup2"]; +} +std::string PATH_INFO::legacy_fontdata() +{ + return FILENAMES["legacy_fontdata"]; +} +std::string PATH_INFO::legacy_keymap() +{ + return FILENAMES["legacy_keymap"]; +} +std::string PATH_INFO::legacy_options() +{ + return FILENAMES["legacy_options"]; +} +std::string PATH_INFO::legacy_options2() +{ + return FILENAMES["legacy_options2"]; +} +std::string PATH_INFO::legacy_worldoptions() +{ + return FILENAMES["legacy_worldoptions"]; +} +std::string PATH_INFO::memorialdir() +{ + return FILENAMES["memorialdir"]; +} +std::string PATH_INFO::jsondir() +{ + return FILENAMES["jsondir"]; +} +std::string PATH_INFO::moddir() +{ + return FILENAMES["moddir"]; +} +std::string PATH_INFO::options() +{ + return FILENAMES["options"]; +} +std::string PATH_INFO::panel_options() +{ + return FILENAMES["panel_options"]; +} +std::string PATH_INFO::safemode() +{ + return FILENAMES["safemode"]; +} +std::string PATH_INFO::savedir() +{ + return FILENAMES["savedir"]; +} +std::string PATH_INFO::sokoban() +{ + return FILENAMES["sokoban"]; +} +std::string PATH_INFO::templatedir() +{ + return FILENAMES["templatedir"]; +} +std::string PATH_INFO::user_dir() +{ + return FILENAMES["user_dir"]; +} +std::string PATH_INFO::user_gfx() +{ + return FILENAMES["user_gfx"]; +} +std::string PATH_INFO::user_keybindings() +{ + return FILENAMES["user_keybindings"]; +} +std::string PATH_INFO::user_moddir() +{ + return FILENAMES["user_moddir"]; +} +std::string PATH_INFO::user_sound() +{ + return FILENAMES["user_sound"]; +} +std::string PATH_INFO::worldoptions() +{ + return FILENAMES["worldoptions"]; +} +std::string PATH_INFO::crash() +{ + return FILENAMES["crash"]; +} +std::string PATH_INFO::tileset_conf() +{ + return FILENAMES["tileset-conf"]; +} +std::string PATH_INFO::mods_replacements() +{ + return FILENAMES["mods-replacements"]; +} +std::string PATH_INFO::mods_dev_default() +{ + return FILENAMES["mods-dev-default"]; +} +std::string PATH_INFO::mods_user_default() +{ + return FILENAMES["mods-user-default"]; +} +std::string PATH_INFO::soundpack_conf() +{ + return FILENAMES["soundpack-conf"]; +} +std::string PATH_INFO::gfxdir() +{ + return FILENAMES["gfxdir"]; +} +std::string PATH_INFO::data_sound() +{ + return FILENAMES["data_sound"]; +} diff --git a/src/path_info.h b/src/path_info.h index a7ba0caab07ac..0ff153bc1bae6 100644 --- a/src/path_info.h +++ b/src/path_info.h @@ -2,11 +2,8 @@ #ifndef PATH_INFO_H #define PATH_INFO_H -#include #include -extern std::map FILENAMES; - namespace PATH_INFO { void init_base_path( std::string path ); @@ -29,6 +26,60 @@ void set_standard_filenames(); */ 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(); + } // namespace PATH_INFO #endif 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/sdlsound.cpp b/src/sdlsound.cpp index 153cb6cceb250..da6b331422862 100644 --- a/src/sdlsound.cpp +++ b/src/sdlsound.cpp @@ -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; diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 1e43f62a6520f..35aef3dc76e34 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -3219,8 +3219,8 @@ 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) constexpr UINT max_dir_len = 256; @@ -3256,14 +3256,14 @@ 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() ) { // Write out fontlist to the new location. @@ -3504,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 @@ -3803,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/translations.cpp b/src/translations.cpp index 067e2cd77d32a..4bd4657a36ac3 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -209,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"; } diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index 2d5012deef2e9..164c43650bf51 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -93,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 @@ -228,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 ); @@ -264,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(); @@ -273,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 @@ -559,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; } @@ -572,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 ); @@ -1396,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. @@ -1472,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/test_main.cpp b/tests/test_main.cpp index 9f203e2be58e9..8fea8e5dffd0a 100644 --- a/tests/test_main.cpp +++ b/tests/test_main.cpp @@ -103,15 +103,15 @@ static void init_global_game_state( const std::vector &mods, PATH_INFO::init_user_dir( user_dir.c_str() ); PATH_INFO::set_standard_filenames(); - if( !assure_dir_exist( FILENAMES["config_dir"] ) ) { + if( !assure_dir_exist( PATH_INFO::config_dir() ) ) { assert( !"Unable to make config directory. Check permissions." ); } - if( !assure_dir_exist( FILENAMES["savedir"] ) ) { + if( !assure_dir_exist( PATH_INFO::savedir() ) ) { assert( !"Unable to make save directory. Check permissions." ); } - if( !assure_dir_exist( FILENAMES["templatedir"] ) ) { + if( !assure_dir_exist( PATH_INFO::templatedir() ) ) { assert( !"Unable to make templates directory. Check permissions." ); } From c66e523cc3b874fccbaa9c208eff36c20730d319 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 18:35:51 +0100 Subject: [PATCH 107/175] Inline a few entries of the FILENAMES map Instead of storing them in the map, calculate them when needed. Removes the useless compile time check for `SDL_SOUND` / `TILES`: the values are always available, even when they are not used (in builds without sound/tiles). Adding the functions does not significantly increase the size of the application. --- src/path_info.cpp | 141 ++++++++++++---------------------------------- 1 file changed, 37 insertions(+), 104 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 9b8a76bf6ab0b..ae4968fba1d92 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -86,34 +86,13 @@ void PATH_INFO::update_datadir() 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", "tile_config.json" ); - update_pathname( "defaulttilepng", "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" ); } void PATH_INFO::set_standard_filenames() @@ -141,7 +120,6 @@ void PATH_INFO::set_standard_filenames() 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/" ); @@ -151,22 +129,9 @@ void PATH_INFO::set_standard_filenames() 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", "tile_config.json" ); - update_pathname( "defaulttilepng", "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" ); 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/" ); - update_pathname( "user_gfx", FILENAMES["user_dir"] + "gfx/" ); #if defined(USE_XDG_DIR) const char *user_dir; std::string dir; @@ -180,41 +145,9 @@ void PATH_INFO::set_standard_filenames() #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" ); -#endif } std::string PATH_INFO::find_translated_file( const std::string &pathid, @@ -274,7 +207,7 @@ std::string PATH_INFO::autopickup() } std::string PATH_INFO::base_colors() { - return FILENAMES["base_colors"]; + return FILENAMES["config_dir"] + "base_colors.json"; } std::string PATH_INFO::base_path() { @@ -282,11 +215,11 @@ std::string PATH_INFO::base_path() } std::string PATH_INFO::colors() { - return FILENAMES["colors"]; + return FILENAMES["rawdir"] + "colors.json"; } std::string PATH_INFO::color_templates() { - return FILENAMES["color_templates"]; + return FILENAMES["rawdir"] + "color_templates/"; } std::string PATH_INFO::config_dir() { @@ -294,7 +227,7 @@ std::string PATH_INFO::config_dir() } std::string PATH_INFO::custom_colors() { - return FILENAMES["custom_colors"]; + return FILENAMES["config_dir"] + "custom_colors.json"; } std::string PATH_INFO::datadir() { @@ -302,23 +235,23 @@ std::string PATH_INFO::datadir() } std::string PATH_INFO::debug() { - return FILENAMES["debug"]; + return FILENAMES["config_dir"] + "debug.log"; } std::string PATH_INFO::defaultsounddir() { - return FILENAMES["defaultsounddir"]; + return FILENAMES["datadir"] + "sound"; } std::string PATH_INFO::defaulttilejson() { - return FILENAMES["defaulttilejson"]; + return "tile_config.json"; } std::string PATH_INFO::defaulttilepng() { - return FILENAMES["defaulttilepng"]; + return "tinytile.png"; } std::string PATH_INFO::fontdata() { - return FILENAMES["fontdata"]; + return FILENAMES["config_dir"] + "fonts.json"; } std::string PATH_INFO::fontdir() { @@ -326,23 +259,23 @@ std::string PATH_INFO::fontdir() } std::string PATH_INFO::fontlist() { - return FILENAMES["fontlist"]; + return FILENAMES["config_dir"] + "fontlist.txt"; } std::string PATH_INFO::graveyarddir() { - return FILENAMES["graveyarddir"]; + return FILENAMES["user_dir"] + "graveyard/"; } std::string PATH_INFO::help() { - return FILENAMES["help"]; + return FILENAMES["helpdir"] + "texts.json"; } std::string PATH_INFO::keybindings() { - return FILENAMES["keybindings"]; + return FILENAMES["rawdir"] + "keybindings.json"; } std::string PATH_INFO::keybindings_vehicle() { - return FILENAMES["keybindings_vehicle"]; + return FILENAMES["rawdir"] + "keybindings/vehicle.json"; } std::string PATH_INFO::keymap() { @@ -350,35 +283,35 @@ std::string PATH_INFO::keymap() } std::string PATH_INFO::lastworld() { - return FILENAMES["lastworld"]; + return FILENAMES["config_dir"] + "lastworld.json"; } std::string PATH_INFO::legacy_autopickup() { - return FILENAMES["legacy_autopickup"]; + return "data/auto_pickup.txt"; } std::string PATH_INFO::legacy_autopickup2() { - return FILENAMES["legacy_autopickup2"]; + return FILENAMES["config_dir"] + "auto_pickup.txt"; } std::string PATH_INFO::legacy_fontdata() { - return FILENAMES["legacy_fontdata"]; + return FILENAMES["datadir"] + "fontdata.json"; } std::string PATH_INFO::legacy_keymap() { - return FILENAMES["legacy_keymap"]; + return "data/keymap.txt"; } std::string PATH_INFO::legacy_options() { - return FILENAMES["legacy_options"]; + return "data/options.txt"; } std::string PATH_INFO::legacy_options2() { - return FILENAMES["legacy_options2"]; + return FILENAMES["config_dir"] + "options.txt"; } std::string PATH_INFO::legacy_worldoptions() { - return FILENAMES["legacy_worldoptions"]; + return "worldoptions.txt"; } std::string PATH_INFO::memorialdir() { @@ -398,11 +331,11 @@ std::string PATH_INFO::options() } std::string PATH_INFO::panel_options() { - return FILENAMES["panel_options"]; + return FILENAMES["config_dir"] + "panel_options.json"; } std::string PATH_INFO::safemode() { - return FILENAMES["safemode"]; + return FILENAMES["config_dir"] + "safemode.json"; } std::string PATH_INFO::savedir() { @@ -410,11 +343,11 @@ std::string PATH_INFO::savedir() } std::string PATH_INFO::sokoban() { - return FILENAMES["sokoban"]; + return FILENAMES["rawdir"] + "sokoban.txt"; } std::string PATH_INFO::templatedir() { - return FILENAMES["templatedir"]; + return FILENAMES["user_dir"] + "templates/"; } std::string PATH_INFO::user_dir() { @@ -422,47 +355,47 @@ std::string PATH_INFO::user_dir() } std::string PATH_INFO::user_gfx() { - return FILENAMES["user_gfx"]; + return FILENAMES["user_dir"] + "gfx/"; } std::string PATH_INFO::user_keybindings() { - return FILENAMES["user_keybindings"]; + return FILENAMES["config_dir"] + "keybindings.json"; } std::string PATH_INFO::user_moddir() { - return FILENAMES["user_moddir"]; + return FILENAMES["user_dir"] + "mods/"; } std::string PATH_INFO::user_sound() { - return FILENAMES["user_sound"]; + return FILENAMES["user_dir"] + "sound/"; } std::string PATH_INFO::worldoptions() { - return FILENAMES["worldoptions"]; + return "worldoptions.json"; } std::string PATH_INFO::crash() { - return FILENAMES["crash"]; + return FILENAMES["config_dir"] + "crash.log"; } std::string PATH_INFO::tileset_conf() { - return FILENAMES["tileset-conf"]; + return "tileset.txt"; } std::string PATH_INFO::mods_replacements() { - return FILENAMES["mods-replacements"]; + return FILENAMES["moddir"] + "replacements.json"; } std::string PATH_INFO::mods_dev_default() { - return FILENAMES["mods-dev-default"]; + return FILENAMES["moddir"] + "default.json"; } std::string PATH_INFO::mods_user_default() { - return FILENAMES["mods-user-default"]; + return FILENAMES["config_dir"] + "user-default-mods.json"; } std::string PATH_INFO::soundpack_conf() { - return FILENAMES["soundpack-conf"]; + return "soundpack.txt"; } std::string PATH_INFO::gfxdir() { From 9083c0d0efc3f9e9fe3fce6aa5c2a4e3203f4647 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 18:43:40 +0100 Subject: [PATCH 108/175] Add wrappers around calls to PATH_INFO::find_translated_file This also allows the function to be static and private within the cpp file. --- src/main_menu.cpp | 11 +++-------- src/path_info.cpp | 40 ++++++++++++++++++++++++++++++++++++++-- src/path_info.h | 19 +++++-------------- src/translations.cpp | 2 +- 4 files changed, 47 insertions(+), 25 deletions(-) diff --git a/src/main_menu.cpp b/src/main_menu.cpp index c22d96fa748ab..18b7f48e33e20 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -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] != '#' ) { diff --git a/src/path_info.cpp b/src/path_info.cpp index ae4968fba1d92..0ef1f3a3f70d9 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -11,6 +11,21 @@ #include #endif +/** + * 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. + */ +static std::string find_translated_file( const std::string &pathid, const std::string &extension, + const std::string &fallbackid ); + /** Map where we store filenames */ std::map FILENAMES; @@ -150,8 +165,8 @@ void PATH_INFO::set_standard_filenames() update_pathname( "autopickup", FILENAMES["config_dir"] + "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 &pathid, const std::string &extension, + const std::string &fallbackid ) { const std::string base_path = FILENAMES[pathid]; @@ -405,3 +420,24 @@ std::string PATH_INFO::data_sound() { return FILENAMES["data_sound"]; } + +std::string PATH_INFO::credits() +{ + return find_translated_file( "creditsdir", ".credits", "credits" ); +} + +std::string PATH_INFO::motd() +{ + return find_translated_file( "motddir", ".motd", "motd" ); +} + +std::string PATH_INFO::title( const bool halloween_theme ) +{ + return find_translated_file( "titledir", halloween_theme ? ".halloween" : ".title", + halloween_theme ? "halloween" : "title" ); +} + +std::string PATH_INFO::names() +{ + return find_translated_file( "namesdir", ".json", "names" ); +} diff --git a/src/path_info.h b/src/path_info.h index 0ff153bc1bae6..063768c35d558 100644 --- a/src/path_info.h +++ b/src/path_info.h @@ -12,20 +12,7 @@ void update_datadir(); void update_config_dir(); void update_pathname( const std::string &name, const std::string &path ); 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(); @@ -80,6 +67,10 @@ 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(); } // namespace PATH_INFO #endif diff --git a/src/translations.cpp b/src/translations.cpp index 4bd4657a36ac3..2bd330314ea63 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -36,7 +36,7 @@ extern bool test_mode; 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; From 5e49db895ed638af9568b399be4c7a8c092c2f44 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 18:51:16 +0100 Subject: [PATCH 109/175] Add wrapper functions to set entries within FILENAMES from outside the cpp file. This also allows to make the called functions private within the cpp file. --- src/main.cpp | 18 ++++++++-------- src/path_info.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++--- src/path_info.h | 13 +++++++++--- 3 files changed, 67 insertions(+), 16 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index f7bb0945eea2d..4abc3eacbe45f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -376,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; } }, @@ -390,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; } }, @@ -403,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; } }, @@ -417,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; } }, @@ -430,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; } }, @@ -443,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; } }, @@ -456,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; } }, @@ -469,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; } }, diff --git a/src/path_info.cpp b/src/path_info.cpp index 0ef1f3a3f70d9..190b5424b56f0 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -26,6 +26,10 @@ static std::string find_translated_file( const std::string &pathid, const std::string &extension, const std::string &fallbackid ); +static void update_datadir(); +static void update_config_dir(); +static void update_pathname( const std::string &name, const std::string &path ); + /** Map where we store filenames */ std::map FILENAMES; @@ -70,7 +74,7 @@ void PATH_INFO::init_user_dir( const char *ud ) FILENAMES["user_dir"] = dir; } -void PATH_INFO::update_pathname( const std::string &name, const std::string &path ) +void update_pathname( const std::string &name, const std::string &path ) { const std::map::iterator iter = FILENAMES.find( name ); if( iter != FILENAMES.end() ) { @@ -80,7 +84,7 @@ void PATH_INFO::update_pathname( const std::string &name, const std::string &pat } } -void PATH_INFO::update_datadir() +void update_datadir() { // Shared dirs update_pathname( "gfxdir", FILENAMES["datadir"] + "gfx/" ); @@ -103,7 +107,7 @@ void PATH_INFO::update_datadir() update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); } -void PATH_INFO::update_config_dir() +void update_config_dir() { update_pathname( "options", FILENAMES["config_dir"] + "options.json" ); update_pathname( "keymap", FILENAMES["config_dir"] + "keymap.txt" ); @@ -441,3 +445,45 @@ std::string PATH_INFO::names() { return find_translated_file( "namesdir", ".json", "names" ); } + +void PATH_INFO::set_datadir( const std::string &datadir ) +{ + update_pathname( "datadir", datadir ); + update_datadir(); +} + +void PATH_INFO::set_config_dir( const std::string &config_dir ) +{ + update_pathname( "config_dir", config_dir ); + update_config_dir(); +} + +void PATH_INFO::set_savedir( const std::string &savedir ) +{ + update_pathname( "savedir", savedir ); +} + +void PATH_INFO::set_memorialdir( const std::string &memorialdir ) +{ + update_pathname( "memorialdir", memorialdir ); +} + +void PATH_INFO::set_options( const std::string &options ) +{ + update_pathname( "options", options ); +} + +void PATH_INFO::set_keymap( const std::string &keymap ) +{ + update_pathname( "keymap", keymap ); +} + +void PATH_INFO::set_autopickup( const std::string &autopickup ) +{ + update_pathname( "autopickup", autopickup ); +} + +void PATH_INFO::set_motd( const std::string &motd ) +{ + update_pathname( "motd", motd ); +} diff --git a/src/path_info.h b/src/path_info.h index 063768c35d558..1f67519694b90 100644 --- a/src/path_info.h +++ b/src/path_info.h @@ -8,9 +8,6 @@ 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 set_standard_filenames(); std::string autopickup(); @@ -71,6 +68,16 @@ 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 From 6604c7eff2f395c61ea5d6f2b3a98bb6d3306cfe Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:19:21 +0100 Subject: [PATCH 110/175] Change find_translated_file to take the actual values instead of lookup keys So instead of doing the map lookup, the caller does it now. --- src/path_info.cpp | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 190b5424b56f0..ed33f159465da 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -14,17 +14,15 @@ /** * 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 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 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. + * @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 &pathid, const std::string &extension, - const std::string &fallbackid ); +static std::string find_translated_file( const std::string &path, const std::string &extension, + const std::string &fallback ); static void update_datadir(); static void update_config_dir(); @@ -169,10 +167,10 @@ void PATH_INFO::set_standard_filenames() update_pathname( "autopickup", FILENAMES["config_dir"] + "auto_pickup.json" ); } -std::string find_translated_file( const std::string &pathid, const std::string &extension, - const std::string &fallbackid ) +std::string find_translated_file( const std::string &path, const std::string &extension, + const std::string &fallback ) { - const std::string base_path = FILENAMES[pathid]; + const std::string base_path = path; #if defined(LOCALIZE) && !defined(__CYGWIN__) std::string loc_name; @@ -218,7 +216,7 @@ std::string find_translated_file( const std::string &pathid, const std::string & } #endif ( void ) extension; - return FILENAMES[fallbackid]; + return fallback; } std::string PATH_INFO::autopickup() { @@ -427,23 +425,23 @@ std::string PATH_INFO::data_sound() std::string PATH_INFO::credits() { - return find_translated_file( "creditsdir", ".credits", "credits" ); + return find_translated_file( FILENAMES["creditsdir"], ".credits", FILENAMES["credits"] ); } std::string PATH_INFO::motd() { - return find_translated_file( "motddir", ".motd", "motd" ); + return find_translated_file( FILENAMES["motddir"], ".motd", FILENAMES["motd"] ); } std::string PATH_INFO::title( const bool halloween_theme ) { - return find_translated_file( "titledir", halloween_theme ? ".halloween" : ".title", - halloween_theme ? "halloween" : "title" ); + return find_translated_file( FILENAMES["titledir"], halloween_theme ? ".halloween" : ".title", + halloween_theme ? FILENAMES["halloween"] : FILENAMES["title"] ); } std::string PATH_INFO::names() { - return find_translated_file( "namesdir", ".json", "names" ); + return find_translated_file( FILENAMES["namesdir"], ".json", FILENAMES["names"] ); } void PATH_INFO::set_datadir( const std::string &datadir ) From fd71a90a4287010bd42f7964007365979db541c1 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:26:13 +0100 Subject: [PATCH 111/175] Extract FILENAMES["motd"] into a static variable --- src/path_info.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index ed33f159465da..3e295829d9dd1 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -28,6 +28,8 @@ static void update_datadir(); static void update_config_dir(); static void update_pathname( const std::string &name, const std::string &path ); +static std::string motd_value; + /** Map where we store filenames */ std::map FILENAMES; @@ -100,7 +102,7 @@ void update_datadir() // Shared files update_pathname( "title", FILENAMES["titledir"] + "en.title" ); update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); - update_pathname( "motd", FILENAMES["motddir"] + "en.motd" ); + motd_value = FILENAMES["datadir"] + "motd/" + "en.motd"; update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); } @@ -143,12 +145,13 @@ void PATH_INFO::set_standard_filenames() // Shared files update_pathname( "title", FILENAMES["titledir"] + "en.title" ); update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); - update_pathname( "motd", FILENAMES["motddir"] + "en.motd" ); + motd_value = FILENAMES["datadir"] + "motd/" + "en.motd"; update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); update_pathname( "savedir", FILENAMES["user_dir"] + "save/" ); update_pathname( "memorialdir", FILENAMES["user_dir"] + "memorial/" ); + #if defined(USE_XDG_DIR) const char *user_dir; std::string dir; @@ -430,7 +433,7 @@ std::string PATH_INFO::credits() std::string PATH_INFO::motd() { - return find_translated_file( FILENAMES["motddir"], ".motd", FILENAMES["motd"] ); + return find_translated_file( FILENAMES["motddir"], ".motd", motd_value ); } std::string PATH_INFO::title( const bool halloween_theme ) @@ -483,5 +486,5 @@ void PATH_INFO::set_autopickup( const std::string &autopickup ) void PATH_INFO::set_motd( const std::string &motd ) { - update_pathname( "motd", motd ); + motd_value = motd; } From 9867ab1173ba68c2561c6a28af0f7af829529ff9 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:27:17 +0100 Subject: [PATCH 112/175] Extract FILENAMES["gfxdir"] into a static variable --- src/path_info.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 3e295829d9dd1..a4ee92df9a9e8 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -29,6 +29,7 @@ static void update_config_dir(); static void update_pathname( const std::string &name, const std::string &path ); static std::string motd_value; +static std::string gfxdir_value; /** Map where we store filenames */ std::map FILENAMES; @@ -87,7 +88,7 @@ void update_pathname( const std::string &name, const std::string &path ) void update_datadir() { // Shared dirs - update_pathname( "gfxdir", FILENAMES["datadir"] + "gfx/" ); + gfxdir_value = FILENAMES["datadir"] + "gfx/"; update_pathname( "fontdir", FILENAMES["datadir"] + "font/" ); update_pathname( "rawdir", FILENAMES["datadir"] + "raw/" ); update_pathname( "jsondir", FILENAMES["datadir"] + "core/" ); @@ -120,14 +121,14 @@ void PATH_INFO::set_standard_filenames() if( !FILENAMES["base_path"].empty() ) { #if defined(DATA_DIR_PREFIX) update_pathname( "datadir", FILENAMES["base_path"] + "share/cataclysm-dda/" ); - update_pathname( "gfxdir", FILENAMES["datadir"] + "gfx/" ); + gfxdir_value = FILENAMES["datadir"] + "gfx/"; #else update_pathname( "datadir", FILENAMES["base_path"] + "data/" ); - update_pathname( "gfxdir", FILENAMES["base_path"] + "gfx/" ); + gfxdir_value = FILENAMES["base_path"] + "gfx/"; #endif } else { update_pathname( "datadir", "data/" ); - update_pathname( "gfxdir", "gfx/" ); + gfxdir_value = "gfx/"; } // Shared dirs @@ -419,7 +420,7 @@ std::string PATH_INFO::soundpack_conf() } std::string PATH_INFO::gfxdir() { - return FILENAMES["gfxdir"]; + return gfxdir_value; } std::string PATH_INFO::data_sound() { From 21be4a25d6cf6dfe02b2b4982c631287d08ee179 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:28:32 +0100 Subject: [PATCH 113/175] Extract FILENAMES["config_dir"] into a static variable --- src/path_info.cpp | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index a4ee92df9a9e8..4458b3d5aa404 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -30,6 +30,7 @@ static void update_pathname( const std::string &name, const std::string &path ); static std::string motd_value; static std::string gfxdir_value; +static std::string config_dir_value; /** Map where we store filenames */ std::map FILENAMES; @@ -110,9 +111,9 @@ void update_datadir() void update_config_dir() { - update_pathname( "options", FILENAMES["config_dir"] + "options.json" ); - update_pathname( "keymap", FILENAMES["config_dir"] + "keymap.txt" ); - update_pathname( "autopickup", FILENAMES["config_dir"] + "auto_pickup.json" ); + update_pathname( "options", config_dir_value + "options.json" ); + update_pathname( "keymap", config_dir_value + "keymap.txt" ); + update_pathname( "autopickup", config_dir_value + "auto_pickup.json" ); } void PATH_INFO::set_standard_filenames() @@ -162,13 +163,13 @@ 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/" ); + config_dir_value = FILENAMES["user_dir"] + "config/"; #endif - update_pathname( "options", FILENAMES["config_dir"] + "options.json" ); - update_pathname( "keymap", FILENAMES["config_dir"] + "keymap.txt" ); - update_pathname( "autopickup", FILENAMES["config_dir"] + "auto_pickup.json" ); + update_pathname( "options", config_dir_value + "options.json" ); + update_pathname( "keymap", config_dir_value + "keymap.txt" ); + update_pathname( "autopickup", config_dir_value + "auto_pickup.json" ); } std::string find_translated_file( const std::string &path, const std::string &extension, @@ -228,7 +229,7 @@ std::string PATH_INFO::autopickup() } std::string PATH_INFO::base_colors() { - return FILENAMES["config_dir"] + "base_colors.json"; + return config_dir_value + "base_colors.json"; } std::string PATH_INFO::base_path() { @@ -244,11 +245,11 @@ std::string PATH_INFO::color_templates() } std::string PATH_INFO::config_dir() { - return FILENAMES["config_dir"]; + return config_dir_value; } std::string PATH_INFO::custom_colors() { - return FILENAMES["config_dir"] + "custom_colors.json"; + return config_dir_value + "custom_colors.json"; } std::string PATH_INFO::datadir() { @@ -256,7 +257,7 @@ std::string PATH_INFO::datadir() } std::string PATH_INFO::debug() { - return FILENAMES["config_dir"] + "debug.log"; + return config_dir_value + "debug.log"; } std::string PATH_INFO::defaultsounddir() { @@ -272,7 +273,7 @@ std::string PATH_INFO::defaulttilepng() } std::string PATH_INFO::fontdata() { - return FILENAMES["config_dir"] + "fonts.json"; + return config_dir_value + "fonts.json"; } std::string PATH_INFO::fontdir() { @@ -280,7 +281,7 @@ std::string PATH_INFO::fontdir() } std::string PATH_INFO::fontlist() { - return FILENAMES["config_dir"] + "fontlist.txt"; + return config_dir_value + "fontlist.txt"; } std::string PATH_INFO::graveyarddir() { @@ -304,7 +305,7 @@ std::string PATH_INFO::keymap() } std::string PATH_INFO::lastworld() { - return FILENAMES["config_dir"] + "lastworld.json"; + return config_dir_value + "lastworld.json"; } std::string PATH_INFO::legacy_autopickup() { @@ -312,7 +313,7 @@ std::string PATH_INFO::legacy_autopickup() } std::string PATH_INFO::legacy_autopickup2() { - return FILENAMES["config_dir"] + "auto_pickup.txt"; + return config_dir_value + "auto_pickup.txt"; } std::string PATH_INFO::legacy_fontdata() { @@ -328,7 +329,7 @@ std::string PATH_INFO::legacy_options() } std::string PATH_INFO::legacy_options2() { - return FILENAMES["config_dir"] + "options.txt"; + return config_dir_value + "options.txt"; } std::string PATH_INFO::legacy_worldoptions() { @@ -352,11 +353,11 @@ std::string PATH_INFO::options() } std::string PATH_INFO::panel_options() { - return FILENAMES["config_dir"] + "panel_options.json"; + return config_dir_value + "panel_options.json"; } std::string PATH_INFO::safemode() { - return FILENAMES["config_dir"] + "safemode.json"; + return config_dir_value + "safemode.json"; } std::string PATH_INFO::savedir() { @@ -380,7 +381,7 @@ std::string PATH_INFO::user_gfx() } std::string PATH_INFO::user_keybindings() { - return FILENAMES["config_dir"] + "keybindings.json"; + return config_dir_value + "keybindings.json"; } std::string PATH_INFO::user_moddir() { @@ -396,7 +397,7 @@ std::string PATH_INFO::worldoptions() } std::string PATH_INFO::crash() { - return FILENAMES["config_dir"] + "crash.log"; + return config_dir_value + "crash.log"; } std::string PATH_INFO::tileset_conf() { @@ -412,7 +413,7 @@ std::string PATH_INFO::mods_dev_default() } std::string PATH_INFO::mods_user_default() { - return FILENAMES["config_dir"] + "user-default-mods.json"; + return config_dir_value + "user-default-mods.json"; } std::string PATH_INFO::soundpack_conf() { @@ -456,7 +457,7 @@ void PATH_INFO::set_datadir( const std::string &datadir ) void PATH_INFO::set_config_dir( const std::string &config_dir ) { - update_pathname( "config_dir", config_dir ); + config_dir_value = config_dir; update_config_dir(); } From 90a23506db6011b6e0da680bbc4e4bc99e129fed Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:29:19 +0100 Subject: [PATCH 114/175] Extract FILENAMES["user_dir"] into a static variable --- src/path_info.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 4458b3d5aa404..61cd535f8ce44 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -31,6 +31,7 @@ static void update_pathname( const std::string &name, const std::string &path ); static std::string motd_value; static std::string gfxdir_value; static std::string config_dir_value; +static std::string user_dir_value; /** Map where we store filenames */ std::map FILENAMES; @@ -73,7 +74,7 @@ void PATH_INFO::init_user_dir( const char *ud ) #endif } - FILENAMES["user_dir"] = dir; + user_dir_value = dir; } void update_pathname( const std::string &name, const std::string &path ) @@ -151,8 +152,8 @@ void PATH_INFO::set_standard_filenames() update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); - update_pathname( "savedir", FILENAMES["user_dir"] + "save/" ); - update_pathname( "memorialdir", FILENAMES["user_dir"] + "memorial/" ); + update_pathname( "savedir", user_dir_value + "save/" ); + update_pathname( "memorialdir", user_dir_value + "memorial/" ); #if defined(USE_XDG_DIR) const char *user_dir; @@ -165,7 +166,7 @@ void PATH_INFO::set_standard_filenames() } config_dir_value = dir; #else - config_dir_value = FILENAMES["user_dir"] + "config/"; + config_dir_value = user_dir_value + "config/"; #endif update_pathname( "options", config_dir_value + "options.json" ); update_pathname( "keymap", config_dir_value + "keymap.txt" ); @@ -285,7 +286,7 @@ std::string PATH_INFO::fontlist() } std::string PATH_INFO::graveyarddir() { - return FILENAMES["user_dir"] + "graveyard/"; + return user_dir_value + "graveyard/"; } std::string PATH_INFO::help() { @@ -369,15 +370,15 @@ std::string PATH_INFO::sokoban() } std::string PATH_INFO::templatedir() { - return FILENAMES["user_dir"] + "templates/"; + return user_dir_value + "templates/"; } std::string PATH_INFO::user_dir() { - return FILENAMES["user_dir"]; + return user_dir_value; } std::string PATH_INFO::user_gfx() { - return FILENAMES["user_dir"] + "gfx/"; + return user_dir_value + "gfx/"; } std::string PATH_INFO::user_keybindings() { @@ -385,11 +386,11 @@ std::string PATH_INFO::user_keybindings() } std::string PATH_INFO::user_moddir() { - return FILENAMES["user_dir"] + "mods/"; + return user_dir_value + "mods/"; } std::string PATH_INFO::user_sound() { - return FILENAMES["user_dir"] + "sound/"; + return user_dir_value + "sound/"; } std::string PATH_INFO::worldoptions() { From d3f6f437d0f4ce0460e2b4829dbe1ebda2a11aa6 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:30:36 +0100 Subject: [PATCH 115/175] Extract FILENAMES["datadir"] into a static variable --- src/path_info.cpp | 63 ++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 61cd535f8ce44..ebbe26283e913 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -32,6 +32,7 @@ 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; /** Map where we store filenames */ std::map FILENAMES; @@ -90,22 +91,22 @@ void update_pathname( const std::string &name, const std::string &path ) void update_datadir() { // Shared dirs - gfxdir_value = 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( "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/" ); + gfxdir_value = datadir_value + "gfx/"; + update_pathname( "fontdir", datadir_value + "font/" ); + update_pathname( "rawdir", datadir_value + "raw/" ); + update_pathname( "jsondir", datadir_value + "core/" ); + update_pathname( "moddir", datadir_value + "mods/" ); + update_pathname( "namesdir", datadir_value + "names/" ); + update_pathname( "titledir", datadir_value + "title/" ); + update_pathname( "motddir", datadir_value + "motd/" ); + update_pathname( "creditsdir", datadir_value + "credits/" ); + update_pathname( "data_sound", datadir_value + "sound" ); + update_pathname( "helpdir", datadir_value + "help/" ); // Shared files update_pathname( "title", FILENAMES["titledir"] + "en.title" ); update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); - motd_value = FILENAMES["datadir"] + "motd/" + "en.motd"; + motd_value = datadir_value + "motd/" + "en.motd"; update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); } @@ -122,33 +123,33 @@ void PATH_INFO::set_standard_filenames() // Special: data_dir and gfx_dir if( !FILENAMES["base_path"].empty() ) { #if defined(DATA_DIR_PREFIX) - update_pathname( "datadir", FILENAMES["base_path"] + "share/cataclysm-dda/" ); - gfxdir_value = FILENAMES["datadir"] + "gfx/"; + datadir_value = FILENAMES["base_path"] + "share/cataclysm-dda/"; + gfxdir_value = datadir_value + "gfx/"; #else - update_pathname( "datadir", FILENAMES["base_path"] + "data/" ); + datadir_value = FILENAMES["base_path"] + "data/"; gfxdir_value = FILENAMES["base_path"] + "gfx/"; #endif } else { - update_pathname( "datadir", "data/" ); + 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( "data_sound", FILENAMES["datadir"] + "sound" ); - update_pathname( "helpdir", FILENAMES["datadir"] + "help/" ); + update_pathname( "fontdir", datadir_value + "font/" ); + update_pathname( "rawdir", datadir_value + "raw/" ); + update_pathname( "jsondir", datadir_value + "core/" ); + update_pathname( "moddir", datadir_value + "mods/" ); + update_pathname( "namesdir", datadir_value + "names/" ); + update_pathname( "titledir", datadir_value + "title/" ); + update_pathname( "motddir", datadir_value + "motd/" ); + update_pathname( "creditsdir", datadir_value + "credits/" ); + update_pathname( "data_sound", datadir_value + "sound" ); + update_pathname( "helpdir", datadir_value + "help/" ); // Shared files update_pathname( "title", FILENAMES["titledir"] + "en.title" ); update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); - motd_value = FILENAMES["datadir"] + "motd/" + "en.motd"; + motd_value = datadir_value + "motd/" + "en.motd"; update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); @@ -254,7 +255,7 @@ std::string PATH_INFO::custom_colors() } std::string PATH_INFO::datadir() { - return FILENAMES["datadir"]; + return datadir_value; } std::string PATH_INFO::debug() { @@ -262,7 +263,7 @@ std::string PATH_INFO::debug() } std::string PATH_INFO::defaultsounddir() { - return FILENAMES["datadir"] + "sound"; + return datadir_value + "sound"; } std::string PATH_INFO::defaulttilejson() { @@ -318,7 +319,7 @@ std::string PATH_INFO::legacy_autopickup2() } std::string PATH_INFO::legacy_fontdata() { - return FILENAMES["datadir"] + "fontdata.json"; + return datadir_value + "fontdata.json"; } std::string PATH_INFO::legacy_keymap() { @@ -452,7 +453,7 @@ std::string PATH_INFO::names() void PATH_INFO::set_datadir( const std::string &datadir ) { - update_pathname( "datadir", datadir ); + datadir_value = datadir; update_datadir(); } From 6487979f1450f40ae59b2e0da8892345e3be298c Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:38:54 +0100 Subject: [PATCH 116/175] Extract FILENAMES["base_path"] into a static variable --- src/path_info.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index ebbe26283e913..b513599a12ec4 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -33,6 +33,7 @@ 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; /** Map where we store filenames */ std::map FILENAMES; @@ -46,7 +47,7 @@ void PATH_INFO::init_base_path( std::string path ) } } - FILENAMES["base_path"] = path; + base_path_value = path; } void PATH_INFO::init_user_dir( const char *ud ) @@ -121,13 +122,13 @@ void update_config_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) - datadir_value = FILENAMES["base_path"] + "share/cataclysm-dda/"; + datadir_value = base_path_value + "share/cataclysm-dda/"; gfxdir_value = datadir_value + "gfx/"; #else - datadir_value = FILENAMES["base_path"] + "data/"; - gfxdir_value = FILENAMES["base_path"] + "gfx/"; + datadir_value = base_path_value + "data/"; + gfxdir_value = base_path_value + "gfx/"; #endif } else { datadir_value = "data/"; @@ -235,7 +236,7 @@ std::string PATH_INFO::base_colors() } std::string PATH_INFO::base_path() { - return FILENAMES["base_path"]; + return base_path_value; } std::string PATH_INFO::colors() { From a3226b5e193c7636b9cb3798e836defc70b370d2 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 10 Nov 2019 11:13:51 +0100 Subject: [PATCH 117/175] Extract FILENAMES["savedir"] into a static variable --- src/path_info.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index b513599a12ec4..5a1761af3fc6f 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -34,6 +34,7 @@ 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; /** Map where we store filenames */ std::map FILENAMES; @@ -154,7 +155,7 @@ void PATH_INFO::set_standard_filenames() update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); - update_pathname( "savedir", user_dir_value + "save/" ); + savedir_value = user_dir_value + "save/"; update_pathname( "memorialdir", user_dir_value + "memorial/" ); #if defined(USE_XDG_DIR) @@ -364,7 +365,7 @@ std::string PATH_INFO::safemode() } std::string PATH_INFO::savedir() { - return FILENAMES["savedir"]; + return savedir_value; } std::string PATH_INFO::sokoban() { @@ -466,7 +467,7 @@ void PATH_INFO::set_config_dir( const std::string &config_dir ) void PATH_INFO::set_savedir( const std::string &savedir ) { - update_pathname( "savedir", savedir ); + savedir_value = savedir; } void PATH_INFO::set_memorialdir( const std::string &memorialdir ) From a3f8f35cdd8d9f1248af6d61bfb1255c2b612cce Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 10 Nov 2019 11:14:58 +0100 Subject: [PATCH 118/175] Extract FILENAMES["autopickup"] into a static variable --- src/path_info.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 5a1761af3fc6f..c1ad9949ac93b 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -35,6 +35,7 @@ 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; /** Map where we store filenames */ std::map FILENAMES; @@ -117,7 +118,7 @@ void update_config_dir() { update_pathname( "options", config_dir_value + "options.json" ); update_pathname( "keymap", config_dir_value + "keymap.txt" ); - update_pathname( "autopickup", config_dir_value + "auto_pickup.json" ); + autopickup_value = config_dir_value + "auto_pickup.json"; } void PATH_INFO::set_standard_filenames() @@ -173,7 +174,7 @@ void PATH_INFO::set_standard_filenames() #endif update_pathname( "options", config_dir_value + "options.json" ); update_pathname( "keymap", config_dir_value + "keymap.txt" ); - update_pathname( "autopickup", config_dir_value + "auto_pickup.json" ); + autopickup_value = config_dir_value + "auto_pickup.json"; } std::string find_translated_file( const std::string &path, const std::string &extension, @@ -229,7 +230,7 @@ std::string find_translated_file( const std::string &path, const std::string &ex } std::string PATH_INFO::autopickup() { - return FILENAMES["autopickup"]; + return autopickup_value; } std::string PATH_INFO::base_colors() { @@ -487,7 +488,7 @@ void PATH_INFO::set_keymap( const std::string &keymap ) void PATH_INFO::set_autopickup( const std::string &autopickup ) { - update_pathname( "autopickup", autopickup ); + autopickup_value = autopickup; } void PATH_INFO::set_motd( const std::string &motd ) From 563beeaf24cfe4cf5dd5abb7e6d467ce3cb40c1a Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 10 Nov 2019 11:15:52 +0100 Subject: [PATCH 119/175] Extract FILENAMES["keymap"] into a static variable --- src/path_info.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index c1ad9949ac93b..4c2c1ff5de9c2 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -36,6 +36,7 @@ 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; /** Map where we store filenames */ std::map FILENAMES; @@ -117,7 +118,7 @@ void update_datadir() void update_config_dir() { update_pathname( "options", config_dir_value + "options.json" ); - update_pathname( "keymap", config_dir_value + "keymap.txt" ); + keymap_value = config_dir_value + "keymap.txt"; autopickup_value = config_dir_value + "auto_pickup.json"; } @@ -173,7 +174,7 @@ void PATH_INFO::set_standard_filenames() config_dir_value = user_dir_value + "config/"; #endif update_pathname( "options", config_dir_value + "options.json" ); - update_pathname( "keymap", config_dir_value + "keymap.txt" ); + keymap_value = config_dir_value + "keymap.txt"; autopickup_value = config_dir_value + "auto_pickup.json"; } @@ -306,7 +307,7 @@ std::string PATH_INFO::keybindings_vehicle() } std::string PATH_INFO::keymap() { - return FILENAMES["keymap"]; + return keymap_value; } std::string PATH_INFO::lastworld() { @@ -483,7 +484,7 @@ void PATH_INFO::set_options( const std::string &options ) void PATH_INFO::set_keymap( const std::string &keymap ) { - update_pathname( "keymap", keymap ); + keymap_value = keymap; } void PATH_INFO::set_autopickup( const std::string &autopickup ) From 8c41afa951ac86ca910dbeac3e5d8c8a06b80aed Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 10 Nov 2019 11:16:37 +0100 Subject: [PATCH 120/175] Extract FILENAMES["options"] into a static variable --- src/path_info.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 4c2c1ff5de9c2..724422ffcf188 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -37,6 +37,7 @@ 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; /** Map where we store filenames */ std::map FILENAMES; @@ -117,7 +118,7 @@ void update_datadir() void update_config_dir() { - update_pathname( "options", config_dir_value + "options.json" ); + options_value = config_dir_value + "options.json"; keymap_value = config_dir_value + "keymap.txt"; autopickup_value = config_dir_value + "auto_pickup.json"; } @@ -173,7 +174,7 @@ void PATH_INFO::set_standard_filenames() #else config_dir_value = user_dir_value + "config/"; #endif - update_pathname( "options", config_dir_value + "options.json" ); + options_value = config_dir_value + "options.json"; keymap_value = config_dir_value + "keymap.txt"; autopickup_value = config_dir_value + "auto_pickup.json"; } @@ -355,7 +356,7 @@ std::string PATH_INFO::moddir() } std::string PATH_INFO::options() { - return FILENAMES["options"]; + return options_value; } std::string PATH_INFO::panel_options() { @@ -479,7 +480,7 @@ void PATH_INFO::set_memorialdir( const std::string &memorialdir ) void PATH_INFO::set_options( const std::string &options ) { - update_pathname( "options", options ); + options_value = options; } void PATH_INFO::set_keymap( const std::string &keymap ) From 80ef17530501182ae12f290d17d21100b3041e3b Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 10 Nov 2019 11:17:21 +0100 Subject: [PATCH 121/175] Extract FILENAMES["memorialdir"] into a static variable --- src/path_info.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 724422ffcf188..ee65b06db55d6 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -38,6 +38,7 @@ 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; /** Map where we store filenames */ std::map FILENAMES; @@ -159,7 +160,7 @@ void PATH_INFO::set_standard_filenames() update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); savedir_value = user_dir_value + "save/"; - update_pathname( "memorialdir", user_dir_value + "memorial/" ); + memorialdir_value = user_dir_value + "memorial/"; #if defined(USE_XDG_DIR) const char *user_dir; @@ -344,7 +345,7 @@ std::string PATH_INFO::legacy_worldoptions() } std::string PATH_INFO::memorialdir() { - return FILENAMES["memorialdir"]; + return memorialdir_value; } std::string PATH_INFO::jsondir() { @@ -475,7 +476,7 @@ void PATH_INFO::set_savedir( const std::string &savedir ) void PATH_INFO::set_memorialdir( const std::string &memorialdir ) { - update_pathname( "memorialdir", memorialdir ); + memorialdir_value = memorialdir; } void PATH_INFO::set_options( const std::string &options ) From 408ceb6af8230417931a083f5ccf0339560110e8 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 18:54:36 +0100 Subject: [PATCH 122/175] Second inlining of values of FILENAMES. --- src/path_info.cpp | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index ee65b06db55d6..fcf87b17ea66f 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -98,16 +98,10 @@ void update_datadir() { // Shared dirs gfxdir_value = datadir_value + "gfx/"; - update_pathname( "fontdir", datadir_value + "font/" ); - update_pathname( "rawdir", datadir_value + "raw/" ); - update_pathname( "jsondir", datadir_value + "core/" ); - update_pathname( "moddir", datadir_value + "mods/" ); update_pathname( "namesdir", datadir_value + "names/" ); update_pathname( "titledir", datadir_value + "title/" ); update_pathname( "motddir", datadir_value + "motd/" ); update_pathname( "creditsdir", datadir_value + "credits/" ); - update_pathname( "data_sound", datadir_value + "sound" ); - update_pathname( "helpdir", datadir_value + "help/" ); // Shared files update_pathname( "title", FILENAMES["titledir"] + "en.title" ); @@ -141,16 +135,10 @@ void PATH_INFO::set_standard_filenames() } // Shared dirs - update_pathname( "fontdir", datadir_value + "font/" ); - update_pathname( "rawdir", datadir_value + "raw/" ); - update_pathname( "jsondir", datadir_value + "core/" ); - update_pathname( "moddir", datadir_value + "mods/" ); update_pathname( "namesdir", datadir_value + "names/" ); update_pathname( "titledir", datadir_value + "title/" ); update_pathname( "motddir", datadir_value + "motd/" ); update_pathname( "creditsdir", datadir_value + "credits/" ); - update_pathname( "data_sound", datadir_value + "sound" ); - update_pathname( "helpdir", datadir_value + "help/" ); // Shared files update_pathname( "title", FILENAMES["titledir"] + "en.title" ); @@ -245,11 +233,11 @@ std::string PATH_INFO::base_path() } std::string PATH_INFO::colors() { - return FILENAMES["rawdir"] + "colors.json"; + return datadir_value + "raw/" + "colors.json"; } std::string PATH_INFO::color_templates() { - return FILENAMES["rawdir"] + "color_templates/"; + return datadir_value + "raw/" + "color_templates/"; } std::string PATH_INFO::config_dir() { @@ -285,7 +273,7 @@ std::string PATH_INFO::fontdata() } std::string PATH_INFO::fontdir() { - return FILENAMES["fontdir"]; + return datadir_value + "font/"; } std::string PATH_INFO::fontlist() { @@ -297,15 +285,15 @@ std::string PATH_INFO::graveyarddir() } std::string PATH_INFO::help() { - return FILENAMES["helpdir"] + "texts.json"; + return datadir_value + "help/" + "texts.json"; } std::string PATH_INFO::keybindings() { - return FILENAMES["rawdir"] + "keybindings.json"; + return datadir_value + "raw/" + "keybindings.json"; } std::string PATH_INFO::keybindings_vehicle() { - return FILENAMES["rawdir"] + "keybindings/vehicle.json"; + return datadir_value + "raw/" + "keybindings/vehicle.json"; } std::string PATH_INFO::keymap() { @@ -349,11 +337,11 @@ std::string PATH_INFO::memorialdir() } std::string PATH_INFO::jsondir() { - return FILENAMES["jsondir"]; + return datadir_value + "core/"; } std::string PATH_INFO::moddir() { - return FILENAMES["moddir"]; + return datadir_value + "mods/"; } std::string PATH_INFO::options() { @@ -373,7 +361,7 @@ std::string PATH_INFO::savedir() } std::string PATH_INFO::sokoban() { - return FILENAMES["rawdir"] + "sokoban.txt"; + return datadir_value + "raw/" + "sokoban.txt"; } std::string PATH_INFO::templatedir() { @@ -413,11 +401,11 @@ std::string PATH_INFO::tileset_conf() } std::string PATH_INFO::mods_replacements() { - return FILENAMES["moddir"] + "replacements.json"; + return datadir_value + "mods/" + "replacements.json"; } std::string PATH_INFO::mods_dev_default() { - return FILENAMES["moddir"] + "default.json"; + return datadir_value + "mods/" + "default.json"; } std::string PATH_INFO::mods_user_default() { @@ -433,7 +421,7 @@ std::string PATH_INFO::gfxdir() } std::string PATH_INFO::data_sound() { - return FILENAMES["data_sound"]; + return datadir_value + "sound"; } std::string PATH_INFO::credits() From 85ba013db58aaf1a121bc8f5e2c1f8f60423adfe Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:22:54 +0100 Subject: [PATCH 123/175] Third inlining of values of FILENAMES. --- src/path_info.cpp | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index fcf87b17ea66f..b5c926d89905a 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -98,17 +98,9 @@ void update_datadir() { // Shared dirs gfxdir_value = datadir_value + "gfx/"; - update_pathname( "namesdir", datadir_value + "names/" ); - update_pathname( "titledir", datadir_value + "title/" ); - update_pathname( "motddir", datadir_value + "motd/" ); - update_pathname( "creditsdir", datadir_value + "credits/" ); // Shared files - update_pathname( "title", FILENAMES["titledir"] + "en.title" ); - update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); motd_value = datadir_value + "motd/" + "en.motd"; - update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); - update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); } void update_config_dir() @@ -135,17 +127,9 @@ void PATH_INFO::set_standard_filenames() } // Shared dirs - update_pathname( "namesdir", datadir_value + "names/" ); - update_pathname( "titledir", datadir_value + "title/" ); - update_pathname( "motddir", datadir_value + "motd/" ); - update_pathname( "creditsdir", datadir_value + "credits/" ); // Shared files - update_pathname( "title", FILENAMES["titledir"] + "en.title" ); - update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); motd_value = datadir_value + "motd/" + "en.motd"; - update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); - update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); savedir_value = user_dir_value + "save/"; memorialdir_value = user_dir_value + "memorial/"; @@ -426,23 +410,26 @@ std::string PATH_INFO::data_sound() std::string PATH_INFO::credits() { - return find_translated_file( FILENAMES["creditsdir"], ".credits", FILENAMES["credits"] ); + return find_translated_file( datadir_value + "credits/", ".credits", + datadir_value + "credits/" + "en.credits" ); } std::string PATH_INFO::motd() { - return find_translated_file( FILENAMES["motddir"], ".motd", motd_value ); + return find_translated_file( datadir_value + "motd/", ".motd", motd_value ); } std::string PATH_INFO::title( const bool halloween_theme ) { - return find_translated_file( FILENAMES["titledir"], halloween_theme ? ".halloween" : ".title", - halloween_theme ? FILENAMES["halloween"] : FILENAMES["title"] ); + 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( FILENAMES["namesdir"], ".json", FILENAMES["names"] ); + return find_translated_file( datadir_value + "names/", ".json", + datadir_value + "names/" + "en.json" ); } void PATH_INFO::set_datadir( const std::string &datadir ) From 50a2aa1dec11cadc34531e57cff3265f49ce0686 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:39:41 +0100 Subject: [PATCH 124/175] Remove the FILENAMES map. It's not used by anything anymore. --- src/path_info.cpp | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index b5c926d89905a..0c6b0243db702 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -26,7 +26,6 @@ static std::string find_translated_file( const std::string &path, const std::str static void update_datadir(); static void update_config_dir(); -static void update_pathname( const std::string &name, const std::string &path ); static std::string motd_value; static std::string gfxdir_value; @@ -40,9 +39,6 @@ static std::string keymap_value; static std::string options_value; static std::string memorialdir_value; -/** Map where we store filenames */ -std::map FILENAMES; - void PATH_INFO::init_base_path( std::string path ) { if( !path.empty() ) { @@ -84,16 +80,6 @@ void PATH_INFO::init_user_dir( const char *ud ) user_dir_value = dir; } -void 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 update_datadir() { // Shared dirs From 6d23012f26fcb0d926b99578d4268af75967227e Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:40:24 +0100 Subject: [PATCH 125/175] Inline code of update_datadir It is only called from one place anyway. --- src/path_info.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 0c6b0243db702..f9ecec6a80b35 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -24,7 +24,6 @@ static std::string find_translated_file( const std::string &path, const std::string &extension, const std::string &fallback ); -static void update_datadir(); static void update_config_dir(); static std::string motd_value; @@ -80,15 +79,6 @@ void PATH_INFO::init_user_dir( const char *ud ) user_dir_value = dir; } -void update_datadir() -{ - // Shared dirs - gfxdir_value = datadir_value + "gfx/"; - - // Shared files - motd_value = datadir_value + "motd/" + "en.motd"; -} - void update_config_dir() { options_value = config_dir_value + "options.json"; @@ -421,7 +411,11 @@ std::string PATH_INFO::names() void PATH_INFO::set_datadir( const std::string &datadir ) { datadir_value = datadir; - update_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 ) From 32b6c1687cd293a64e89fe825962fad8b47d4882 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sat, 9 Nov 2019 19:40:51 +0100 Subject: [PATCH 126/175] Inline code of update_config_dir It is only called from one place only. --- src/path_info.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index f9ecec6a80b35..7970988074787 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -24,8 +24,6 @@ static std::string find_translated_file( const std::string &path, const std::string &extension, const std::string &fallback ); -static void update_config_dir(); - static std::string motd_value; static std::string gfxdir_value; static std::string config_dir_value; @@ -79,13 +77,6 @@ void PATH_INFO::init_user_dir( const char *ud ) user_dir_value = dir; } -void update_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_standard_filenames() { // Special: data_dir and gfx_dir @@ -421,7 +412,9 @@ void PATH_INFO::set_datadir( const std::string &datadir ) void PATH_INFO::set_config_dir( const std::string &config_dir ) { config_dir_value = config_dir; - update_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 ) From 6a6bdc1a99afa16faa569f04ed4f02d425db9bc0 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 10 Nov 2019 10:47:37 +0100 Subject: [PATCH 127/175] Change PATH_INFO::init_user_dir to take a std::string, instead of a C-String Also: make it non-optional: there is only one place where it was called without arguments, and that code can easily call it with an empty string explicitly. --- src/main.cpp | 4 ++-- src/path_info.cpp | 4 +--- src/path_info.h | 2 +- tests/test_main.cpp | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4abc3eacbe45f..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 diff --git a/src/path_info.cpp b/src/path_info.cpp index 7970988074787..4dee7da15eea8 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -48,10 +48,8 @@ void PATH_INFO::init_base_path( std::string 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) diff --git a/src/path_info.h b/src/path_info.h index 1f67519694b90..9b054146612ea 100644 --- a/src/path_info.h +++ b/src/path_info.h @@ -7,7 +7,7 @@ namespace PATH_INFO { void init_base_path( std::string path ); -void init_user_dir( const char *ud = "" ); +void init_user_dir( std::string dir ); void set_standard_filenames(); std::string autopickup(); diff --git a/tests/test_main.cpp b/tests/test_main.cpp index 8fea8e5dffd0a..9d71d809799cc 100644 --- a/tests/test_main.cpp +++ b/tests/test_main.cpp @@ -100,7 +100,7 @@ static void init_global_game_state( const std::vector &mods, } 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( PATH_INFO::config_dir() ) ) { From 42735ad643b187d551f2a46f5068e3f89cc1b56d Mon Sep 17 00:00:00 2001 From: BevapDin Date: Sun, 17 Nov 2019 21:50:01 +0100 Subject: [PATCH 128/175] Rename parameter and remove unnecessary local variable --- src/path_info.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 4dee7da15eea8..6f216dd9c394a 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -117,11 +117,9 @@ void PATH_INFO::set_standard_filenames() autopickup_value = config_dir_value + "auto_pickup.json"; } -std::string find_translated_file( const std::string &path, const std::string &extension, +std::string find_translated_file( const std::string &base_path, const std::string &extension, const std::string &fallback ) { - const std::string base_path = path; - #if defined(LOCALIZE) && !defined(__CYGWIN__) std::string loc_name; if( get_option( "USE_LANG" ).empty() ) { From c0bea81e7d767ab30a7d8fd1803c2c48f69cd390 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sun, 17 Nov 2019 21:07:02 -0500 Subject: [PATCH 129/175] Clarify skill upgrade amount at character creation On the character creation screen, when upgrading skills, it is not obvious that you get the first two levels for a single point. Expand the help string to clarify how many levels of upgrade are obtained. --- src/newcharacter.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/newcharacter.cpp b/src/newcharacter.cpp index 4bd2167633845..364a41ac1425e 100644 --- a/src/newcharacter.cpp +++ b/src/newcharacter.cpp @@ -1615,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 From af2f244b7e164e1f46d9752e2ddab57b0750b118 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sun, 17 Nov 2019 21:20:44 -0500 Subject: [PATCH 130/175] Sort vehicle spawn list (from debug menu) The list of vehicles in the debug menu spawn vehicle list was in an arbitrary order, making it difficult to see what was going on. Searching was available, but browsing was difficult. Instead, sort them by translated name (using naive string sorting). --- src/debug_menu.cpp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/debug_menu.cpp b/src/debug_menu.cpp index b426d1bd97579..24e9d0005e45c 100644 --- a/src/debug_menu.cpp +++ b/src/debug_menu.cpp @@ -1146,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 ) { From 387ffd5c524041794f47aa161c696694cbf41885 Mon Sep 17 00:00:00 2001 From: TJKing293 Date: Sun, 17 Nov 2019 21:42:12 -0500 Subject: [PATCH 131/175] commit 1 --- data/json/items/armor/bandolier.json | 99 ++++++++++++++++++++++++++-- data/json/recipes/armor/storage.json | 13 ++++ 2 files changed, 106 insertions(+), 6 deletions(-) diff --git a/data/json/items/armor/bandolier.json b/data/json/items/armor/bandolier.json index 8fa00fcedc2ae..f935c887fcd3e 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/recipes/armor/storage.json b/data/json/recipes/armor/storage.json index d2ef4e593780d..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", From 5aaf71147b377038e87b4c64991c2c4ab48f4184 Mon Sep 17 00:00:00 2001 From: Lil Shining Man <56778776+LilShiningMan@users.noreply.github.com> Date: Sun, 17 Nov 2019 19:42:54 -0800 Subject: [PATCH 132/175] Add Salty Snacks List --- data/json/itemgroups/food.json | 19 +++++++ data/json/itemgroups/item_groups.json | 81 ++++----------------------- data/json/itemgroups/locations.json | 35 ++---------- 3 files changed, 34 insertions(+), 101 deletions(-) diff --git a/data/json/itemgroups/food.json b/data/json/itemgroups/food.json index d96883d6e11dc..65c6a64fae8dc 100644 --- a/data/json/itemgroups/food.json +++ b/data/json/itemgroups/food.json @@ -180,5 +180,24 @@ [ "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/item_groups.json b/data/json/itemgroups/item_groups.json index 31aac85f5b24f..741e858df2c12 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -387,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 ], @@ -400,7 +399,6 @@ [ "clock", 10 ], [ "hat_chef", 2 ], [ "jacket_chef", 2 ], - [ "kernels", 35 ], [ "pot", 25 ], [ "sponge", 30 ], [ "pot_copper", 15 ], @@ -442,9 +440,7 @@ [ "wine_noir", 2 ], [ "wine_marsala", 2 ], [ "wine_vermouth", 9 ], - [ "syrup", 20 ], [ "sweet_sausage", 2 ], - [ "coffee_syrup", 10 ], [ "roasted_coffee_bean", 10 ], [ "bacon", 25 ], { "item": "bleach", "prob": 20, "charges-min": 1 }, @@ -455,7 +451,6 @@ [ "milk_powder", 15 ], [ "cornmeal", 40 ], [ "powder_eggs", 20 ], - [ "granola", 5 ], { "item": "protein_powder", "prob": 12, @@ -470,7 +465,6 @@ [ "fchicken", 25 ], [ "lunchmeat", 10 ], [ "bologna", 10 ], - [ "nachos", 50 ], [ "nachosc", 10 ], [ "nachosm", 10 ], [ "nachosmc", 2 ], @@ -482,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 ], @@ -497,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 ], @@ -1042,24 +1031,14 @@ "id": "vending_food_items", "items": [ { "group": "candy_chocolate", "prob": 615 }, - [ "chips", 65 ], - [ "fried_seeds", 25 ], - [ "pretzels", 55 ], - [ "chocpretzels", 40 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], - [ "porkstick", 55 ], + { "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 ] + [ "fruit_leather", 25 ] ] }, { @@ -1094,29 +1073,17 @@ "id": "snacks", "items": [ { "group": "candy_chocolate", "prob": 620 }, - [ "chips", 65 ], - [ "fried_seeds", 25 ], - [ "pretzels", 55 ], - [ "chocpretzels", 40 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], + { "group": "salty_snacks", "prob": 595 }, [ "pemmican", 5 ], [ "granola", 10 ], - [ "porkstick", 55 ], [ "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 ] @@ -1270,6 +1237,8 @@ "items": [ { "group": "candy_chocolate", "prob": 530 }, { "group": "softdrinks_canned", "prob": 470 }, + { "group": "snacks", "prob": 560 }, + [ "coffee_raw", 70 ], [ "water_clean", 90 ], [ "water_mineral", 10 ], [ "almond_milk", 30 ], @@ -1292,32 +1261,16 @@ [ "hotdogs_cooked", 35 ], [ "corndogs_frozen", 30 ], [ "blt", 40 ], - [ "pretzels", 55 ], - [ "chocpretzels", 50 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], [ "salted_fish", 15 ], - [ "porkstick", 55 ], - [ "tea_raw", 10 ], [ "pie", 20 ], [ "pie_meat", 20 ], [ "pie_veggy", 20 ], [ "pie_maple", 10 ], - [ "fried_seeds", 15 ], - [ "chips", 65 ], - [ "chips2", 50 ], - [ "chips3", 45 ], - [ "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 ] ] }, @@ -6429,15 +6382,13 @@ [ "water_clean", 90 ], [ "water_mineral", 5 ], { "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 ], @@ -6509,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 ], @@ -7780,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 ], @@ -7896,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 ], @@ -8339,9 +8282,7 @@ "type": "item_group", "items": [ { "group": "candy_chocolate", "prob": 45 }, - [ "fruit_leather", 20 ], - [ "chips", 30 ], - [ "pretzels", 30 ], + { "group": "salty_snacks", "prob": 80 }, [ "peanut_unshelled", 20 ], [ "almond_unshelled", 20 ], [ "cereal", 25 ], diff --git a/data/json/itemgroups/locations.json b/data/json/itemgroups/locations.json index d328f31aedc4b..9a4b69c85f7a8 100644 --- a/data/json/itemgroups/locations.json +++ b/data/json/itemgroups/locations.json @@ -683,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 ] ] }, { @@ -1071,6 +1069,7 @@ "items": [ { "group": "ammo_pocket_batteries", "prob": 30 }, { "group": "candy_chocolate", "prob": 570 }, + { "group": "snacks", "prob": 820 }, [ "radio", 10 ], [ "eyedrops", 10 ], [ "rag", 30 ], @@ -1080,33 +1079,7 @@ [ "cell_phone", 10 ], [ "file", 40 ], [ "mag_mechanics", 20 ], - [ "manual_mechanics", 10 ], - [ "chips", 65 ], - [ "fried_seeds", 25 ], - [ "pretzels", 55 ], - [ "chocpretzels", 40 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], - [ "pemmican", 5 ], - [ "granola", 10 ], - [ "porkstick", 55 ], - [ "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 ] + [ "manual_mechanics", 10 ] ] }, { From 28e0cc0a69d156fd5038205b51bd02708c9a6a6f Mon Sep 17 00:00:00 2001 From: anothersimulacrum Date: Mon, 18 Nov 2019 04:03:26 +0000 Subject: [PATCH 133/175] Fix Bionic Lighter power usage The bionic lighter was taking power from the player, then restoring it when they successful lit something. This moves the code to restore the power to happen if lighting the fire failed. Also, the name for the cbm item was incorrect. --- data/json/items/bionics.json | 2 +- src/bionics.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/items/bionics.json b/data/json/items/bionics.json index e4f59563a754a..7e4307671b778 100644 --- a/data/json/items/bionics.json +++ b/data/json/items/bionics.json @@ -514,7 +514,7 @@ "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, diff --git a/src/bionics.cpp b/src/bionics.cpp index 5edaa15b430b5..954807daac76c 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -531,9 +531,9 @@ bool player::activate_bionic( int b, bool eff_only ) if( pnt && g->m.is_flammable( *pnt ) ) { g->m.add_field( *pnt, fd_fire, 1 ); mod_moves( -100 ); - mod_power_level( bionics[bionic_id( "bio_lighter" )].power_activate ); } else { 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" ) { add_msg_if_player( m_info, _( "Your radiation level: %d" ), radiation ); From dd3d5ccc066d5065f9f5023ad97d68d2f6f48609 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Mon, 18 Nov 2019 02:01:36 -0500 Subject: [PATCH 134/175] Liter literal (#35574) * Introduce user defined literal for liters We already had a _ml literal. Add a _liter literal. Replace all uses of _ml which were a whole number of liters with the new literal. This is the same number of characters, and easier to read (especially for the really big values; we have a few places with hundreds or thousands of liters being mentioned). * Consolidate and expand units unit tests Remove the separate test files with time and energy tests. Consolidate them into one new file units_test.cpp, and add some tests for the other units-related stuff. --- src/artifact.cpp | 34 +++++++------- src/character.cpp | 8 ++-- src/consumption.cpp | 2 +- src/crafting.cpp | 2 +- src/gates.cpp | 2 +- src/iexamine.cpp | 2 +- src/item.cpp | 2 +- src/item_factory.cpp | 6 +-- src/iuse.cpp | 2 +- src/npctrade.cpp | 2 +- src/ranged.cpp | 4 +- src/stomach.cpp | 2 +- src/units.h | 12 +++++ src/vehicle.cpp | 2 +- tests/energy_units_test.cpp | 34 -------------- tests/time_duration_test.cpp | 36 --------------- tests/units_test.cpp | 87 ++++++++++++++++++++++++++++++++++++ 17 files changed, 134 insertions(+), 105 deletions(-) delete mode 100644 tests/energy_units_test.cpp delete mode 100644 tests/time_duration_test.cpp create mode 100644 tests/units_test.cpp diff --git a/src/artifact.cpp b/src/artifact.cpp index 32f37668474ac..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}} }, } diff --git a/src/character.cpp b/src/character.cpp index ab6a41fd2d63e..c81f8fc2e7f0f 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -2040,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; @@ -4376,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; diff --git a/src/consumption.cpp b/src/consumption.cpp index 931c598b0f612..1d2bb0a9ad500 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -72,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 = { diff --git a/src/crafting.cpp b/src/crafting.cpp index 0ee97d04e6dcc..59c7b925d6bdd 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -205,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; } 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/iexamine.cpp b/src/iexamine.cpp index c8fecf5d95ec2..72bfc433f2fe8 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -5405,7 +5405,7 @@ void iexamine::smoker_options( player &p, const tripoint &examp ) _( "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 { diff --git a/src/item.cpp b/src/item.cpp index 1e9e8ae683f52..fd882bfeef709 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -3738,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 " ); diff --git a/src/item_factory.cpp b/src/item_factory.cpp index 4fbe314056447..acbf1ce49dad7 100644 --- a/src/item_factory.cpp +++ b/src/item_factory.cpp @@ -209,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 diff --git a/src/iuse.cpp b/src/iuse.cpp index 42e410dc8e5a4..64b9468476a75 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -9378,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 }; } diff --git a/src/npctrade.cpp b/src/npctrade.cpp index bc8673648d76f..cbc641fce9e70 100644 --- a/src/npctrade.cpp +++ b/src/npctrade.cpp @@ -419,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; } diff --git a/src/ranged.cpp b/src/ranged.cpp index 0a642b7b781e1..bed4d7d4198a2 100644 --- a/src/ranged.cpp +++ b/src/ranged.cpp @@ -505,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 ); @@ -604,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() && diff --git a/src/stomach.cpp b/src/stomach.cpp index 063945766647c..6748490470511 100644 --- a/src/stomach.cpp +++ b/src/stomach.cpp @@ -228,7 +228,7 @@ time_duration stomach_contents::time_since_ate() const void Character::initialize_stomach_contents() { stomach = stomach_contents( 2500_ml, true ); - guts = stomach_contents( 24000_ml, false ); + guts = stomach_contents( 24_liter, false ); guts.mod_calories( 300 ); stomach.mod_calories( 800 ); stomach.mod_contents( 475_ml ); diff --git a/src/units.h b/src/units.h index 639c6952b44a3..68e30a0a723b6 100644 --- a/src/units.h +++ b/src/units.h @@ -517,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/vehicle.cpp b/src/vehicle.cpp index 9dc14e9753718..9446d2a1ce862 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -204,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; } 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/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 ); +} From 4ca4ae670cb1ec7a6f8de8fc037fba5858e37063 Mon Sep 17 00:00:00 2001 From: FuelType-Memes <42695732+FuelType-Memes@users.noreply.github.com> Date: Mon, 18 Nov 2019 10:05:25 +0300 Subject: [PATCH 135/175] Fix spells sometimes missing despite successful cast (#35568) * Fix spells sometimes missing despite successful cast missed_by was not initialized, leading to instances where sometimes spells would miss * missed_by is double, avoid typecast --- src/magic_spell_effect.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/magic_spell_effect.cpp b/src/magic_spell_effect.cpp index eb8ab59947c91..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 ); } From 11de18eb8ef2a05540a3163508570c6906db93e4 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Mon, 18 Nov 2019 08:06:42 +0100 Subject: [PATCH 136/175] Fix gravel terrain. (#35567) * Fix gravel terrain. * Change ter_set to t_null and str_min in gravel --- data/json/furniture_and_terrain/terrain-railroads.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/json/furniture_and_terrain/terrain-railroads.json b/data/json/furniture_and_terrain/terrain-railroads.json index 0971b8946bf81..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" ] From f69236d1d2df886b8b4edd18a9145672c86dd54f Mon Sep 17 00:00:00 2001 From: DaviBones Date: Mon, 18 Nov 2019 02:07:21 -0500 Subject: [PATCH 137/175] Fix a few exploits allowing safe consumption of mutant meat (#35573) * Change cooked meat's copy-from value Cooked meat had "copy-from": "meat" which meant that it had by extension "cooks-like": "meat_cooked" which was causing weird behavior, like an exploit where mutant meat did not have negative effects if dehydrated before cooking. * Remove NUTRIENT_OVERRIDE from Several methods of meat preservation were removing toxins from food. This was because those foods were inheriting NUTRIENT_OVERRIDE, which was unnecessary thanks to the cooks-like property. --- data/json/items/comestibles/carnivore.json | 9 +++++---- data/json/items/comestibles/meat_dishes.json | 3 +++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/data/json/items/comestibles/carnivore.json b/data/json/items/comestibles/carnivore.json index 8357ca4877217..687883c18e86a 100644 --- a/data/json/items/comestibles/carnivore.json +++ b/data/json/items/comestibles/carnivore.json @@ -209,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" ] }, diff --git a/data/json/items/comestibles/meat_dishes.json b/data/json/items/comestibles/meat_dishes.json index aae826d4f9b62..1fa62d681eedf 100644 --- a/data/json/items/comestibles/meat_dishes.json +++ b/data/json/items/comestibles/meat_dishes.json @@ -816,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 }, @@ -966,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 }, { @@ -992,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 }, { From a18304687b6369416b9611cc1cfa21cf6f82dbc4 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Mon, 18 Nov 2019 11:09:35 +0400 Subject: [PATCH 138/175] Gender-specific clothing on corpses, part two (#35558) * Gender-specific clothes * Removed spawning of several copies * Removed spawning several items from one category * Added a separate zombie children loot table * Reduced chance to spawn accessories * Reverted to previous distribution with fixing a bug with incorrect use of "collection"-"definition" --- data/json/itemgroups/clothing.json | 761 +++++++++------------- data/json/itemgroups/mansion.json | 107 ++- data/json/monsterdrops/monster_drops.json | 193 +++++- data/json/monsters/zed_children.json | 4 +- 4 files changed, 584 insertions(+), 481 deletions(-) diff --git a/data/json/itemgroups/clothing.json b/data/json/itemgroups/clothing.json index 8e21b464125c2..ea7c33317b601 100644 --- a/data/json/itemgroups/clothing.json +++ b/data/json/itemgroups/clothing.json @@ -563,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 } ] }, @@ -585,10 +593,6 @@ { "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 } ] }, @@ -1000,7 +1004,16 @@ { "type": "item_group", "id": "female_underwear_top", - "items": [ [ "bra", 70 ], [ "sports_bra", 50 ], [ "bikini_top", 10 ] ] + "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", @@ -1020,7 +1033,8 @@ [ "briefs", 30 ], [ "boxer_briefs", 50 ], [ "long_underpants", 20 ], - [ "under_armor_shorts", 20 ] + [ "under_armor_shorts", 20 ], + [ "trunks", 10 ] ] }, { @@ -2211,72 +2225,52 @@ "items": [ { "distribution": [ - { - "collection": [ - { "item": "tricorne", "prob": 5 }, - { "item": "10gal_hat", "prob": 30 }, - { "item": "tophat", "prob": 10 }, - { "item": "hat_sombrero", "prob": 10 } - ], - "prob": 5 - } - ] + { "item": "tricorne", "prob": 5 }, + { "item": "10gal_hat", "prob": 30 }, + { "item": "tophat", "prob": 10 }, + { "item": "hat_sombrero", "prob": 10 } + ], + "prob": 5 }, { - "distribution": [ - { - "collection": [ { "item": "kippah", "prob": 33 }, { "item": "turban", "prob": 33 }, { "item": "kufi", "prob": 33 } ], - "prob": 10 - } - ] + "distribution": [ { "item": "kippah", "prob": 33 }, { "item": "turban", "prob": 33 }, { "item": "kufi", "prob": 33 } ], + "prob": 10 }, { "distribution": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ - { "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": "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 }, @@ -2331,25 +2325,25 @@ "//": "unisex shirts", "subtype": "distribution", "items": [ - { "item": "longshirt", "prob": 70, "count": [ 1, 4 ] }, + { "item": "longshirt", "prob": 70 }, { "item": "arm_warmers", "prob": 20 }, { "item": "armguard_soft", "prob": 10 }, - { "item": "dress_shirt", "prob": 50, "count": [ 1, 4 ] }, + { "item": "dress_shirt", "prob": 50 }, { "item": "flag_shirt", "prob": 15 }, - { "item": "jersey", "prob": 30, "count": [ 1, 4 ] }, + { "item": "jersey", "prob": 30 }, { "item": "linuxtshirt", "prob": 10 }, - { "item": "polo_shirt", "prob": 30, "count": [ 1, 4 ] }, - { "item": "thermal_shirt", "prob": 20, "count": [ 1, 2 ] }, + { "item": "polo_shirt", "prob": 30 }, + { "item": "thermal_shirt", "prob": 20 }, { "item": "sleeveless_tunic", "prob": 10 }, - { "item": "sweater", "prob": 40, "count": [ 1, 2 ] }, - { "item": "sweatshirt", "prob": 50, "count": [ 1, 2 ] }, - { "item": "tank_top", "prob": 30, "count": [ 1, 4 ] }, - { "item": "tshirt", "prob": 80, "count": [ 1, 4 ] }, - { "item": "tshirt_text", "prob": 50, "count": [ 1, 4 ] }, + { "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, "count": [ 1, 4 ] } + { "item": "hoodie", "prob": 40 } ] }, { @@ -2367,11 +2361,11 @@ "items": [ { "item": "thermal_suit", "prob": 15 }, { "item": "thermal_outfit", "prob": 5 }, - { "item": "long_undertop", "prob": 30, "count": [ 1, 4 ] }, - { "item": "under_armor", "prob": 10, "count": [ 1, 4 ] }, - { "item": "undershirt", "prob": 40, "count": [ 1, 4 ] }, - { "item": "under_armor_shorts", "prob": 10, "count": [ 1, 4 ] }, - { "item": "long_underpants", "prob": 30, "count": [ 1, 4 ] } + { "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 } ] }, { @@ -2380,18 +2374,18 @@ "//": "womens underwear.", "subtype": "distribution", "items": [ - { "item": "bikini_bottom", "prob": 20, "count": [ 1, 2 ] }, - { "item": "boy_shorts", "prob": 30, "count": [ 1, 4 ] }, - { "item": "bra", "prob": 60, "count": [ 1, 4 ] }, - { "item": "panties", "prob": 70, "count": [ 1, 4 ] }, - { "item": "bikini_top", "prob": 20, "count": [ 1, 4 ] }, + { "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, "count": [ 1, 4 ] }, + { "item": "camisole", "prob": 30 }, { "item": "corset", "prob": 10 }, - { "item": "sports_bra", "prob": 50, "count": [ 1, 4 ] }, - { "item": "stockings", "prob": 20, "count": [ 1, 2 ] }, - { "item": "tights", "prob": 20, "count": [ 1, 2 ] } + { "item": "sports_bra", "prob": 50 }, + { "item": "stockings", "prob": 20 }, + { "item": "tights", "prob": 20 } ] }, { @@ -2400,9 +2394,9 @@ "//": "mens underwear.", "subtype": "distribution", "items": [ - { "item": "boxer_briefs", "prob": 30, "count": [ 1, 4 ] }, - { "item": "boxer_shorts", "prob": 50, "count": [ 1, 4 ] }, - { "item": "briefs", "prob": 50, "count": [ 1, 4 ] }, + { "item": "boxer_briefs", "prob": 30 }, + { "item": "boxer_shorts", "prob": 50 }, + { "item": "briefs", "prob": 50 }, { "item": "trunks", "prob": 10 } ] }, @@ -2414,44 +2408,36 @@ "items": [ { "distribution": [ - { - "collection": [ - { "item": "hot_pants", "prob": 40 }, - { "item": "hot_pants_fur", "prob": 5 }, - { "item": "hot_pants_leather", "prob": 35 } - ], - "prob": 10 - } - ] + { "item": "hot_pants", "prob": 40 }, + { "item": "hot_pants_fur", "prob": 5 }, + { "item": "hot_pants_leather", "prob": 35 } + ], + "prob": 10 }, { "distribution": [ - { - "collection": [ - { "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": "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, "count": [ 1, 4 ] }, + { "item": "jeans", "prob": 80 }, { "item": "jeans_red", "prob": 20 }, - { "item": "leg_warmers", "prob": 20, "count": [ 1, 4 ] }, + { "item": "leg_warmers", "prob": 20 }, { "item": "leggings", "prob": 30 }, { "item": "legguard_hard", "prob": 3 }, - { "item": "pants", "prob": 70, "count": [ 1, 4 ] }, - { "item": "pants_cargo", "prob": 60, "count": [ 1, 4 ] }, - { "item": "pants_leather", "prob": 20, "count": [ 1, 2 ] }, - { "item": "shorts", "prob": 50, "count": [ 1, 2 ] }, - { "item": "shorts_cargo", "prob": 60, "count": [ 1, 2 ] }, - { "item": "shorts_denim", "prob": 40, "count": [ 1, 2 ] }, - { "item": "b_shorts", "prob": 60, "count": [ 1, 2 ] } + { "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 } ] }, { @@ -2459,11 +2445,7 @@ "type": "item_group", "//": "womens pants and leg coverings for domestic locations.", "subtype": "distribution", - "items": [ - { "item": "nanoskirt", "prob": 10 }, - { "item": "skirt", "prob": 50, "count": [ 1, 3 ] }, - { "item": "skirt_leather", "prob": 10 } - ] + "items": [ { "item": "nanoskirt", "prob": 10 }, { "item": "skirt", "prob": 50 }, { "item": "skirt_leather", "prob": 10 } ] }, { "id": "pants_mens", @@ -2506,73 +2488,53 @@ "items": [ { "distribution": [ - { - "collection": [ - { "item": "basket_laundry", "prob": 60 }, - { "item": "straw_basket", "prob": 35 }, - { "item": "suitcase_l", "prob": 15 }, - { "item": "suitcase_m", "prob": 25 } - ], - "prob": 20 - } - ] + { "item": "basket_laundry", "prob": 60 }, + { "item": "straw_basket", "prob": 35 }, + { "item": "suitcase_l", "prob": 15 }, + { "item": "suitcase_m", "prob": 25 } + ], + "prob": 20 }, { - "distribution": [ - { - "collection": [ { "item": "2lcanteen", "prob": 50 }, { "item": "camelbak", "prob": 25 }, { "item": "canteen", "prob": 70 } ], - "prob": 5 - } - ] + "distribution": [ { "item": "2lcanteen", "prob": 50 }, { "item": "camelbak", "prob": 25 }, { "item": "canteen", "prob": 70 } ], + "prob": 5 }, { "distribution": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ - { "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 - } - ] + { "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 } ] }, @@ -2612,9 +2574,9 @@ "subtype": "distribution", "items": [ { "item": "dress_wedding", "prob": 5 }, - { "item": "sundress", "prob": 60, "count": [ 1, 4 ] }, - { "item": "gown", "prob": 20, "count": [ 1, 2 ] }, - { "item": "dress", "prob": 60, "count": [ 1, 4 ] }, + { "item": "sundress", "prob": 60 }, + { "item": "gown", "prob": 20 }, + { "item": "dress", "prob": 60 }, { "item": "veil_wedding", "prob": 5 } ] }, @@ -2626,101 +2588,77 @@ "items": [ { "distribution": [ - { - "collection": [ - { "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 - } - ] + { "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 }, { - "collection": [ - { - "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": "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": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ { "item": "house_coat", "prob": 80 }, { "item": "kimono", "prob": 20 }, { "item": "robe", "prob": 10 } ], - "prob": 30 - } - ] + { "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": [ - { - "collection": [ - { "item": "vest", "prob": 80 }, - { "item": "vest_leather", "prob": 20 }, - { "item": "army_top", "prob": 40 }, - { "item": "blazer", "prob": 70 } - ], - "prob": 40 - } - ] + { "item": "vest", "prob": 80 }, + { "item": "vest_leather", "prob": 20 }, + { "item": "army_top", "prob": 40 }, + { "item": "blazer", "prob": 70 } + ], + "prob": 40 } ] }, @@ -2732,76 +2670,56 @@ "items": [ { "distribution": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ - { "item": "bastsandals", "prob": 20 }, - { "item": "straw_sandals", "prob": 20 }, - { "item": "flip_flops", "prob": 40 }, - { "item": "leathersandals", "prob": 35 } - ], - "prob": 60 - } - ] + { "item": "bastsandals", "prob": 20 }, + { "item": "straw_sandals", "prob": 20 }, + { "item": "flip_flops", "prob": 40 }, + { "item": "leathersandals", "prob": 35 } + ], + "prob": 60 }, { "distribution": [ - { - "collection": [ - { "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 - } - ] + { "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": [ - { - "collection": [ - { "item": "dress_shoes", "prob": 50 }, - { "item": "lowtops", "prob": 30 }, - { "item": "mocassins", "prob": 10 }, - { "item": "sneakers", "prob": 35 } - ], - "prob": 70 - } - ] + { "item": "dress_shoes", "prob": 50 }, + { "item": "lowtops", "prob": 30 }, + { "item": "mocassins", "prob": 10 }, + { "item": "sneakers", "prob": 35 } + ], + "prob": 70 }, { "distribution": [ - { - "collection": [ - { "item": "boots_rubber", "prob": 50 }, - { "item": "clogs", "prob": 20 }, - { "item": "geta", "prob": 10 }, - { "item": "slippers", "prob": 75 } - ], - "prob": 70 - } - ] + { "item": "boots_rubber", "prob": 50 }, + { "item": "clogs", "prob": 20 }, + { "item": "geta", "prob": 10 }, + { "item": "slippers", "prob": 75 } + ], + "prob": 70 } ] }, @@ -2816,143 +2734,110 @@ "id": "accesories_personal_unisex", "type": "item_group", "//": "unisex personal accessories", - "subtype": "distribution", + "subtype": "collection", "items": [ { "group": "clothing_glasses", "prob": 10 }, { "group": "clothing_watch", "prob": 10 }, { "distribution": [ - { - "collection": [ - { "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": 60 - } - ] + { "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": [ - { - "collection": [ - { "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 } - ], - "prob": 60 - } + { "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": [ - { - "collection": [ - { "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": 50 - } - ] + { "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": [ - { - "collection": [ - { "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": 10 - } - ] + { "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": [ - { - "collection": [ - { "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": 50 - } - ] + { "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": [ - { - "collection": [ - { "item": "faux_fur_cat_ears", "prob": 80, "count": [ 1, 2 ] }, - { "item": "leather_cat_ears", "prob": 50, "count": [ 1, 2 ] }, - { "item": "fur_cat_ears", "prob": 10, "count": [ 1, 2 ] }, - { "item": "faux_fur_cat_tail", "prob": 80, "count": [ 1, 2 ] }, - { "item": "leather_cat_tail", "prob": 50, "count": [ 1, 2 ] }, - { "item": "fur_cat_tail", "prob": 10, "count": [ 1, 2 ] }, - { "item": "faux_fur_collar", "prob": 80, "count": [ 1, 2 ] }, - { "item": "leather_collar", "prob": 50, "count": [ 1, 2 ] }, - { "item": "fur_collar", "prob": 10, "count": [ 1, 2 ] } - ], - "prob": 10 - } - ] + { "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": [ - { - "collection": [ - { "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": 10 - } - ] + { "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": [ - { - "collection": [ - { "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": 10 - } - ] + { "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 }, diff --git a/data/json/itemgroups/mansion.json b/data/json/itemgroups/mansion.json index f77dffd401b87..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" } ] } 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/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", From a15421ed2be3b49b54ab7b37da5e95f6f35e195b Mon Sep 17 00:00:00 2001 From: Mark Langsdorf Date: Mon, 18 Nov 2019 01:10:57 -0600 Subject: [PATCH 139/175] update_mapgen: rotation fixes to solve the teleporting NPC issue (#35534) * basecamps: preserve rotation data for future upgrades Now that basecamps can be built in places that aren't fields, the basecamp overmap terrain id needs to include rotational data so that update_mapgen will correctly place upgrades on fire stations and evac shelters that are rotated. * map: properly rotate NPCs during update_mapgen Fixes #35430 When a tinymap is rotated during update_mapgen, the NPCs would be moved via spawn_at_precise, which would clip their position to 0-11,0-11, effectively teleporting them to the upper left of the reality bubble. Rework rotate() to include a variable as to whether the rotation is setpos() safe, and use setpos() to relocate NPCs because that doesn't clip the position and teleport the NPCs. --- data/json/mapgen/faction_buildings.json | 2 +- .../overmap_terrain_faction_base.json | 9 ++++++ src/basecamp.cpp | 4 ++- src/map.h | 6 +++- src/mapgen.cpp | 31 +++++++++++++------ 5 files changed, 39 insertions(+), 13 deletions(-) diff --git a/data/json/mapgen/faction_buildings.json b/data/json/mapgen/faction_buildings.json index 86ec86ddec864..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": { 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 ba2a52f1a3e92..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", diff --git a/src/basecamp.cpp b/src/basecamp.cpp index a62e090d03ad1..c237140ace9b6 100644 --- a/src/basecamp.cpp +++ b/src/basecamp.cpp @@ -18,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" @@ -189,7 +190,8 @@ void basecamp::define_camp( const tripoint &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 { diff --git a/src/map.h b/src/map.h index a8788221e19b6..3faea041fbeae 100644 --- a/src/map.h +++ b/src/map.h @@ -1336,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: diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 8063fa3676d3f..3ceae2a25f1b6 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -6684,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. @@ -6704,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) @@ -6714,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; @@ -6725,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 ); @@ -7702,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 ); @@ -7718,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 ) { From d83ada4cb42e71a8eb489de3e7398e1915e0f777 Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Mon, 18 Nov 2019 08:14:35 +0100 Subject: [PATCH 140/175] Safe fuel Mode (#35205) --- data/raw/keybindings.json | 7 +++++ src/bionics.cpp | 40 ++++++++++++++++++++++++-- src/bionics.h | 60 +++++++++++++++++++++------------------ src/bionics_ui.cpp | 28 ++++++++++++++++-- 4 files changed, 103 insertions(+), 32 deletions(-) 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/src/bionics.cpp b/src/bionics.cpp index 954807daac76c..f273797c0bac9 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -869,8 +869,9 @@ bool Character::burn_fuel( int b, bool start ) current_fuel_stock = std::stoi( get_value( fuel ) ); } - if( get_power_level() + units::from_kilojoule( fuel_energy ) * fuel_efficiency > - get_max_power_level() ) { + 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 ); @@ -2282,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(); @@ -2298,6 +2314,18 @@ bool bionic::is_this_fuel_powered( const itype_id &this_fuel ) const 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 { json.start_object(); @@ -2307,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 ); } @@ -2329,6 +2358,13 @@ 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, diff --git a/src/bionics.h b/src/bionics.h index f499e6ad93f9d..0a7b8297f06f0 100644 --- a/src/bionics.h +++ b/src/bionics.h @@ -136,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_this_fuel_powered( const itype_id &this_fuel ) 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 f41d7e49576d7..204120267b5df 100644 --- a/src/bionics_ui.cpp +++ b/src/bionics_ui.cpp @@ -63,7 +63,7 @@ static void draw_bionics_titlebar( const catacurses::window &window, player *p, fuel_stream << _( "Available Fuel: " ); for( const bionic &bio : *p->my_bionics ) { for( const itype_id fuel : p->get_fuel_available( bio.id ) ) { - const item temp_fuel( fuel ) ; + const item temp_fuel( fuel ); if( temp_fuel.has_flag( "PERPETUAL" ) ) { continue; } @@ -99,9 +99,9 @@ static void draw_bionics_titlebar( const catacurses::window &window, player *p, if( mode == REASSIGNING ) { desc = _( "Reassigning.\nSelect a bionic to reassign or press SPACE to cancel." ); } 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 ); @@ -135,6 +135,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 ); } @@ -405,6 +408,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; @@ -520,6 +524,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; @@ -611,6 +616,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" ) { @@ -618,6 +625,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; From f388e84dadf48478c077584074d328404d13f375 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Mon, 18 Nov 2019 08:16:55 +0100 Subject: [PATCH 141/175] Make El.jackhammer charges/recipes consistent (#35456) * Tweak battery charges in jackhammer * Modify charges for recipes using jackhammers --- data/json/construction.json | 6 +++--- data/json/items/tools.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/json/construction.json b/data/json/construction.json index 47e2e8a19b3a1..4b3349750762d 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -2235,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" @@ -2251,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", @@ -2307,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", diff --git a/data/json/items/tools.json b/data/json/items/tools.json index 2b9b3dea6dca0..624004e0e14d3 100644 --- a/data/json/items/tools.json +++ b/data/json/items/tools.json @@ -2076,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" ] }, From 42bcb5a20a19bd5077497ca2ef98f1044dd63403 Mon Sep 17 00:00:00 2001 From: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Date: Mon, 18 Nov 2019 07:17:52 +0000 Subject: [PATCH 142/175] Fix for overlapping farm zones NPC Shuffle (#35518) * fix for overlapping farm zones * extraneous line * stop everything going in reverse --- src/activity_item_handling.cpp | 33 +++++++++++++++------------------ src/clzones.cpp | 8 ++------ 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 2087b21319557..0050ccf20650f 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -1801,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 ) @@ -2468,7 +2453,7 @@ static bool generic_multi_activity_check_requirement( player &p, const activity_ 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 zone_data *zone = mgr.get_zone_at( src, get_zone_for_act( act_id ) ); const bool needs_to_be_in_zone = act_id == activity_id( "ACT_FETCH_REQUIRED" ) || act_id == activity_id( "ACT_MULTIPLE_FARM" ) || @@ -2648,8 +2633,20 @@ static bool generic_multi_activity_do( player &p, const activity_id &act_id, p.activity.placement = src; return false; } else if( reason == NEEDS_PLANTING && g->m.has_flag_ter_or_furn( "PLANTABLE", src_loc ) ) { - if( !plant_activity( p, zone, src_loc ) ) { - return true; + 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 ) ) { diff --git a/src/clzones.cpp b/src/clzones.cpp index 5ab9879e0d6a9..3ccb1ff499ecc 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -668,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; } From a3b0f0f4cf40700593ec9d7fdaaef941d5f5252c Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Mon, 18 Nov 2019 10:03:19 +0100 Subject: [PATCH 143/175] Bionic menu clean up (#35221) --- src/bionics_ui.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/bionics_ui.cpp b/src/bionics_ui.cpp index 204120267b5df..1af0f9a76829c 100644 --- a/src/bionics_ui.cpp +++ b/src/bionics_ui.cpp @@ -59,18 +59,24 @@ 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 ) ) { - const item temp_fuel( 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_stream << temp_fuel.tname() << ": " << "" << p->get_value( - fuel ) << "" << "/" << p->get_total_fuel_capacity( fuel ) << " "; + 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 ); @@ -98,6 +104,7 @@ static void draw_bionics_titlebar( const catacurses::window &window, player *p, 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, s to toggle fuel saving mode." ); } else if( mode == EXAMINING ) { @@ -105,7 +112,7 @@ static void draw_bionics_titlebar( const catacurses::window &window, player *p, } 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 ); } From b6729e5c5adfd5dc867001a87bb312ee9d56c7b8 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Mon, 18 Nov 2019 16:10:11 +0100 Subject: [PATCH 144/175] Change flags for both UPS in Aftershock. --- data/mods/Aftershock/items/afs_tools.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/mods/Aftershock/items/afs_tools.json b/data/mods/Aftershock/items/afs_tools.json index d2fa5ca505824..eb71696c73a95 100644 --- a/data/mods/Aftershock/items/afs_tools.json +++ b/data/mods/Aftershock/items/afs_tools.json @@ -176,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", @@ -188,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", From 2b104cbc0c79c3b6aba052d950d9c8573be97607 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 18 Nov 2019 17:16:59 +0100 Subject: [PATCH 145/175] Fix compiling without localization When compiling without localization a parameter was unused. This commit adds logic to properly void it --- src/path_info.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/path_info.cpp b/src/path_info.cpp index 6f216dd9c394a..7ee9ebe9d5a24 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -162,8 +162,10 @@ std::string find_translated_file( const std::string &base_path, const std::strin } } } -#endif +#else + ( void ) base_path; ( void ) extension; +#endif return fallback; } std::string PATH_INFO::autopickup() From 79251e5e7ab5554f1cb147441abb8a2601155500 Mon Sep 17 00:00:00 2001 From: arijust <54635208+arijust@users.noreply.github.com> Date: Mon, 18 Nov 2019 17:24:43 +0100 Subject: [PATCH 146/175] Edit volume of dive knife. --- data/json/items/tools.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/tools.json b/data/json/items/tools.json index 624004e0e14d3..a5f4a67715128 100644 --- a/data/json/items/tools.json +++ b/data/json/items/tools.json @@ -1789,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" ], From 02d7e903f08bbe31d44e9f1c6a5d764aff3c7964 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Mon, 18 Nov 2019 17:34:03 +0100 Subject: [PATCH 147/175] Only add a repair item once to the list of possible repair items. Some (different) materials use the same repair item (iron and steel each use scrap metal). Repairing an item made of several of those materials would show a menu to the user for choosing which item to use for repairing. That menu had several identical entries (one for repairing iron with scrap metal, and one for repairing steel with scrap metal). That selection is unnecessary as both choices consume the same item. This commit detects that case and prevents the second entry from appearing. --- src/iuse_actor.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/iuse_actor.cpp b/src/iuse_actor.cpp index ece07bcf42265..9941a85ef5451 100644 --- a/src/iuse_actor.cpp +++ b/src/iuse_actor.cpp @@ -2944,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:" ), @@ -2979,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 ); From 308efca504aeaa02d7be8e2335263e648a4306db Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Mon, 18 Nov 2019 17:56:46 +0100 Subject: [PATCH 148/175] Update npc.json (#35585) --- data/json/npcs/npc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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", From 2b9f517de44ca572f47dc1ffef95a86a364b73df Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 18 Nov 2019 23:15:15 +0100 Subject: [PATCH 149/175] Improve item_location (de)serialization handling Write a null item location if we failed to unpack the character pointer to avoid invalid json. Assume g->u was the character if there is no character field on deserialization since all character item locations were on g->u before the character field was introduced. --- src/item_location.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/item_location.cpp b/src/item_location.cpp index e66f9ecb20674..903cd46cdf293 100644 --- a/src/item_location.cpp +++ b/src/item_location.cpp @@ -254,6 +254,10 @@ class item_location::impl::item_on_person : public item_location::impl 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(); @@ -541,7 +545,13 @@ void item_location::deserialize( JsonIn &js ) if( type == "character" ) { character_id who_id; - obj.read( "character", 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" ) { From b303f63fa1acb4bee8781aeb385aeef67e9f9ea0 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Mon, 18 Nov 2019 20:52:41 -0500 Subject: [PATCH 150/175] Clarify vehicle storage message "No vehicle there!" was not necessarily true; just that there was no vehicle *storage* there. --- src/advanced_inv.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/advanced_inv.cpp b/src/advanced_inv.cpp index e0b28a4d8a5bc..5a0bf631e8f2e 100644 --- a/src/advanced_inv.cpp +++ b/src/advanced_inv.cpp @@ -1441,7 +1441,7 @@ void advanced_inventory::display() redraw = true; } } else { - popup( _( "No vehicle there!" ) ); + popup( _( "No vehicle storage space there!" ) ); redraw = true; } } From 7e06daf0b907dc26fd2cdb3d2afcd0a7c58aad2f Mon Sep 17 00:00:00 2001 From: TJKing293 Date: Tue, 19 Nov 2019 13:29:18 -0500 Subject: [PATCH 151/175] Update data/json/items/armor/bandolier.json Co-Authored-By: matskuman5 --- data/json/items/armor/bandolier.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/armor/bandolier.json b/data/json/items/armor/bandolier.json index f935c887fcd3e..0bce8b165f478 100644 --- a/data/json/items/armor/bandolier.json +++ b/data/json/items/armor/bandolier.json @@ -218,7 +218,7 @@ "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.", + "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, From 6e5eaec59b7b1e137563af078dadcabbbc7a19cf Mon Sep 17 00:00:00 2001 From: John Candlebury Date: Tue, 19 Nov 2019 16:49:16 -0600 Subject: [PATCH 152/175] Add loot to cloning room --- data/json/mapgen/microlab/microlab_special_tiles.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 ] } ] } }, From 2b7f9e35c18a420f2bde81138736bdba65a8aa7b Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Tue, 19 Nov 2019 21:17:30 -0500 Subject: [PATCH 153/175] Replace hardcoded maths constants with named ones Two places in the code using 1.41 now use M_SQRT2 instead. One comment using 3.14 now says 'pi'. --- src/avatar_action.cpp | 2 +- src/explosion.cpp | 2 +- src/inventory.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/avatar_action.cpp b/src/avatar_action.cpp index d44f525876cfa..e5ac8df0c0d83 100644 --- a/src/avatar_action.cpp +++ b/src/avatar_action.cpp @@ -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() ) { 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/inventory.cpp b/src/inventory.cpp index a56efa0e15889..b31fef831305f 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -884,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 From bfd6f9c05868838a8813233ff7eb1c95b5ef1e88 Mon Sep 17 00:00:00 2001 From: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Date: Wed, 20 Nov 2019 11:49:36 +0000 Subject: [PATCH 154/175] NPC Construction Fix (#35604) * fix for zone fetching * astyle * Update activity_item_handling.cpp * construction fix 2 - stop ACT_FETCH from needing to be in zone * astyle * typo fix * same typo again --- src/activity_item_handling.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 0050ccf20650f..b2ca7fe5236a6 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -2312,7 +2312,8 @@ static void check_npc_revert( player &p ) } } -static zone_type_id get_zone_for_act( const activity_id &act_id ) +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" ) ) { @@ -2339,6 +2340,12 @@ static zone_type_id get_zone_for_act( const activity_id &act_id ) 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; } @@ -2386,7 +2393,7 @@ static std::unordered_set generic_multi_activity_locations( player &p, } } } - zone_type_id zone_type = get_zone_for_act( act_id ); + 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 @@ -2453,7 +2460,7 @@ static bool generic_multi_activity_check_requirement( player &p, const activity_ 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( act_id ) ); + 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" ) || @@ -2483,7 +2490,8 @@ static bool generic_multi_activity_check_requirement( player &p, const activity_ p.add_msg_if_player( m_info, _( "There is something blocking the location for this task." ) ); } return true; - } else if( reason == NO_COMPONENTS || reason == NEEDS_PLANTING || + } 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 || @@ -2620,7 +2628,7 @@ static bool generic_multi_activity_do( player &p, const activity_id &act_id, 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( act_id ) ); + 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. From 14e05aed8167c19e0191e269756759a545b2cd03 Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Wed, 20 Nov 2019 12:50:40 +0100 Subject: [PATCH 155/175] Npc can handle multipe power gen cbm (#35601) * npc can have multipe power gen cbm * internal furnace is useable by NPCs * Update src/npcmove.cpp Co-Authored-By: anothersimulacrum * remove useless variable --- data/json/obsolete.json | 2 +- src/npcmove.cpp | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/data/json/obsolete.json b/data/json/obsolete.json index c5e79acf48fab..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", diff --git a/src/npcmove.cpp b/src/npcmove.cpp index 318c008188093..f816a89c4c454 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -1645,17 +1645,13 @@ bool npc::wants_to_recharge_cbm() const float allowed_ratio = static_cast( rules.cbm_recharge ) / 100.0f; const units::energy max_pow_allowed = get_max_power_level() * allowed_ratio; - bool no_fueled_cbm = true; - for( const bionic_id bid : get_fueled_bionics() ) { - no_fueled_cbm = false; - if( get_fuel_available( bid ).empty() ) { - return true; - } else if( curr_power < max_pow_allowed && !use_bionic_by_id( bid ) ) { - return true; + if( curr_power < max_pow_allowed ) { + for( const bionic_id &bid : get_fueled_bionics() ) { + if( !has_active_bionic( bid ) ) { + return true; + } } - } - if( no_fueled_cbm ) { - return curr_power < max_pow_allowed; + return get_fueled_bionics().empty(); //NPC might have power CBM that doesn't use the json fuel_opts entry } return false; } @@ -1694,6 +1690,10 @@ bool npc::recharge_cbm() } for( bionic_id &bid : get_fueled_bionics() ) { + if( has_active_bionic( bid ) ) { + continue; + } + if( !get_fuel_available( bid ).empty() ) { use_bionic_by_id( bid ); return true; From 1cbc12e2fef76fb85c137cb190e1c871cb8e8544 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Wed, 20 Nov 2019 17:38:27 +0300 Subject: [PATCH 156/175] Added "force fullscreen" option to Android prelaunch menu --- .../java/com/cleverraven/cataclysmdda/SplashScreen.java | 4 ++-- .../app/src/main/java/org/libsdl/app/SDLActivity.java | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java b/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java index 063ec5d4ed130..40b377b37c1cd 100755 --- a/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java +++ b/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java @@ -28,8 +28,8 @@ public class SplashScreen extends Activity { private static final int INSTALL_DIALOG_ID = 0; private ProgressDialog installDialog; - public CharSequence[] mSettingsNames = { "Software rendering" }; - public boolean[] mSettingsValues = { true }; + public CharSequence[] mSettingsNames = { "Software rendering", "Force fullscreen" }; + public boolean[] mSettingsValues = { true, false}; private String getVersionName() { try { 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 57ddc8a8c58cb..94dfb3250a67c 100644 --- a/android/app/src/main/java/org/libsdl/app/SDLActivity.java +++ b/android/app/src/main/java/org/libsdl/app/SDLActivity.java @@ -21,6 +21,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.os.*; +import android.preference.PreferenceManager; import android.util.DisplayMetrics; import android.util.Log; import android.util.SparseArray; @@ -631,9 +632,11 @@ 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_FULLSCREEN); - window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); - SDLActivity.mFullscreenModeActive = true; + Context appContext = context.getApplicationContext(); + boolean forceFullScreen = PreferenceManager.getDefaultSharedPreferences(appContext).getBoolean("Force fullscreen", false); + window.addFlags(forceFullScreen ? WindowManager.LayoutParams.FLAG_FULLSCREEN : WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); + window.clearFlags(forceFullScreen ? WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN : WindowManager.LayoutParams.FLAG_FULLSCREEN); + SDLActivity.mFullscreenModeActive = forceFullScreen; } } } else { From 6d9eb827edea2dd9810e1424929728d3b16ec6cf Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Wed, 20 Nov 2019 17:39:06 +0300 Subject: [PATCH 157/175] Disable "Software rendering" mode in Android prelaunch menu by default --- .../main/java/com/cleverraven/cataclysmdda/SplashScreen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java b/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java index 40b377b37c1cd..c56dd148b4c2c 100755 --- a/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java +++ b/android/app/src/main/java/com/cleverraven/cataclysmdda/SplashScreen.java @@ -29,7 +29,7 @@ public class SplashScreen extends Activity { private ProgressDialog installDialog; public CharSequence[] mSettingsNames = { "Software rendering", "Force fullscreen" }; - public boolean[] mSettingsValues = { true, false}; + public boolean[] mSettingsValues = { false, false}; private String getVersionName() { try { From 0fccbe1d510cd043306898cd3a0b4ec5a0d5cd5f Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Wed, 20 Nov 2019 18:15:56 +0300 Subject: [PATCH 158/175] Lowered minimum sdk version to 14/26 from 16/28 --- android/app/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index e9ea11a839860..9a279c11e8fac 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -94,7 +94,7 @@ unzipDeps.dependsOn makeLocalization preBuild.dependsOn unzipDeps android { - compileSdkVersion 28 + compileSdkVersion 26 if (override_version.isEmpty()) { println("Generating version number to $version_header_path") @@ -127,8 +127,8 @@ android { } defaultConfig { - minSdkVersion 16 - targetSdkVersion 28 + minSdkVersion 14 + targetSdkVersion 26 versionCode Integer.valueOf(System.env.UPSTREAM_BUILD_NUMBER ?: 1) versionName new File("$version_header_path").text.split('\"')[1] if (buildAsApplication) { From d5361463391ab23fa9eeccb11668e234162660c8 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Mon, 18 Nov 2019 22:08:17 +0100 Subject: [PATCH 159/175] Don't add the weight of animals within items to vehicle weight The weight of the contained animal is already accounted for by `item::weight` of the base item (called near the top of that loop). Adding the content of that variable will just add the weight of the critter twice. --- src/vehicle.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 9446d2a1ce862..fc84beee0eb77 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -6327,11 +6327,6 @@ void vehicle::calc_mass_center( bool use_precalc ) const m_part += p != nullptr ? p->get_weight() : 0_gram; } - if( vp.part().has_flag( vehicle_part::animal_flag ) ) { - std::int64_t animal_mass = vp.part().base.get_var( "weight", 0 ); - m_part += units::from_gram( animal_mass ); - } - if( use_precalc ) { xf += vp.part().precalc[0].x * m_part; yf += vp.part().precalc[0].y * m_part; From 7b946fecb695029c9d8b5eb8bb7e2823129e9cb8 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Mon, 18 Nov 2019 22:11:56 +0100 Subject: [PATCH 160/175] Set item variable "weight" to milligrams, because that is used in `item::weight` when the value of that variable is loaded. --- src/iuse.cpp | 3 ++- src/units.h | 6 ++++++ src/vehicle_use.cpp | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/iuse.cpp b/src/iuse.cpp index 64b9468476a75..b5a0185816673 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -9263,7 +9263,8 @@ int item::contain_monster( const tripoint &target ) new_weight = 200000; break; } - set_var( "weight", new_weight ); + // Above is old code. It uses gram as units for monster weight. + set_var( "weight", to_milligram( units::from_gram( new_weight ) ) ); g->remove_zombie( f ); return 0; } diff --git a/src/units.h b/src/units.h index 68e30a0a723b6..1e9c61e53a91d 100644 --- a/src/units.h +++ b/src/units.h @@ -342,6 +342,12 @@ inline constexpr quantity from_kilogram( return from_gram( v * 1000 ); } +template +inline constexpr value_type to_milligram( const quantity &v ) +{ + return v.value(); +} + template inline constexpr value_type to_gram( const quantity &v ) { diff --git a/src/vehicle_use.cpp b/src/vehicle_use.cpp index c1ded4b8161e8..15ab668f31b88 100644 --- a/src/vehicle_use.cpp +++ b/src/vehicle_use.cpp @@ -814,7 +814,7 @@ bool vehicle::fold_up() } if( can_be_folded ) { - bicycle.set_var( "weight", to_gram( total_mass() ) ); + bicycle.set_var( "weight", to_milligram( total_mass() ) ); bicycle.set_var( "volume", total_folded_volume() / units::legacy_volume_factor ); bicycle.set_var( "name", string_format( _( "folded %s" ), name ) ); bicycle.set_var( "vehicle_name", name ); From 2c5930036ffb5fe90b49e6c1064d4d4d66d805b7 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Mon, 18 Nov 2019 22:14:40 +0100 Subject: [PATCH 161/175] Simplify code to get weight of critter. Just call `monster::get_weight` directly. Ignore the monsters size for that. --- src/iuse.cpp | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/src/iuse.cpp b/src/iuse.cpp index b5a0185816673..6f4682341dbf9 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -9244,27 +9244,7 @@ int item::contain_monster( const tripoint &target ) set_var( "contained_name", f.type->nname() ); set_var( "name", string_format( _( "%s holding %s" ), type->nname( 1 ), f.type->nname() ) ); - m_size mon_size = f.get_size(); - int new_weight = 0; - switch( mon_size ) { - case MS_TINY: - new_weight = 1000; - break; - case MS_SMALL: - new_weight = 40750; - break; - case MS_MEDIUM: - new_weight = 81500; - break; - case MS_LARGE: - new_weight = 120000; - break; - case MS_HUGE: - new_weight = 200000; - break; - } - // Above is old code. It uses gram as units for monster weight. - set_var( "weight", to_milligram( units::from_gram( new_weight ) ) ); + set_var( "weight", to_milligram( f.get_weight() ) ); g->remove_zombie( f ); return 0; } From f17cea40d1ff4268c9d05ea01e94aabd256a9022 Mon Sep 17 00:00:00 2001 From: BevapDin Date: Tue, 19 Nov 2019 20:38:00 +0100 Subject: [PATCH 162/175] Fix weight of animal container with contained animal: `item::weight` takes the weight directly from the variable and does never add the item weight itself. This makes the weight of the item also account for the weight of the container. --- src/iuse.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/iuse.cpp b/src/iuse.cpp index 6f4682341dbf9..05dbbf6c80c2f 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -9244,7 +9244,8 @@ int item::contain_monster( const tripoint &target ) set_var( "contained_name", f.type->nname() ); set_var( "name", string_format( _( "%s holding %s" ), type->nname( 1 ), f.type->nname() ) ); - set_var( "weight", to_milligram( f.get_weight() ) ); + // Need to add the weight of the empty container because item::weight uses the "weight" variable directly. + set_var( "weight", to_milligram( type->weight + f.get_weight() ) ); g->remove_zombie( f ); return 0; } From 533b9b237930e4fb700b92d4555271dbc431ded7 Mon Sep 17 00:00:00 2001 From: Fris0uman Date: Wed, 20 Nov 2019 19:53:30 +0100 Subject: [PATCH 163/175] Shockwaves don't cross z-levels --- src/explosion.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/explosion.cpp b/src/explosion.cpp index c9b9c2e50352c..659139538a8d2 100644 --- a/src/explosion.cpp +++ b/src/explosion.cpp @@ -577,6 +577,9 @@ void shockwave( const tripoint &p, int radius, int force, int stun, int dam_mult "misc", "shockwave" ); for( monster &critter : g->all_monsters() ) { + if( critter.posz() != p.z ) { + continue; + } if( rl_dist( critter.pos(), p ) <= radius ) { add_msg( _( "%s is caught in the shockwave!" ), critter.name() ); g->knockback( p, critter.pos(), force, stun, dam_mult ); @@ -584,6 +587,9 @@ void shockwave( const tripoint &p, int radius, int force, int stun, int dam_mult } // TODO: combine the two loops and the case for g->u using all_creatures() for( npc &guy : g->all_npcs() ) { + if( guy.posz() != p.z ) { + continue; + } if( rl_dist( guy.pos(), p ) <= radius ) { add_msg( _( "%s is caught in the shockwave!" ), guy.name ); g->knockback( p, guy.pos(), force, stun, dam_mult ); From d3adb532737339e5e89fb4b617eb0f4957c8d356 Mon Sep 17 00:00:00 2001 From: Jason Jones Date: Wed, 24 Apr 2019 12:33:26 -0800 Subject: [PATCH 164/175] Add regional terrain/furniture resolution to mapgen Adds functionality to the regional map settings and mapgen so that regional terrains like a "t_region_shrub" can be used in JSON mapgen to denote regional appropriate terrain/furniture should be used, and the actual weighted list of valid terrain/furniture can be defined in the region settings and resolved from the regional "pseudo terrain" to an actual terrain/furniture during mapgen. --- .../furniture-regional-pseudo.json | 13 ++ .../terrain-regional-pseudo.json | 32 +++++ data/json/mapgen/trailhead.json | 33 +++-- data/json/regional_map_settings.json | 62 +++++++- data/json/test_regions.json | 10 +- .../desert_regional_map_settings.json | 10 +- doc/REGION_SETTINGS.md | 66 +++++++-- src/mapgen.cpp | 8 ++ src/mapgen_functions.cpp | 16 +++ src/mapgen_functions.h | 3 + src/regional_settings.cpp | 133 ++++++++++++++++++ src/regional_settings.h | 13 ++ 12 files changed, 374 insertions(+), 25 deletions(-) create mode 100644 data/json/furniture_and_terrain/furniture-regional-pseudo.json create mode 100644 data/json/furniture_and_terrain/terrain-regional-pseudo.json diff --git a/data/json/furniture_and_terrain/furniture-regional-pseudo.json b/data/json/furniture_and_terrain/furniture-regional-pseudo.json new file mode 100644 index 0000000000000..a8315106bf942 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-regional-pseudo.json @@ -0,0 +1,13 @@ +[ + { + "type": "furniture", + "id": "f_region_flower", + "name": "this should never actually show up, it's a pseudo furniture", + "description": "this should never actually show up, it's a pseudo furniture", + "symbol": " ", + "color": "black", + "move_cost_mod": 0, + "required_str": 0, + "flags": [ "TRANSPARENT", "NOITEM" ] + } +] diff --git a/data/json/furniture_and_terrain/terrain-regional-pseudo.json b/data/json/furniture_and_terrain/terrain-regional-pseudo.json new file mode 100644 index 0000000000000..655e608c77641 --- /dev/null +++ b/data/json/furniture_and_terrain/terrain-regional-pseudo.json @@ -0,0 +1,32 @@ +[ + { + "type": "terrain", + "id": "t_region_groundcover", + "name": "this should never actually show up, it's a pseudo terrain", + "description": "this should never actually show up, it's a pseudo terrain", + "symbol": " ", + "color": "black", + "move_cost": 0, + "flags": [ "TRANSPARENT", "NOITEM" ] + }, + { + "type": "terrain", + "id": "t_region_tree", + "name": "this should never actually show up, it's a pseudo terrain", + "description": "this should never actually show up, it's a pseudo terrain", + "symbol": " ", + "color": "black", + "move_cost": 0, + "flags": [ "TRANSPARENT", "NOITEM" ] + }, + { + "type": "terrain", + "id": "t_region_shrub", + "name": "this should never actually show up, it's a pseudo terrain", + "description": "this should never actually show up, it's a pseudo terrain", + "symbol": " ", + "color": "black", + "move_cost": 0, + "flags": [ "TRANSPARENT", "NOITEM" ] + } +] diff --git a/data/json/mapgen/trailhead.json b/data/json/mapgen/trailhead.json index 9caa266816662..b185257d29b9e 100644 --- a/data/json/mapgen/trailhead.json +++ b/data/json/mapgen/trailhead.json @@ -20,9 +20,20 @@ ":": "t_window_bars", "c": "t_woodchips", "W": "t_water_pump", - "T": "t_floor" + "T": "t_floor", + "7": [ "t_region_tree", "t_region_shrub" ], + "f": "t_dirt" + }, + "furniture": { + "b": "f_boulder_small", + "s": "f_sign", + "B": "f_bench", + "=": "f_bench", + "w": "f_woodstove", + ",": [ [ "f_region_flower", 1 ], [ "f_null", 100 ] ], + ";": [ [ "f_region_flower", 1 ], [ "f_null", 100 ] ], + ".": [ [ "f_region_flower", 1 ], [ "f_null", 100 ] ] }, - "furniture": { "b": "f_boulder_small", "s": "f_sign", "B": "f_bench", "=": "f_bench", "w": "f_woodstove" }, "toilets": { "T": { } } }, { @@ -54,8 +65,8 @@ ";;;.. ;;;;;", ";;;;. ;;;;;", ";;;;; ;;;;;", - ";;;;;tttt tttt;;;;;", - ";;;;;b..b ss b..b;;;;;" + ";77;;tttt tttt;;;;;", + "7777;b..b ss b..b;;;;;" ], "palettes": [ "trailhead" ], "place_vehicles": [ @@ -91,11 +102,11 @@ ";;;... ...;;", ";;... |-|;;", ";;... . . . +T|;;", - ";;;.. . |-|;;", - ";;;;. . . . +T|;;", + ";;;.. . |-|;7", + ";;;;. . . . +T|;7", ";;;;; ;|-|;;", - ";;;;;==== sss;;;;;;", - ";;;;;;;;; ;;;;;;;;;" + ";;;;;==== sss;;;;;7", + ";;;;77;77 ;;;;;;;7;" ], "palettes": [ "trailhead" ], "place_vehicles": [ { "chance": 100, "fuel": 0, "rotation": 0, "status": 1, "vehicle": "campground_vehicles", "x": 17, "y": 9 } ], @@ -136,7 +147,7 @@ ";;;;. . . . ;;;;;", ";;;;; ;;;;;", ";;;;;tttt tttt;;;;;", - ";;;;;b..b s s b..b;;;;;" + ";;7;;b..b s s b..b;;7;;" ], "palettes": [ "trailhead" ], "place_vehicles": [ @@ -175,8 +186,8 @@ ";;;c|B###+ ..;;;;;;;b", ";;;c|BB#w|s ..;;;;;;;;", ";;;c|--:-| ;;;;;;;;;", - ";;;ccccccc ;;;;;;b;;", - ";;;b;b;b; ;;b;;;;;;" + ";7;ccccccc ;;;;;;b;;", + ";;;b;b;b; ;;b;;;;7;" ], "palettes": [ "trailhead" ], "place_items": [ { "item": "camping", "x": [ 5, 5 ], "y": [ 18, 20 ], "chance": 70 } ], diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index 2a9430e9f0f93..a473f0c119d0f 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -3,7 +3,67 @@ "type": "region_settings", "id": "default", "default_oter": "field", - "default_groundcover": [ [ "t_grass", 4 ], [ "t_grass_long", 2 ], [ "t_dirt", 1 ] ], + "default_groundcover": [ [ "t_region_groundcover", 1 ] ], + "region_terrain_and_furniture": { + "terrain": { + "t_region_groundcover": { "t_grass": 4, "t_grass_long": 2, "t_dirt": 1 }, + "t_region_shrub": { + "t_underbrush": 30, + "t_shrub": 5, + "t_shrub_blueberry": 1, + "t_shrub_strawberry": 1, + "t_shrub_blackberry": 1, + "t_shrub_raspberry": 1, + "t_shrub_huckleberry": 1, + "t_shrub_grape": 1, + "t_shrub_rose": 1, + "t_shrub_hydrangea": 1, + "t_shrub_lilac": 1 + }, + "t_region_tree": { + "t_tree": 128, + "t_tree_young": 128, + "t_tree_birch": 16, + "t_tree_elm": 16, + "t_tree_cottonwood": 16, + "t_tree_pine": 32, + "t_tree_maple": 32, + "t_tree_willow": 32, + "t_tree_hickory": 16, + "t_tree_walnut": 8, + "t_tree_chestnut": 8, + "t_tree_hazelnut": 2, + "t_tree_beech": 2, + "t_tree_blackjack": 8, + "t_tree_coffee": 2, + "t_tree_apple": 2, + "t_tree_apricot": 2, + "t_tree_cherry": 2, + "t_tree_juniper": 2, + "t_tree_peach": 2, + "t_tree_pear": 2, + "t_tree_plum": 2, + "t_tree_elderberry": 2, + "t_tree_mulberry": 2, + "t_tree_deadpine": 16, + "t_tree_hickory_dead": 16, + "t_tree_dead": 16 + } + }, + "furniture": { + "f_region_flower": { + "f_black_eyed_susan": 1, + "f_lily": 1, + "f_flower_tulip": 1, + "f_flower_spurge": 1, + "f_chamomile": 1, + "f_dandelion": 1, + "f_datura": 1, + "f_dahlia": 1, + "f_bluebell": 1 + } + } + }, "river_scale": 1.0, "field_coverage": { "percent_coverage": 0.9333, diff --git a/data/json/test_regions.json b/data/json/test_regions.json index a714d3edc2f6e..806e5676544e0 100644 --- a/data/json/test_regions.json +++ b/data/json/test_regions.json @@ -3,7 +3,15 @@ "type": "region_settings", "id": "desert_test", "default_oter": "field", - "default_groundcover": [ [ "t_searth_test", 3 ], [ "t_sand", 1 ] ], + "default_groundcover": [ [ "t_region_groundcover", 1 ] ], + "region_terrain_and_furniture": { + "terrain": { + "t_region_groundcover": { "t_searth_test": 3, "t_sand": 1 }, + "t_region_shrub": { "t_shrub": 1 }, + "t_region_tree": { "t_tree_willow": 1, "t_tree_dead": 1 } + }, + "furniture": { "f_region_flower": { "f_mutcactus_test": 1 } } + }, "field_coverage": { "percent_coverage": 1.9333, "default_ter": "t_sand", diff --git a/data/mods/desert_region/desert_regional_map_settings.json b/data/mods/desert_region/desert_regional_map_settings.json index 4e9d72e617aaf..9d1c6cc964bc3 100644 --- a/data/mods/desert_region/desert_regional_map_settings.json +++ b/data/mods/desert_region/desert_regional_map_settings.json @@ -3,7 +3,15 @@ "type": "region_settings", "id": "default", "default_oter": "desert", - "default_groundcover": [ [ "t_searth_test", 4 ], [ "t_sand", 1 ] ], + "default_groundcover": [ [ "t_region_groundcover", 1 ] ], + "region_terrain_and_furniture": { + "terrain": { + "t_region_groundcover": { "t_searth_test": 4, "t_sand": 1 }, + "t_region_shrub": { "t_shrub": 1 }, + "t_region_tree": { "t_tree_willow": 1, "t_tree_dead": 1 } + }, + "furniture": { "f_region_flower": { "f_mutcactus_test": 1 } } + }, "river_scale": 0.0, "field_coverage": { "percent_coverage": 0.1333, diff --git a/doc/REGION_SETTINGS.md b/doc/REGION_SETTINGS.md index 4861dc1d8a31f..29f6805f71330 100644 --- a/doc/REGION_SETTINGS.md +++ b/doc/REGION_SETTINGS.md @@ -4,17 +4,18 @@ The **region_settings** define the attributes for map generation that apply to a The general settings define the default overmap terrain and ground cover. Additional sections are as follows: -| Section | Description | -| ------------------------------- | ------------------------------------------------------------------- | -| `field_coverage` | Defines the flora that cover the `field` overmap terrain. | -| `overmap_lake_settings` | Defines parameters for generating lakes in the region. | -| `overmap_forest_settings` | Defines parameters for generating forests and swamps in the region. | -| `forest_mapgen_settings` | Defines flora (and "stuff") that cover the `forest` terrain types. | -| `forest_trail_settings` | Defines the overmap and local structure of forest trails. | -| `city` | Defines the structural compositions of cities. | -| `map_extras` | Defines the map extra groups referenced by overmap terrains. | -| `weather` | Defines the base weather attributes for the region. | -| `overmap_feature_flag_settings` | Defines operations on overmap features based on their flags. | +| Section | Description | +| ------------------------------- | --------------------------------------------------------------------- | +| `region_terrain_and_furniture` | Defines the resolution of regional terrain/furniture to actual types. | +| `field_coverage` | Defines the flora that cover the `field` overmap terrain. | +| `overmap_lake_settings` | Defines parameters for generating lakes in the region. | +| `overmap_forest_settings` | Defines parameters for generating forests and swamps in the region. | +| `forest_mapgen_settings` | Defines flora (and "stuff") that cover the `forest` terrain types. | +| `forest_trail_settings` | Defines the overmap and local structure of forest trails. | +| `city` | Defines the structural compositions of cities. | +| `map_extras` | Defines the map extra groups referenced by overmap terrains. | +| `weather` | Defines the base weather attributes for the region. | +| `overmap_feature_flag_settings` | Defines operations on overmap features based on their flags. | Note that for the default region, all attributes and sections are required. @@ -41,6 +42,49 @@ Note that for the default region, all attributes and sections are required. } ``` +## Region Terrain / Furniture + +The **region_terrain_and_furniture** section defines the resolution of regional terrain/furniture +to their actual terrain and furniture types for the region, with a weighted list for +terrain/furniture entry that defines the relative weight of a given entry when mapgen resolves the +regional entry to an actual entry. + +### Fields + +| Identifier | Description | +| ----------- | ------------------------------------------------------------------ | +| `terrain` | List of regional terrain and their corresponding weighted lists. | +| `furniture` | List of regional furniture and their corresponding weighted lists. | + +### Example +```json +{ + "region_terrain_and_furniture": { + "terrain": { + "t_region_groundcover": { + "t_grass": 4, + "t_grass_long": 2, + "t_dirt": 1 + } + }, + "furniture": { + "f_region_flower": { + "f_black_eyed_susan": 1, + "f_lily": 1, + "f_flower_tulip": 1, + "f_flower_spurge": 1, + "f_chamomile": 1, + "f_dandelion": 1, + "f_datura": 1, + "f_dahlia": 1, + "f_bluebell": 1 + } + } + } +} +``` + + ## Field Coverage The **field_coverage** section defines the furniture and terrain that make up the flora that diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 3ceae2a25f1b6..264fb933708e9 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -2599,6 +2599,8 @@ void mapgen_function_json::generate( mapgendata &md ) objects.apply( md, point_zero ); + resolve_regional_terrain_and_furniture( md ); + m->rotate( rotation.get() ); if( md.terrain_type()->is_rotatable() ) { @@ -2620,6 +2622,8 @@ void mapgen_function_json_nested::nest( mapgendata &dat, const point &offset ) c } objects.apply( dat, offset ); + + resolve_regional_terrain_and_furniture( dat ); } /* @@ -6263,6 +6267,8 @@ void map::draw_connections( mapgendata &dat ) } } } + + resolve_regional_terrain_and_furniture( dat ); } void map::place_spawns( const mongroup_id &group, const int chance, @@ -7754,6 +7760,8 @@ bool update_mapgen_function_json::update_map( mapgendata &md, const point &offse } objects.apply( md, offset ); + resolve_regional_terrain_and_furniture( md ); + return true; } diff --git a/src/mapgen_functions.cpp b/src/mapgen_functions.cpp index 44a95877bf011..a7a22e79a85de 100644 --- a/src/mapgen_functions.cpp +++ b/src/mapgen_functions.cpp @@ -4608,3 +4608,19 @@ void place_stairs( mapgendata &dat ) } } } + +void resolve_regional_terrain_and_furniture( const mapgendata &dat ) +{ + for( const tripoint &p : dat.m.points_on_zlevel() ) { + const ter_id tid_before = dat.m.ter( p ); + const ter_id tid_after = dat.region.region_terrain_and_furniture.resolve( tid_before ); + if( tid_after != tid_before ) { + dat.m.ter_set( p, tid_after ); + } + const furn_id fid_before = dat.m.furn( p ); + const furn_id fid_after = dat.region.region_terrain_and_furniture.resolve( fid_before ); + if( fid_after != fid_before ) { + dat.m.furn_set( p, fid_after ); + } + } +} diff --git a/src/mapgen_functions.h b/src/mapgen_functions.h index d9fbc04c930d2..264e7184c5f16 100644 --- a/src/mapgen_functions.h +++ b/src/mapgen_functions.h @@ -99,4 +99,7 @@ bool run_mapgen_update_func( const std::string &update_mapgen_id, const tripoint bool run_mapgen_func( const std::string &mapgen_id, mapgendata &dat ); std::pair, std::map> get_changed_ids_from_update( const std::string &update_mapgen_id ); + +void resolve_regional_terrain_and_furniture( const mapgendata &dat ); + #endif diff --git a/src/regional_settings.cpp b/src/regional_settings.cpp index af1c4f921a916..9e6135ef916e1 100644 --- a/src/regional_settings.cpp +++ b/src/regional_settings.cpp @@ -359,6 +359,72 @@ static void load_overmap_lake_settings( JsonObject &jo, } } +static void load_region_terrain_and_furniture_settings( JsonObject &jo, + region_terrain_and_furniture_settings ®ion_terrain_and_furniture_settings, + const bool strict, const bool overlay ) +{ + if( !jo.has_object( "region_terrain_and_furniture" ) ) { + if( strict ) { + jo.throw_error( "\"region_terrain_and_furniture\": { … } required for default" ); + } + } else { + JsonObject region_terrain_and_furniture_settings_jo = + jo.get_object( "region_terrain_and_furniture" ); + + if( !region_terrain_and_furniture_settings_jo.has_object( "terrain" ) ) { + if( !overlay ) { + region_terrain_and_furniture_settings_jo.throw_error( "terrain required" ); + } + } else { + JsonObject template_terrain_jo = region_terrain_and_furniture_settings_jo.get_object( "terrain" ); + std::set template_terrain_ids = template_terrain_jo.get_member_names(); + for( const auto &template_terrain_id : template_terrain_ids ) { + if( template_terrain_id == "//" ) { + continue; + } + JsonObject terrain_jo = template_terrain_jo.get_object( template_terrain_id ); + std::set terrain_ids = terrain_jo.get_member_names(); + for( const auto &terrain_id : terrain_ids ) { + if( terrain_id == "//" ) { + continue; + } + int weight = 0; + if( terrain_jo.read( terrain_id, weight ) ) { + region_terrain_and_furniture_settings.unfinalized_terrain[template_terrain_id][terrain_id] = weight; + } + } + } + } + + if( !region_terrain_and_furniture_settings_jo.has_object( "furniture" ) ) { + if( !overlay ) { + region_terrain_and_furniture_settings_jo.throw_error( "furniture required" ); + } + } else { + JsonObject template_furniture_jo = + region_terrain_and_furniture_settings_jo.get_object( "furniture" ); + std::set template_furniture_ids = template_furniture_jo.get_member_names(); + for( const auto &template_furniture_id : template_furniture_ids ) { + if( template_furniture_id == "//" ) { + continue; + } + JsonObject furniture_jo = template_furniture_jo.get_object( template_furniture_id ); + std::set furniture_ids = furniture_jo.get_member_names(); + for( const auto &furniture_id : furniture_ids ) { + if( furniture_id == "//" ) { + continue; + } + int weight = 0; + if( furniture_jo.read( furniture_id, weight ) ) { + region_terrain_and_furniture_settings.unfinalized_furniture[template_furniture_id][furniture_id] = + weight; + } + } + } + } + } +} + void load_region_settings( JsonObject &jo ) { regional_settings new_region; @@ -539,6 +605,9 @@ void load_region_settings( JsonObject &jo ) load_overmap_lake_settings( jo, new_region.overmap_lake, strict, false ); + load_region_terrain_and_furniture_settings( jo, new_region.region_terrain_and_furniture, strict, + false ); + region_settings_map[new_region.id] = new_region; } @@ -701,6 +770,8 @@ void apply_region_overlay( JsonObject &jo, regional_settings ®ion ) load_overmap_forest_settings( jo, region.overmap_forest, false, true ); load_overmap_lake_settings( jo, region.overmap_lake, false, true ); + + load_region_terrain_and_furniture_settings( jo, region.region_terrain_and_furniture, false, true ); } void groundcover_extra::finalize() // FIXME: return bool for failure @@ -899,6 +970,67 @@ void overmap_lake_settings::finalize() } } +void region_terrain_and_furniture_settings::finalize() +{ + for( auto const &template_pr : unfinalized_terrain ) { + const ter_str_id template_tid( template_pr.first ); + if( !template_tid.is_valid() ) { + debugmsg( "Tried to add invalid regional template terrain %s to region_terrain_and_furniture terrain.", + template_tid.c_str() ); + continue; + } + for( auto const &actual_pr : template_pr.second ) { + const ter_str_id tid( actual_pr.first ); + if( !tid.is_valid() ) { + debugmsg( "Tried to add invalid regional terrain %s to region_terrain_and_furniture terrain template %s.", + tid.c_str(), template_tid.c_str() ); + continue; + } + terrain[template_tid.id()].add( tid.id(), actual_pr.second ); + } + } + + for( auto const &template_pr : unfinalized_furniture ) { + const furn_str_id template_fid( template_pr.first ); + if( !template_fid.is_valid() ) { + debugmsg( "Tried to add invalid regional template furniture %s to region_terrain_and_furniture furniture.", + template_fid.c_str() ); + continue; + } + for( auto const &actual_pr : template_pr.second ) { + const furn_str_id fid( actual_pr.first ); + if( !fid.is_valid() ) { + debugmsg( "Tried to add invalid regional furniture %s to region_terrain_and_furniture furniture template %s.", + fid.c_str(), template_fid.c_str() ); + continue; + } + furniture[template_fid.id()].add( fid.id(), actual_pr.second ); + } + } +} + +ter_id region_terrain_and_furniture_settings::resolve( const ter_id tid ) const +{ + ter_id result = tid; + auto region_list = terrain.find( result ); + while( region_list != terrain.end() ) { + result = *region_list->second.pick(); + region_list = terrain.find( result ); + } + return result; +} + +furn_id region_terrain_and_furniture_settings::resolve( const furn_id fid ) const +{ + furn_id result = fid; + auto region_list = furniture.find( result ); + while( region_list != furniture.end() ) { + result = *region_list->second.pick(); + region_list = furniture.find( result ); + } + return result; +} + void regional_settings::finalize() { if( default_groundcover_str != nullptr ) { @@ -912,6 +1044,7 @@ void regional_settings::finalize() forest_composition.finalize(); forest_trail.finalize(); overmap_lake.finalize(); + region_terrain_and_furniture.finalize(); get_options().add_value( "DEFAULT_REGION", id, no_translation( id ) ); } } diff --git a/src/regional_settings.h b/src/regional_settings.h index d3804845eeab5..cf3c7b765d90c 100644 --- a/src/regional_settings.h +++ b/src/regional_settings.h @@ -214,6 +214,18 @@ struct map_extras { map_extras( const unsigned int embellished ) : chance( embellished ) {} }; +struct region_terrain_and_furniture_settings { + std::map> unfinalized_terrain; + std::map> unfinalized_furniture; + std::map> terrain; + std::map> furniture; + + void finalize(); + ter_id resolve( ter_id ) const; + furn_id resolve( furn_id ) const; + region_terrain_and_furniture_settings() = default; +}; + /* * Spationally relevant overmap and mapgen variables grouped into a set of suggested defaults; * eventually region mapping will modify as required and allow for transitions of biomes / demographics in a smoooth fashion @@ -233,6 +245,7 @@ struct regional_settings { overmap_feature_flag_settings overmap_feature_flag; overmap_forest_settings overmap_forest; overmap_lake_settings overmap_lake; + region_terrain_and_furniture_settings region_terrain_and_furniture; std::unordered_map region_extras; From 87b495eb6d1e2192b4140d4cd6b925441a5e01d3 Mon Sep 17 00:00:00 2001 From: Lil Shining Man <56778776+LilShiningMan@users.noreply.github.com> Date: Thu, 21 Nov 2019 06:51:39 -0800 Subject: [PATCH 165/175] MRE food list and Military List clean up --- data/json/itemgroups/clothing.json | 2 - data/json/itemgroups/food.json | 29 ++++++ data/json/itemgroups/item_groups.json | 143 +------------------------- 3 files changed, 34 insertions(+), 140 deletions(-) diff --git a/data/json/itemgroups/clothing.json b/data/json/itemgroups/clothing.json index ea7c33317b601..c9143181f1fb4 100644 --- a/data/json/itemgroups/clothing.json +++ b/data/json/itemgroups/clothing.json @@ -1336,8 +1336,6 @@ [ "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 ], diff --git a/data/json/itemgroups/food.json b/data/json/itemgroups/food.json index 65c6a64fae8dc..c393f69396c43 100644 --- a/data/json/itemgroups/food.json +++ b/data/json/itemgroups/food.json @@ -199,5 +199,34 @@ [ "cracklins", 25 ], [ "fried_seeds", 25 ] ] + }, + { + "type": "item_group", + "id": "MRE", + "items": [ + [ "mre_chilibeans_box", 45 ], + [ "mre_bbqbeef_box", 45 ], + [ "mre_chickennoodle_box", 45 ], + [ "mre_spaghetti_box", 45 ], + [ "mre_chicken_box", 45 ], + [ "mre_beeftaco_box", 45 ], + [ "mre_beef_box", 45 ], + [ "mre_meatball_box", 45 ], + [ "mre_beefstew_box", 45 ], + [ "mre_chilimac_box", 45 ], + [ "mre_veggy_box", 45 ], + [ "mre_macaronimarinara_box", 45 ], + [ "mre_cheesetort_box", 45 ], + [ "mre_mushroomfettuccine_box", 45 ], + [ "mre_mexicanchickenstew_box", 45 ], + [ "mre_maplesausage_box", 45 ], + [ "mre_ravioli_box", 45 ], + [ "mre_hashbrownbacon_box", 45 ], + [ "mre_lemontuna_box", 45 ], + [ "mre_asianbeef_box", 45 ], + [ "mre_chickenpesto_box", 45 ], + [ "mre_southwestbeef_box", 45 ], + [ "mre_hotdog_box", 45 ] + ] } ] diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 741e858df2c12..3ede228578904 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -4961,41 +4961,9 @@ "type": "item_group", "id": "mil_food", "items": [ - [ "chocolate", 50 ], - [ "neccowafers", 30 ], - [ "can_beans", 40 ], - [ "pork_beans", 40 ], - [ "mre_chilibeans_box", 45 ], - [ "mre_bbqbeef_box", 45 ], - [ "mre_chickennoodle_box", 45 ], - [ "mre_spaghetti_box", 45 ], - [ "mre_chicken_box", 45 ], - [ "mre_beeftaco_box", 45 ], - [ "mre_beef_box", 45 ], - [ "mre_meatball_box", 45 ], - [ "mre_beefstew_box", 45 ], - [ "mre_chilimac_box", 45 ], - [ "mre_veggy_box", 45 ], - [ "mre_macaronimarinara_box", 45 ], - [ "mre_cheesetort_box", 45 ], - [ "mre_mushroomfettuccine_box", 45 ], - [ "mre_mexicanchickenstew_box", 45 ], - [ "mre_maplesausage_box", 45 ], - [ "mre_ravioli_box", 45 ], - [ "mre_hashbrownbacon_box", 45 ], - [ "mre_lemontuna_box", 45 ], - [ "mre_asianbeef_box", 45 ], - [ "mre_chickenpesto_box", 45 ], - [ "mre_southwestbeef_box", 45 ], - [ "mre_hotdog_box", 45 ], - [ "1st_aid", 35 ], - [ "saline", 15 ], - [ "con_milk", 5 ], - [ "milk_UHT", 35 ], - [ "cereal", 35 ], + { "group": "mil_food_nodrugs", "prob": 1410 }, [ "codeine", 15 ], [ "antibiotics", 25 ], - [ "water_clean", 90 ], [ "purifier", 12 ], [ "heatpack", 60 ], [ "pur_tablets", 20 ], @@ -5016,32 +4984,11 @@ "type": "item_group", "id": "mil_food_nodrugs", "items": [ + { "group": "MRE", "prob": 1035 }, [ "chocolate", 50 ], + [ "neccowafers", 30 ], [ "can_beans", 40 ], [ "pork_beans", 40 ], - [ "mre_chilibeans_box", 45 ], - [ "mre_bbqbeef_box", 45 ], - [ "mre_chickennoodle_box", 45 ], - [ "mre_spaghetti_box", 45 ], - [ "mre_chicken_box", 45 ], - [ "mre_beeftaco_box", 45 ], - [ "mre_beef_box", 45 ], - [ "mre_meatball_box", 45 ], - [ "mre_beefstew_box", 45 ], - [ "mre_chilimac_box", 45 ], - [ "mre_veggy_box", 45 ], - [ "mre_macaronimarinara_box", 45 ], - [ "mre_cheesetort_box", 45 ], - [ "mre_mushroomfettuccine_box", 45 ], - [ "mre_mexicanchickenstew_box", 45 ], - [ "mre_maplesausage_box", 45 ], - [ "mre_ravioli_box", 45 ], - [ "mre_hashbrownbacon_box", 45 ], - [ "mre_lemontuna_box", 45 ], - [ "mre_asianbeef_box", 45 ], - [ "mre_chickenpesto_box", 45 ], - [ "mre_southwestbeef_box", 45 ], - [ "mre_hotdog_box", 45 ], [ "1st_aid", 35 ], [ "saline", 10 ], [ "con_milk", 10 ], @@ -5982,6 +5929,8 @@ "type": "item_group", "id": "military", "items": [ + { "group": "mil_food", "prob": 1251 }, + { "group": "mil_armor", "prob": 575 }, [ "m107a1", 1 ], [ "bipod", 1 ], [ "50bmg", 3 ], @@ -5993,38 +5942,10 @@ [ "water_clean", 90 ], [ "knuckle_brass", 15 ], [ "battery_ups", 10 ], - [ "duffelbag", 15 ], - [ "mre_chilibeans_box", 45 ], - [ "mre_bbqbeef_box", 45 ], - [ "mre_chickennoodle_box", 45 ], - [ "mre_spaghetti_box", 45 ], - [ "mre_chicken_box", 45 ], - [ "mre_beeftaco_box", 45 ], - [ "mre_beef_box", 45 ], - [ "mre_meatball_box", 45 ], - [ "mre_beefstew_box", 45 ], - [ "mre_chilimac_box", 45 ], - [ "mre_veggy_box", 45 ], - [ "mre_macaronimarinara_box", 45 ], - [ "mre_cheesetort_box", 45 ], - [ "mre_mushroomfettuccine_box", 45 ], - [ "mre_mexicanchickenstew_box", 45 ], - [ "mre_maplesausage_box", 45 ], - [ "mre_ravioli_box", 45 ], - [ "mre_hashbrownbacon_box", 45 ], - [ "mre_lemontuna_box", 45 ], - [ "mre_asianbeef_box", 45 ], - [ "mre_chickenpesto_box", 45 ], - [ "mre_southwestbeef_box", 45 ], - [ "mre_hotdog_box", 45 ], [ "bandages", 50 ], [ "cotton_ball", 20 ], - [ "1st_aid", 35 ], - [ "saline", 15 ], [ "iodine", 5 ], [ "prussian_blue", 5 ], - [ "neccowafers", 5 ], - [ "codeine", 15 ], [ "adrenaline_injector", 4 ], [ "cig", 90 ], [ "ecig", 10 ], @@ -6035,42 +5956,9 @@ [ "kukri", 2 ], [ "throwing_knife", 7 ], [ "boots_steel", 50 ], - [ "boots_combat", 50 ], - [ "pants_army", 30 ], - [ "jacket_army", 30 ], - [ "winter_pants_army", 10 ], - [ "winter_jacket_army", 10 ], - [ "winter_gloves_army", 10 ], - [ "army_top", 30 ], - [ "kevlar", 10 ], - [ "modularvest", 15 ], - [ "modularvestkevlar", 18 ], - [ "modularvestceramic", 24 ], - [ "modularveststeel", 18 ], - [ "modularvestsuper", 8 ], - [ "modularvesthard", 2 ], - [ "vest", 15 ], [ "gloves_fingerless", 20 ], - [ "gloves_tactical", 30 ], - [ "glasses_bal", 40 ], - [ "mask_gas", 10 ], [ "glasses_safety", 40 ], - [ "goggles_nv", 1 ], - [ "goggles_ir", 1 ], [ "hat_boonie", 10 ], - [ "armguard_hard", 20 ], - [ "legguard_hard", 15 ], - [ "helmet_army", 40 ], - [ "kevlar", 10 ], - [ "modularvest", 15 ], - [ "modularvestkevlar", 18 ], - [ "modularvestceramic", 24 ], - [ "modularveststeel", 18 ], - [ "modularvestsuper", 8 ], - [ "modularvesthard", 2 ], - [ "dump_pouch", 20 ], - [ "helmet_liner", 10 ], - [ "backpack", 38 ], [ "holster", 15 ], [ "sholster", 10 ], [ "bandolier_shotgun", 12 ], @@ -6141,8 +6029,6 @@ [ "EMPbomb", 2 ], [ "gasbomb", 3 ], [ "smokebomb", 5 ], - [ "UPS_off", 5 ], - [ "adv_UPS_off", 3 ], [ "tazer", 3 ], [ "c4", 5 ], [ "hk_g80", 2 ], @@ -6153,18 +6039,11 @@ [ "masterkey", 2 ], [ "rm121aux", 1 ], [ "shot_flechette", 5 ], - [ "tacvest", 10 ], - [ "molle_pack", 8 ], - [ "legrig", 10 ], - [ "power_armor_basic", 5 ], - [ "power_armor_helmet_basic", 6 ], - [ "power_armor_frame", 4 ], [ "canteen", 15 ], [ "2lcanteen", 10 ], [ "camelbak", 5 ], [ "jerrycan", 10 ], [ "rucksack", 20 ], - [ "heatpack", 60 ], [ "LAW_Packed", 30 ], [ "m3_carlgustav", 1 ], [ "84x246mm_he", 3 ], @@ -6195,7 +6074,6 @@ [ "nic_gum", 1 ], [ "improve_sights", 10 ], [ "waterproof_gunmod", 4 ], - [ "pur_tablets", 10 ], [ "cleansuit", 5 ], [ "needlegun", 4 ], [ "needlepistol", 6 ], @@ -6204,19 +6082,9 @@ [ "hazmat_suit", 5 ], [ "e_tool", 20 ], [ "knife_trench", 14 ], - [ "fungicide", 3 ], - [ "insecticide", 3 ], [ "flaregun", 20 ], [ "signal_flare", 25 ], [ "militarymap", 4 ], - [ "quikclot", 20 ], - [ "bfipowder", 20 ], - [ "rx12_injector", 5 ], - [ "ampoule", 10 ], - [ "rx11_stimpack", 5 ], - [ "stimpack_ammo", 10 ], - [ "optical_cloak", 1 ], - [ "holo_cloak", 1 ], [ "halligan", 10 ], [ "fire_ax", 5 ], [ "antiparasitic", 2 ], @@ -6234,7 +6102,6 @@ [ "bot_manhack", 1 ], [ "bot_grenade_hack", 1 ], [ "l-stick", 1 ], - [ "solarpack", 2 ], [ "chem_hexamine", 5 ], [ "esbit_stove", 8 ], [ "mess_tin", 4 ], From 781c4d008785d726c83e2d8f44ff7c941f975253 Mon Sep 17 00:00:00 2001 From: Fris0uman Date: Thu, 21 Nov 2019 22:39:19 +0100 Subject: [PATCH 166/175] Revert accidental change to spells_learned --- src/mutation.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mutation.h b/src/mutation.h index b30fc8b7d4e6e..dbe64394d21a8 100644 --- a/src/mutation.h +++ b/src/mutation.h @@ -205,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: From dc89c27c88bc2e47084216a7ad571aff2f9be9bc Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Thu, 21 Nov 2019 18:46:07 -0500 Subject: [PATCH 167/175] magiclysm sidewalk removal --- data/mods/Magiclysm/worldgen/overmap_terrain.json | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/data/mods/Magiclysm/worldgen/overmap_terrain.json b/data/mods/Magiclysm/worldgen/overmap_terrain.json index 93b8ce6c50139..00f559ab37660 100644 --- a/data/mods/Magiclysm/worldgen/overmap_terrain.json +++ b/data/mods/Magiclysm/worldgen/overmap_terrain.json @@ -18,8 +18,7 @@ "color": "red", "see_cost": 5, "extras": "build", - "mondensity": 2, - "flags": [ "SIDEWALK" ] + "mondensity": 2 }, { "type": "overmap_terrain", @@ -29,8 +28,7 @@ "color": "red", "see_cost": 5, "extras": "build", - "mondensity": 2, - "flags": [ "SIDEWALK" ] + "mondensity": 2 }, { "type": "overmap_terrain", @@ -40,8 +38,7 @@ "color": "green", "see_cost": 5, "extras": "build", - "mondensity": 2, - "flags": [ "SIDEWALK" ] + "mondensity": 2 }, { "type": "overmap_terrain", @@ -51,8 +48,7 @@ "color": "green", "see_cost": 5, "extras": "build", - "mondensity": 2, - "flags": [ "SIDEWALK" ] + "mondensity": 2 }, { "type": "overmap_terrain", @@ -81,8 +77,7 @@ "color": "white", "see_cost": 5, "extras": "build", - "mondensity": 1, - "flags": [ "SIDEWALK" ] + "mondensity": 1 }, { "type": "overmap_terrain", From 226cce12f80ba903c2626814886b84db62d7d5fd Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Fri, 22 Nov 2019 10:44:28 +0100 Subject: [PATCH 168/175] Tell players about autoclaves (#35646) --- src/game_inventory.cpp | 2 +- src/item.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/game_inventory.cpp b/src/game_inventory.cpp index 1c96a31188cb3..4d0de712b8876 100644 --- a/src/game_inventory.cpp +++ b/src/game_inventory.cpp @@ -1616,7 +1616,7 @@ class bionic_install_preset: public inventory_selector_preset 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. /!\\" ) ; + return _( "/!\\ CBM is not sterile. /!\\ Please use autoclave to sterilize." ) ; } else if( it->has_fault( fault_id( "fault_bionic_salvaged" ) ) ) { return _( "CBM already deployed. Please reset to factory state." ); } else if( pa.has_bionic( bid ) ) { diff --git a/src/item.cpp b/src/item.cpp index fd882bfeef709..01afccf9648d1 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -2894,8 +2894,13 @@ void item::final_info( std::vector &info, const iteminfo_query *parts, } insert_separation_line( info ); - const bionic_id bid = type->bionic->id; + if( is_bionic() && has_flag( "NO_STERILE" ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This bionic is not sterile, use an autoclave and an autoclave pouch to sterilize it. " ) ) ); + } + insert_separation_line( info ); + const bionic_id bid = type->bionic->id; const std::vector &fuels = bid->fuel_opts; if( !fuels.empty() ) { const int &fuel_numb = fuels.size(); From 369cc427b88ca2dbfa658fbb36ae78528d14ecea Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Fri, 22 Nov 2019 10:46:42 +0100 Subject: [PATCH 169/175] Smoke field "body_part_env_resistance" changed from 12 to 7 (#35637) * Smoke field "body_part_env_resistance" changed from 12 to 7 * remove unused var --- data/json/field_type.json | 2 +- src/map_field.cpp | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/data/json/field_type.json b/data/json/field_type.json index fbc9aad5ed086..01b118599a9e6 100644 --- a/data/json/field_type.json +++ b/data/json/field_type.json @@ -221,7 +221,7 @@ "dirty_transparency_cache": true, "percent_spread": 10, "outdoor_age_speedup": "0 turns", - "immunity_data": { "body_part_env_resistance": [ [ "MOUTH", 12 ] ] }, + "immunity_data": { "body_part_env_resistance": [ [ "MOUTH", 7 ] ] }, "priority": 8, "half_life": "2 minutes", "phase": "gas", diff --git a/src/map_field.cpp b/src/map_field.cpp index a942ca7a5d129..6bd5e438c9dc7 100644 --- a/src/map_field.cpp +++ b/src/map_field.cpp @@ -72,7 +72,6 @@ const efftype_id effect_onfire( "onfire" ); const efftype_id effect_poison( "poison" ); const efftype_id effect_relax_gas( "relax_gas" ); const efftype_id effect_sap( "sap" ); -const efftype_id effect_smoke( "smoke" ); const efftype_id effect_stung( "stung" ); const efftype_id effect_stunned( "stunned" ); const efftype_id effect_teargas( "teargas" ); From 198a526e5225ce0722b16a85698434cd4c0f5b15 Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Fri, 22 Nov 2019 10:46:59 +0100 Subject: [PATCH 170/175] Update NPC faction from wasteland_scavenger to no_faction (#35633) * Update bone seer faction to no_faction * Arsonist, hunter and mercenarie scavenger are not part of the same faction --- data/json/npcs/NPC_Brigitte_LaCroix.json | 2 +- .../json/npcs/refugee_center/surface_visitors/NPC_arsonist.json | 2 +- data/json/npcs/refugee_center/surface_visitors/NPC_hunter.json | 2 +- .../surface_visitors/NPC_scavenger_mercenary.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/NPC_Brigitte_LaCroix.json b/data/json/npcs/NPC_Brigitte_LaCroix.json index 885ca662666c1..3d077909afede 100644 --- a/data/json/npcs/NPC_Brigitte_LaCroix.json +++ b/data/json/npcs/NPC_Brigitte_LaCroix.json @@ -91,7 +91,7 @@ "attitude": 7, "mission": 3, "chat": "TALK_BONE_SEER", - "faction": "wasteland_scavengers", + "faction": "no_faction", "mission_offered": "MISSION_SEER_GATHER_BONE" }, { 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 5dd39f169c446..b0371b9b63a40 100644 --- a/data/json/npcs/refugee_center/surface_visitors/NPC_arsonist.json +++ b/data/json/npcs/refugee_center/surface_visitors/NPC_arsonist.json @@ -10,7 +10,7 @@ "attitude": 0, "mission": 3, "chat": "TALK_ARSONIST", - "faction": "wasteland_scavengers" + "faction": "no_faction" }, { "type": "talk_topic", 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 66ba8fe6d5661..b6738c7bd8da1 100644 --- a/data/json/npcs/refugee_center/surface_visitors/NPC_hunter.json +++ b/data/json/npcs/refugee_center/surface_visitors/NPC_hunter.json @@ -8,7 +8,7 @@ "attitude": 0, "mission": 7, "chat": "TALK_EVAC_HUNTER", - "faction": "wasteland_scavengers" + "faction": "no_faction" }, { "id": "TALK_EVAC_HUNTER", 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 a854201ed0147..65418f387d086 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 @@ -8,7 +8,7 @@ "attitude": 0, "mission": 7, "chat": "TALK_SCAVENGER_MERC", - "faction": "wasteland_scavengers" + "faction": "no_faction" }, { "type": "npc_class", From 0f93de36efd410c507e4ec2b2bbecc557e6949cd Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Fri, 22 Nov 2019 13:48:29 +0400 Subject: [PATCH 171/175] Fixed crash when trying to change targeting mode of vehicle turrets (#35622) * Fixed crash on trying to access out-of-bounds element of the vector * Removed unneeded include --- src/turret.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/turret.cpp b/src/turret.cpp index c25574c272647..d6860a2fc3932 100644 --- a/src/turret.cpp +++ b/src/turret.cpp @@ -23,6 +23,7 @@ #include "debug.h" #include "optional.h" #include "enums.h" +#include "vpart_range.h" static const itype_id fuel_type_battery( "battery" ); const efftype_id effect_on_roof( "on_roof" ); @@ -292,16 +293,12 @@ void vehicle::turrets_set_targeting() { std::vector turrets; std::vector locations; - std::vector turret_controls; for( auto &p : parts ) { - if( p.base.is_gun() ) { + if( p.is_turret() ) { 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 ); @@ -331,11 +328,17 @@ void vehicle::turrets_set_targeting() sel = menu.ret; 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; } + for( const vpart_reference &vp : get_avail_parts( "TURRET_CONTROLS" ) ) { + vehicle_part &e = vp.part(); + if( e.mount == turrets[sel]->mount ) { + e.enabled = turrets[sel]->enabled; + } + } + // clear the turret's current targets to prevent unwanted auto-firing tripoint pos = locations[ sel ]; turrets[ sel ]->reset_target( pos ); From 9c324c517645fa544db7e525c65949677b9ace31 Mon Sep 17 00:00:00 2001 From: ipcyborg Date: Fri, 22 Nov 2019 11:49:53 +0200 Subject: [PATCH 172/175] Continue hauling after swapping positions with NPC/pet (#35583) * Use `walk_move` in `game::swap_critters` to handle hauling. * Fixed non-player swap positions --- src/game.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 1bbd0377b2d10..18c4d7cab864f 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -4861,20 +4861,19 @@ bool game::swap_critters( Creature &a, Creature &b ) tripoint temp = second.pos(); second.setpos( first.pos() ); - first.setpos( temp ); - if( g->m.veh_at( u_or_npc->pos() ).part_with_feature( VPFLAG_BOARDABLE, true ) ) { - g->m.board_vehicle( u_or_npc->pos(), u_or_npc ); + if( first.is_player() ) { + g->walk_move( temp ); + } else { + first.setpos( temp ); + if( g->m.veh_at( u_or_npc->pos() ).part_with_feature( VPFLAG_BOARDABLE, true ) ) { + g->m.board_vehicle( u_or_npc->pos(), u_or_npc ); + } } 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 ); } - - if( first.is_player() ) { - update_map( *u_or_npc ); - } - return true; } From c4ecb35cb364c592dc701d9ddb26e6779019c57f Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Fri, 22 Nov 2019 10:51:14 +0100 Subject: [PATCH 173/175] Add Auto start mode to power gen bionics (#35620) --- data/raw/keybindings.json | 7 +++++++ src/bionics.cpp | 16 ++++++++++++++++ src/bionics.h | 1 + src/bionics_ui.cpp | 30 ++++++++++++++++++++++++++---- src/suffer.cpp | 4 +--- 5 files changed, 51 insertions(+), 7 deletions(-) diff --git a/data/raw/keybindings.json b/data/raw/keybindings.json index 44df0239da8d4..566cb21f94429 100644 --- a/data/raw/keybindings.json +++ b/data/raw/keybindings.json @@ -1417,6 +1417,13 @@ "name": "Toggle safe fuel mod", "bindings": [ { "input_method": "keyboard", "key": "s" } ] }, + { + "type": "keybinding", + "id": "TOGGLE_AUTO_START", + "category": "BIONICS", + "name": "Toggle auto start mod", + "bindings": [ { "input_method": "keyboard", "key": "A" } ] + }, { "type": "keybinding", "id": "TOGGLE_EXAMINE", diff --git a/src/bionics.cpp b/src/bionics.cpp index f273797c0bac9..ea663a1e60f33 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -972,6 +972,10 @@ static bool attempt_recharge( Character &p, bionic &bio, units::energy &amount, void Character::process_bionic( int b ) { bionic &bio = ( *my_bionics )[b]; + if( calendar::once_every( 1_hours ) && !bio.id->fuel_opts.empty() && + bio.has_flag( "AUTO_START_ON" ) && power_level <= 0_mJ ) { + g->u.activate_bionic( b ); + } // Only powered bionics should be processed if( !bio.powered ) { return; @@ -2326,6 +2330,18 @@ void bionic::toggle_safe_fuel_mod() } } +void bionic::toggle_auto_start_mod() +{ + if( info().fuel_opts.empty() ) { + return; + } + if( !has_flag( "AUTO_START_ON" ) ) { + set_flag( "AUTO_START_ON" ); + } else { + remove_flag( "AUTO_START_ON" ); + } +} + void bionic::serialize( JsonOut &json ) const { json.start_object(); diff --git a/src/bionics.h b/src/bionics.h index 0a7b8297f06f0..e431439926ac6 100644 --- a/src/bionics.h +++ b/src/bionics.h @@ -164,6 +164,7 @@ struct bionic { bool is_this_fuel_powered( const itype_id &this_fuel ) const; void toggle_safe_fuel_mod(); + void toggle_auto_start_mod(); void serialize( JsonOut &json ) const; void deserialize( JsonIn &jsin ); diff --git a/src/bionics_ui.cpp b/src/bionics_ui.cpp index 1af0f9a76829c..8ea1a69c4e56d 100644 --- a/src/bionics_ui.cpp +++ b/src/bionics_ui.cpp @@ -106,9 +106,9 @@ static void draw_bionics_titlebar( const catacurses::window &window, player *p, 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, s to toggle fuel saving mode." ); + desc = _( "Activating ! to examine, = to reassign, TAB to switch tabs, s to toggle fuel saving mode, A to toggle auto start mode." ); } else if( mode == EXAMINING ) { - desc = _( "Examining ! to activate, = to reassign, TAB to switch tabs, s to toggle fuel saving mode." ); + desc = _( "Examining ! to activate, = to reassign, TAB to switch tabs, s to toggle fuel saving mode, A to toggle auto start mode." ); } int n_pt_y = 0; fold_and_print( window, point( 1, n_pt_y++ ), pwr_str_pos, c_white, desc ); @@ -143,7 +143,10 @@ static std::string build_bionic_poweronly_string( const bionic &bio ) properties.push_back( _( "(incapacitated)" ) ); } if( !bio.has_flag( "SAFE_FUEL_OFF" ) && !bio.info().fuel_opts.empty() ) { - properties.push_back( _( "(fuel saving mode ON)" ) ); + properties.push_back( _( "(fuel saving ON)" ) ); + } + if( bio.has_flag( "AUTO_START_ON" ) && !bio.info().fuel_opts.empty() ) { + properties.push_back( _( "(auto start ON)" ) ); } return enumerate_as_string( properties, enumeration_conjunction::none ); @@ -416,6 +419,7 @@ void player::power_bionics() ctxt.register_action( "CONFIRM" ); ctxt.register_action( "HELP_KEYBINDINGS" ); ctxt.register_action( "TOGGLE_SAFE_FUEL" ); + ctxt.register_action( "TOGGLE_AUTO_START" ); bool recalc = false; bool redraw = true; @@ -532,6 +536,7 @@ void player::power_bionics() bionic *tmp = nullptr; bool confirmCheck = false; bool toggle_safe_fuel = false; + bool toggle_auto_start = false; if( action == "DOWN" ) { redraw = true; @@ -625,6 +630,8 @@ void player::power_bionics() redraw = true; } else if( action == "TOGGLE_SAFE_FUEL" ) { toggle_safe_fuel = true; + } else if( action == "TOGGLE_AUTO_START" ) { + toggle_auto_start = true; } else if( action == "HELP_KEYBINDINGS" ) { redraw = true; } else if( action == "CONFIRM" ) { @@ -642,11 +649,26 @@ void player::power_bionics() g->refresh_all(); redraw = true; } else { - popup( _( "You can't toggle fuel saving mode on a non fueled CBM." ) ); + popup( _( "You can't toggle fuel saving mode on a non-fueled CBM." ) ); } } } + + if( toggle_auto_start ) { + 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_auto_start_mod(); + g->refresh_all(); + redraw = true; + } else { + popup( _( "You can't toggle auto start 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/suffer.cpp b/src/suffer.cpp index 4515032f678e1..165f3bee055fa 100644 --- a/src/suffer.cpp +++ b/src/suffer.cpp @@ -1473,9 +1473,7 @@ void Character::suffer() } for( size_t i = 0; i < my_bionics->size(); i++ ) { - if( ( *my_bionics )[i].powered ) { - process_bionic( i ); - } + process_bionic( i ); } for( std::pair &mut : my_mutations ) { From 3fd65f11f78fccf61bd27139bee542aeb489327c Mon Sep 17 00:00:00 2001 From: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Date: Fri, 22 Nov 2019 05:35:37 -0500 Subject: [PATCH 174/175] Aftershock PrepNet Phyle Faction, mobs, locations (#35322) --- data/mods/Aftershock/README.md | 6 +- data/mods/Aftershock/items/afs__items.json | 35 +++ data/mods/Aftershock/items/afs_furniture.json | 37 +++ .../Aftershock/items/afs_item_groups.json | 57 +++++ .../Aftershock/items/afs_tool_quality.json | 8 + .../Aftershock/maps/afs_overmap_terrain.json | 9 + .../maps/mapgen/prepnet_orchard.json | 146 ++++++++++++ .../Aftershock/mobs/afs_PrepPhyle_mobs.json | 65 +++++ data/mods/Aftershock/mobs/afs_harvest.json | 32 +++ .../Aftershock/mobs/afs_monster_faction.json | 9 + .../Aftershock/mobs/afs_monster_groups.json | 16 ++ data/mods/Aftershock/modinfo.json | 2 +- .../Aftershock/mutations/afs_mutations.json | 12 + data/mods/Aftershock/npcs/afs_classes.json | 45 ++++ data/mods/Aftershock/npcs/afs_factions.json | 73 ++++++ data/mods/Aftershock/npcs/afs_npc.json | 14 ++ .../Aftershock/npcs/afs_prepnet_dialogue.json | 224 ++++++++++++++++++ .../recipes/afs_comestible_recipes.json | 13 + 18 files changed, 801 insertions(+), 2 deletions(-) create mode 100644 data/mods/Aftershock/items/afs_furniture.json create mode 100644 data/mods/Aftershock/items/afs_item_groups.json create mode 100644 data/mods/Aftershock/items/afs_tool_quality.json create mode 100644 data/mods/Aftershock/maps/mapgen/prepnet_orchard.json create mode 100644 data/mods/Aftershock/mobs/afs_PrepPhyle_mobs.json create mode 100644 data/mods/Aftershock/mobs/afs_harvest.json create mode 100644 data/mods/Aftershock/mobs/afs_monster_faction.json create mode 100644 data/mods/Aftershock/mutations/afs_mutations.json create mode 100644 data/mods/Aftershock/npcs/afs_classes.json create mode 100644 data/mods/Aftershock/npcs/afs_factions.json create mode 100644 data/mods/Aftershock/npcs/afs_npc.json create mode 100644 data/mods/Aftershock/npcs/afs_prepnet_dialogue.json diff --git a/data/mods/Aftershock/README.md b/data/mods/Aftershock/README.md index ec41f827313dc..ed7e59248a216 100644 --- a/data/mods/Aftershock/README.md +++ b/data/mods/Aftershock/README.md @@ -24,4 +24,8 @@ Contains json data for all recipes, sorted by category or niche. ### vehicles -Contains json data for vehicles, vehicle parts, and vehicle spawn groups. \ No newline at end of file +Contains json data for vehicles, vehicle parts, and vehicle spawn groups. + +### npcs + +Contains json data for npcs, factions, and design document for any new factions, specific new faction PrepPhyle. Bionic Preppers living simple farming life with bionic upgrades, prefer to upgrade animals instead of relying on robots. diff --git a/data/mods/Aftershock/items/afs__items.json b/data/mods/Aftershock/items/afs__items.json index aa09250e326d5..b5e8714e8d481 100644 --- a/data/mods/Aftershock/items/afs__items.json +++ b/data/mods/Aftershock/items/afs__items.json @@ -7,6 +7,20 @@ "flags": "TRADER_AVOID", "qualities": [ [ "SAW_M_FINE", 1 ], [ "SCREW_FINE", 1 ], [ "CUT_FINE", 2 ] ] }, + { + "type": "GENERIC", + "id": "crypto_coin", + "name": "Crypto coins", + "description": "PrepNet had been heavily involved in avoiding taxes by using untraceable internet currencies. If this movement had grown it could have crippled the US tax base but the cataclysm happened first. These are physical coins with random numbers sequences embossed on them.", + "price": 12000, + "price_postapoc": 15000, + "//": "The coins would be worthless but the PrepNet Phyle still retains some manufacturing capacity", + "weight": "1 g", + "to_hit": -3, + "color": "cyan", + "symbol": "$", + "material": [ "plastic" ] + }, { "id": "afs_basin", "type": "CONTAINER", @@ -141,5 +155,26 @@ "material": [ "steel", "lead" ], "symbol": "0", "color": "yellow" + }, + { + "id": "atomic_butterchurn", + "type": "GENERIC", + "category": "tools", + "name": "folded atomic butter churn", + "description": "The Rivtech Churninator 4000, the only churn to be banned by 13 religious sects. The legs are currently folded up for travel. Unlike a standard churn that requires cream separated from raw milk this churn requires only raw milk, salt and a healthy respect for glowing objects.", + "weight": "6464 g", + "volume": "11356 ml", + "price": 5000, + "price_postapoc": 45000, + "looks_like": [ "still" ], + "symbol": "u", + "color": "light_green", + "use_action": { "type": "deploy_furn", "furn_type": "f_atomic_butter_churn" }, + "qualities": [ [ "CONTAIN", 1 ], [ "CHURN", 2 ] ], + "to_hit": -2, + "bashing": 5, + "material": [ "plastic", "steel" ], + "//": "I figured bionic preppers would have a sci-fi solution to some low tech problems.", + "flags": [ "LEAK_DAM", "RADIOACTIVE", "DURABLE_MELEE" ] } ] diff --git a/data/mods/Aftershock/items/afs_furniture.json b/data/mods/Aftershock/items/afs_furniture.json new file mode 100644 index 0000000000000..e1703c870e73b --- /dev/null +++ b/data/mods/Aftershock/items/afs_furniture.json @@ -0,0 +1,37 @@ +[ + { + "type": "furniture", + "id": "f_atomic_butter_churn", + "name": "atomic butter churn on a stand", + "description": "The Rivtech Atomic Butter Churn in deployed state. It hums menacingly. Ready to add raw milk and salt. It will churn turn the earth is a cinder.", + "symbol": "H", + "color": "light_green", + "crafting_pseudo_item": "atomic_butter_churn", + "move_cost_mod": -1, + "coverage": 70, + "required_str": -1, + "flags": [ "NOITEM", "SEALED", "ALLOW_FIELD_EFFECT", "TRANSPARENT", "FLAMMABLE", "CONTAINER", "LIQUIDCONT" ], + "examine_action": "keg", + "keg_capacity": 45, + "deconstruct": { + "items": [ + { "item": "plastic_chunk", "count": 10 }, + { "item": "water_faucet", "count": 1 }, + { "item": "sheet_metal_small", "count": [ 12, 20 ] }, + { "item": "scrap", "count": [ 5, 10 ] } + ] + }, + "bash": { + "str_min": 12, + "str_max": 50, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "plastic_chunk", "count": [ 6, 8 ] }, + { "item": "water_faucet", "prob": 50 }, + { "item": "sheet_metal_small", "count": [ 6, 12 ] }, + { "item": "scrap", "count": [ 10, 20 ] } + ] + } + } +] diff --git a/data/mods/Aftershock/items/afs_item_groups.json b/data/mods/Aftershock/items/afs_item_groups.json new file mode 100644 index 0000000000000..88212c58a12bb --- /dev/null +++ b/data/mods/Aftershock/items/afs_item_groups.json @@ -0,0 +1,57 @@ +[ + { + "type": "item_group", + "id": "afs_gardener_worn", + "subtype": "collection", + "entries": [ + { "item": "boots_combat" }, + { "item": "briefs" }, + { "item": "socks" }, + { "item": "polo_shirt" }, + { "item": "pants_cargo" }, + { "item": "kevlar" }, + { "item": "leather_pouch" }, + { "item": "balclava", "chance": 75 }, + { "item": "bootsheath" } + ] + }, + { + "type": "item_group", + "id": "afs_gardener_carried", + "subtype": "collection", + "entries": [ { "group": "hardware", "count": [ 1, 2 ] }, { "group": "snacks", "repeat": [ 1, 3 ] } ] + }, + { + "type": "item_group", + "id": "afs_gardener_wield", + "subtype": "collection", + "entries": [ { "item": "machete" } ] + }, + { + "type": "item_group", + "id": "afs_gardener_misc", + "subtype": "collection", + "items": [ + { "item": "RobofacCoin", "count-min": 5, "count-max": 30, "prob": 30 }, + { "group": "forage_spring", "count-min": 10, "count-max": 30, "prob": 30 }, + { "group": "fresh_produce", "prob": 80, "count": [ 4, 8 ] }, + { "group": "tools_home", "prob": 80, "count": [ 1, 3 ] }, + { "group": "tools_construction", "prob": 30, "count": [ 1, 3 ] }, + { "group": "tools_carpentry", "prob": 30, "count": [ 1, 3 ] }, + { "group": "tools_earthworking", "prob": 30, "count": [ 1, 3 ] }, + { "group": "supplies_hardware", "prob": 20, "count": [ 1, 3 ] }, + { "group": "forage_summer", "prob": 20, "count": [ 1, 3 ] }, + [ "tool_belt", 15 ], + [ "dump_pouch", 5 ], + [ "ragpouch", 15 ], + [ "leather_pouch", 15 ], + [ "quiver", 15 ], + [ "quiver_large", 5 ], + [ "crowbar", 25 ], + [ "machete", 25 ], + [ "ax", 25 ], + [ "arrow_metal", 25 ], + [ "bolt_steel", 10 ] + ] + } +] diff --git a/data/mods/Aftershock/items/afs_tool_quality.json b/data/mods/Aftershock/items/afs_tool_quality.json new file mode 100644 index 0000000000000..646e2f5df34d6 --- /dev/null +++ b/data/mods/Aftershock/items/afs_tool_quality.json @@ -0,0 +1,8 @@ +[ + { + "type": "tool_quality", + "id": "CHURN", + "name": "churn", + "//": "Delete this when you mainline Dairy products existing PR" + } +] diff --git a/data/mods/Aftershock/maps/afs_overmap_terrain.json b/data/mods/Aftershock/maps/afs_overmap_terrain.json index 2c30daecb3e5f..a9daeebb99966 100644 --- a/data/mods/Aftershock/maps/afs_overmap_terrain.json +++ b/data/mods/Aftershock/maps/afs_overmap_terrain.json @@ -9,6 +9,15 @@ "mondensity": 2, "flags": [ "SIDEWALK" ] }, + { + "id": "prepnet_orchard", + "type": "overmap_terrain", + "copy-from": "generic_city_building", + "name": "PrepNet orchard", + "sym": "#", + "color": "i_green", + "flags": [ "SOURCE_FOOD" ] + }, { "id": "municipal_reactor_ware", "type": "overmap_terrain", diff --git a/data/mods/Aftershock/maps/mapgen/prepnet_orchard.json b/data/mods/Aftershock/maps/mapgen/prepnet_orchard.json new file mode 100644 index 0000000000000..f5d8745818874 --- /dev/null +++ b/data/mods/Aftershock/maps/mapgen/prepnet_orchard.json @@ -0,0 +1,146 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "prepnet_orchard" ], + "weight": 100, + "object": { + "faction_owner": [ { "id": "Prepnet_Phyle", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], + "rows": [ + "________________________", + "________________________", + "----__------------------", + "....__................u-", + "....__.................-", + "....__ddd....t.T.7d7....", + "FFwww+wwFFFFFFFFFFFFFFFF", + "FpwCcccwudd...d........F", + "F.wCcccWdbd..t.T.7.7...F", + "F.WcccHwdbdd...........F", + "F.wCccHW.dd.....d......F", + "FpwDccHwu#...t.T.7.7...F", + "F.www+ww...............F", + "F..##..p..u............F", + "F.......a....t.Td7.7...F", + "F..#.d.....#.....d.....F", + "F.a..u4d.d.............F", + "Fud...d......t.T.7.7...F", + "F..#4.au4.#...dd.......F", + "F.4..dd.p.d............F", + "F....#4.d....7.7.7.7...F", + "F.4u.u.d4d..#...d......F", + "F#..4...d..............F", + "FFFFFFFFFFFFFFFFFFFFFFFF" + ], + "terrain": { + "#": "t_underbrush_harvested_spring", + "+": "t_door_c", + "-": "t_fence_h", + ".": "t_grass", + "4": "t_tree_pine", + "7": "t_tree_apple", + "C": "t_thconc_floor", + "D": "t_thconc_floor", + "H": "t_thconc_floor", + "T": "t_tree_cherry", + "W": "t_window_domestic", + "_": "t_sidewalk", + "a": "t_tree_birch", + "b": "t_grass", + "c": "t_thconc_floor", + "d": "t_dirt", + "p": "t_grass", + "t": "t_tree_plum", + "u": "t_underbrush", + "w": "t_wall_log", + "F": "t_fence_barbed" + }, + "furniture": { "C": "f_chair", "D": "f_desk", "H": "f_sofa", "b": "f_bench" }, + "place_items": [ + { "item": "supplies_farming", "x": 6, "y": 13, "chance": 50 }, + { "item": "supplies_farming", "x": 4, "y": 11, "chance": 15 }, + { "item": "supplies_farming", "x": 6, "y": 7, "chance": 15 }, + { "item": "supplies_farming", "x": 3, "y": 9, "chance": 99 } + ], + "sealed_item": { "p": { "items": { "item": "farming_seeds", "chance": 100 }, "furniture": "f_plant_harvest" } }, + "place_monsters": [ + { "monster": "GROUP_PARK_SCENIC", "x": 12, "y": 14, "chance": 2 }, + { "monster": "GROUP_PrepNet", "x": [ 3, 20 ], "y": [ 16, 20 ], "repeat": 4, "friendly": true } + ], + "place_npcs": [ { "class": "prepnet_gardener", "x": 10, "y": 9 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "prepnet_orchard" ], + "weight": 100, + "object": { + "faction_owner": [ { "id": "Prepnet_Phyle", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], + "rows": [ + "________________________", + "________________________", + "----__------------------", + "...&__................U-", + "....__.................-", + "....__ddd........7dt....", + "FFwww+wwFFFFFFFFFFFFFFFF", + "FpwCcccwUdd..#.s.......F", + "F.wCcccWdbd..#.s.7.t...F", + "F.WcccHwdbdd...........F", + "F.wCccHW.ad............F", + "FpwDccHwUu...#.s.7.t...F", + "F.www+ww#....#.s.......F", + "F..uu..p..U..#.s.......F", + "F.......T....#.s.7.t...F", + "F..u.d.....u...........F", + "F.T..U4d.d.............F", + "FUd...d......#.s.7.t...F", + "F..u4.TU4.u..#.s.......F", + "F.4..dd.p.d..#.s.......F", + "F....u4.d....#.s.7.t...F", + "F.4U.U.d4d..u...d......F", + "Fu..4...d..............F", + "FFFFFFFFFFFFFFFFFFFFFFFF" + ], + "terrain": { + "#": "t_shrub_strawberry", + "&": "t_grass", + "+": "t_door_c", + "-": "t_fence_h", + ".": "t_grass", + "4": "t_tree_pine", + "7": "t_tree_cherry", + "C": "t_thconc_floor", + "D": "t_thconc_floor", + "H": "t_thconc_floor", + "T": "t_tree_birch", + "U": "t_underbrush", + "W": "t_window_domestic", + "_": "t_sidewalk", + "a": "t_dirt", + "b": "t_grass", + "c": "t_thconc_floor", + "d": "t_dirt", + "p": "t_grass", + "s": "t_shrub_blueberry", + "t": "t_tree_apricot", + "u": "t_underbrush_harvested_spring", + "w": "t_wall_log", + "F": "t_fence_barbed" + }, + "furniture": { "&": "f_trashcan", "C": "f_chair", "D": "f_desk", "H": "f_sofa", "a": "f_trashcan", "b": "f_bench" }, + "place_items": [ + { "item": "supplies_farming", "x": 6, "y": 13, "chance": 50 }, + { "item": "supplies_farming", "x": 4, "y": 11, "chance": 15 }, + { "item": "supplies_farming", "x": 6, "y": 7, "chance": 15 } + ], + "sealed_item": { "p": { "items": { "item": "farming_seeds", "chance": 100 }, "furniture": "f_plant_harvest" } }, + "place_monsters": [ + { "monster": "GROUP_PARK_SCENIC", "x": 12, "y": 14, "chance": 2 }, + { "monster": "GROUP_PrepNet", "x": [ 3, 20 ], "y": [ 16, 20 ], "repeat": 3, "friendly": true } + ], + "place_npcs": [ { "class": "prepnet_gardener", "x": 10, "y": 9 } ] + } + } +] diff --git a/data/mods/Aftershock/mobs/afs_PrepPhyle_mobs.json b/data/mods/Aftershock/mobs/afs_PrepPhyle_mobs.json new file mode 100644 index 0000000000000..c794b03830404 --- /dev/null +++ b/data/mods/Aftershock/mobs/afs_PrepPhyle_mobs.json @@ -0,0 +1,65 @@ +[ + { + "id": "afs_mon_cyber_mastiff", + "copy-from": "mon_dog", + "default_faction": "PrepNet", + "type": "MONSTER", + "name": { "str": "Cyber Mastiff", "str_pl": "Cyber Mastifs" }, + "//": "Rare, location specific only", + "description": "A mix of Great Pyrenees and Ovcharka breeds outfitted with bionic enhancements. These hounds defend Prep Phyle lands from all comers undead and otherwise.", + "volume": "57500 ml", + "weight": 57500, + "hp": 86, + "speed": 100, + "aggression": 3, + "morale": 10, + "melee_dice": 1, + "melee_dice_sides": 2, + "melee_cut": 7, + "dodge": 3, + "armor_bash": 8, + "armor_cut": 14, + "looks_like": "mon_dog_gpyrenees", + "vision_day": 30, + "vision_night": 8, + "harvest": "CBM_DOG", + "reproduction": { "baby_monster": "afs_mon_cyber_mastiff_pup", "baby_count": 7, "baby_timer": 320 }, + "//": "1-7 puppies & 300-320 days per-litter for size medium canines", + "flags": [ "ANIMAL", "PET_MOUNTABLE", "HEARS", "HIT_AND_RUN", "KEENNOSE", "PATH_AVOID_DANGER_1", "SEES", "SMELLS", "WARM" ], + "anger_triggers": [ "FRIEND_DIED", "FRIEND_ATTACKED", "HURT" ] + }, + { + "id": "afs_mon_cyber_mastiff_pup", + "type": "MONSTER", + "name": { "str": "Cyber Mastiff puppy", "str_pl": "Cyber Mastiff puppies" }, + "description": "An adorable, defenseless Cyber Mastiff puppy. Much safer to tame than an adult dog. CBMs are implanted but immature in growth with the puppy.", + "default_faction": "PrepNet", + "bodytype": "dog", + "looks_like": "mon_dog_gpyrenees_pup", + "categories": [ "WILDLIFE" ], + "species": [ "MAMMAL" ], + "volume": "750 ml", + "weight": 1000, + "hp": 15, + "speed": 65, + "material": [ "flesh" ], + "symbol": "d", + "color": "light_gray", + "aggression": -12, + "morale": 5, + "melee_skill": 2, + "melee_dice": 1, + "melee_dice_sides": 1, + "melee_cut": 3, + "dodge": 1, + "vision_night": 5, + "harvest": "mammal_tiny", + "path_settings": { "max_dist": 10 }, + "upgrades": { "age_grow": 42, "into": "afs_mon_cyber_mastiff" }, + "biosignature": { "biosig_item": "feces_dog", "biosig_timer": 6 }, + "fear_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT" ], + "death_function": [ "NORMAL" ], + "special_attacks": [ [ "EAT_FOOD", 100 ] ], + "flags": [ "ANIMAL", "DOGFOOD", "HEARS", "KEENNOSE", "PATH_AVOID_DANGER_1", "SEES", "SMELLS", "WARM" ] + } +] diff --git a/data/mods/Aftershock/mobs/afs_harvest.json b/data/mods/Aftershock/mobs/afs_harvest.json new file mode 100644 index 0000000000000..dcabcfbc04478 --- /dev/null +++ b/data/mods/Aftershock/mobs/afs_harvest.json @@ -0,0 +1,32 @@ +[ + { + "id": "CBM_DOG", + "type": "harvest", + "entries": [ + { + "drop": "bio_power_storage_mkII", + "type": "bionic", + "flags": [ "FILTHY", "NO_STERILE", "NO_PACKED" ], + "faults": [ "fault_bionic_salvaged" ] + }, + { + "drop": "bionics_op", + "type": "bionic_group", + "flags": [ "FILTHY", "NO_STERILE", "NO_PACKED" ], + "faults": [ "fault_bionic_salvaged" ] + }, + { "drop": "meat", "type": "flesh", "mass_ratio": 0.3 }, + { "drop": "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 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach", "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": "fat", "type": "flesh", "mass_ratio": 0.07 } + ] + } +] diff --git a/data/mods/Aftershock/mobs/afs_monster_faction.json b/data/mods/Aftershock/mobs/afs_monster_faction.json new file mode 100644 index 0000000000000..1c23ef23ed06d --- /dev/null +++ b/data/mods/Aftershock/mobs/afs_monster_faction.json @@ -0,0 +1,9 @@ +[ + { + "type": "MONSTER_FACTION", + "name": "PrepNet", + "friendly": [ "Prepnet_Phyle", "human", "PrepNet", "player" ], + "neutral": "herbivore", + "by_mood": [ "insect", "small_animal" ] + } +] diff --git a/data/mods/Aftershock/mobs/afs_monster_groups.json b/data/mods/Aftershock/mobs/afs_monster_groups.json index 33fc04f1bee46..a6334e828390f 100644 --- a/data/mods/Aftershock/mobs/afs_monster_groups.json +++ b/data/mods/Aftershock/mobs/afs_monster_groups.json @@ -8,5 +8,21 @@ "type": "monstergroup", "name": "GROUP_ZOMBIE_MID", "monsters": [ { "monster": "mon_afs_headless_horror", "freq": 10, "cost_multiplier": 20 } ] + }, + { + "type": "monstergroup", + "name": "GROUP_PrepNet", + "default": "afs_mon_cyber_mastiff", + "is_animal": true, + "monsters": [ + { "monster": "mon_cat", "freq": 100, "cost_multiplier": 0 }, + { "monster": "mon_cat", "freq": 20, "cost_multiplier": 10, "pack_size": [ 2, 8 ] }, + { "monster": "afs_mon_cyber_mastiff", "freq": 15, "cost_multiplier": 25, "pack_size": [ 1, 6 ] }, + { "monster": "afs_mon_cyber_mastiff_pup", "freq": 1, "cost_multiplier": 25, "pack_size": [ 1, 3 ] }, + { "monster": "mon_chicken", "freq": 50, "cost_multiplier": 10, "pack_size": [ 1, 16 ] }, + { "monster": "mon_cow", "freq": 50, "cost_multiplier": 25, "pack_size": [ 1, 8 ] }, + { "monster": "mon_horse", "freq": 50, "cost_multiplier": 25, "pack_size": [ 1, 4 ] }, + { "monster": "mon_sheep", "freq": 50, "cost_multiplier": 25, "pack_size": [ 1, 12 ] } + ] } ] diff --git a/data/mods/Aftershock/modinfo.json b/data/mods/Aftershock/modinfo.json index e2ffc58084d9b..33bb0f15a29cd 100644 --- a/data/mods/Aftershock/modinfo.json +++ b/data/mods/Aftershock/modinfo.json @@ -4,7 +4,7 @@ "ident": "aftershock", "name": "Aftershock", "authors": [ "Esther", "Coolthulu" ], - "maintainers": [ "Esther" ], + "maintainers": [ "Maleclypse" ], "description": "Drifts the game away from realism and more towards sci-fi.", "category": "content", "dependencies": [ "dda" ] diff --git a/data/mods/Aftershock/mutations/afs_mutations.json b/data/mods/Aftershock/mutations/afs_mutations.json new file mode 100644 index 0000000000000..f20602050727b --- /dev/null +++ b/data/mods/Aftershock/mutations/afs_mutations.json @@ -0,0 +1,12 @@ +[ + { + "type": "mutation", + "id": "PrepNet", + "name": "PrepNet Tag", + "points": 0, + "valid": false, + "description": "NPC trait that makes monsters see it as a Prepnet. It is a bug if you have it.", + "player_display": false, + "threshold": true + } +] diff --git a/data/mods/Aftershock/npcs/afs_classes.json b/data/mods/Aftershock/npcs/afs_classes.json new file mode 100644 index 0000000000000..1caf26f2ea86f --- /dev/null +++ b/data/mods/Aftershock/npcs/afs_classes.json @@ -0,0 +1,45 @@ +[ + { + "type": "npc", + "id": "prepnet_gardener", + "name_suffix": "Gardener", + "class": "afs_prepnet_gardener", + "attitude": 0, + "mission": 7, + "chat": "TALK_PrepNet_gardener_1", + "mission_offered": "MISSION_PrepNet_gardener_FUR_1", + "faction": "Prepnet_Phyle" + }, + { + "type": "npc_class", + "id": "afs_prepnet_gardener", + "name": "Gardener", + "job_description": "When the end came, we were ready. Now I grow food for my phyle.", + "traits": [ { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "skills": [ + { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 4, 2 ] }, { "rng": [ -4, -1 ] } ] } ] } }, + { "skill": "survival", "bonus": { "rng": [ 2, 4 ] } }, + { "skill": "fabrication", "bonus": { "rng": [ 1, 3 ] } }, + { "skill": "melee", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "gun", "bonus": { "rng": [ 3, 6 ] } } + ], + "common": false, + "worn_override": "afs_gardener_worn", + "carry_override": "afs_gardener_carried", + "weapon_override": "afs_gardener_wield", + "shopkeeper_item_group": "afs_gardener_misc", + "bionics": [ + { "id": "bio_carbon", "chance": 100 }, + { "id": "bio_claws", "chance": 100 }, + { "id": "bio_dex_enhancer", "chance": 100 }, + { "id": "bio_laser", "chance": 100 }, + { "id": "bio_membrane", "chance": 100 }, + { "id": "bio_power_storage_mkII", "chance": 100 }, + { "id": "bio_purifier", "chance": 100 }, + { "id": "bio_radscrubber", "chance": 100 }, + { "id": "bio_sunglasses", "chance": 100 }, + { "id": "bio_tools", "chance": 100 }, + { "id": "bio_torsionratchet", "chance": 100 } + ] + } +] diff --git a/data/mods/Aftershock/npcs/afs_factions.json b/data/mods/Aftershock/npcs/afs_factions.json new file mode 100644 index 0000000000000..4df287e763e82 --- /dev/null +++ b/data/mods/Aftershock/npcs/afs_factions.json @@ -0,0 +1,73 @@ +[ + { + "type": "faction", + "id": "Prepnet_Phyle", + "name": "PrepNet Phyle", + "mon_faction": "PrepNet", + "likes_u": 0, + "respects_u": 0, + "known_by_u": false, + "size": 15, + "power": 20, + "currency": "crypto_coin", + "food_supply": 115200, + "wealth": 75000, + "relations": { + "free_merchants": { + "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 + }, + "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": false, + "share my stuff": false, + "guard your stuff": false, + "lets you in": true, + "defends your space": false + }, + "lobby_beggars": { + "kill on sight": false, + "watch your back": false, + "share my stuff": false, + "guard your stuff": true, + "lets you in": false, + "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": false, + "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": false, + "defends your space": false, + "knows your voice": true + }, + "hells_raiders": { "kill on sight": true }, + "marloss": { "kill on sight": true } + }, + "description": "A group of bionic preppers who had expected the collapse of the economy and global chaos, instead they were slightly more ready than others for the Cataclysm." + } +] diff --git a/data/mods/Aftershock/npcs/afs_npc.json b/data/mods/Aftershock/npcs/afs_npc.json new file mode 100644 index 0000000000000..8b5617036d7ee --- /dev/null +++ b/data/mods/Aftershock/npcs/afs_npc.json @@ -0,0 +1,14 @@ +[ + { + "type": "npc", + "id": "afs_gardener_cyborg", + "//": "PrepNet Phyle Gardener.", + "name_suffix": "Gardener", + "class": "afs_prepnet_gardener", + "attitude": 1, + "mission": 0, + "chat": "TALK_PrepNet_gardener_1", + "faction": "Prepnet_Phyle", + "mon_faction": "PrepNet" + } +] diff --git a/data/mods/Aftershock/npcs/afs_prepnet_dialogue.json b/data/mods/Aftershock/npcs/afs_prepnet_dialogue.json new file mode 100644 index 0000000000000..30d7c882e5e81 --- /dev/null +++ b/data/mods/Aftershock/npcs/afs_prepnet_dialogue.json @@ -0,0 +1,224 @@ +[ + { + "type": "effect_type", + "id": "u_met_prepnet_gardener" + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_1", + "dynamic_line": { + "u_has_var": "u_met_prepnet_gardener", + "type": "general", + "context": "meeting", + "value": "yes", + "yes": [ "Hey there.", "Hello.", "How are you?", "Welcome!", "How's the weather?" ], + "no": "Howdy! You seem new, what brings you here?" + }, + "responses": [ + { + "text": "Who are you?", + "effect": { "u_add_var": "u_met_prepnet_gardener", "type": "general", "context": "meeting", "value": "yes" }, + "condition": { "not": { "u_has_var": "u_met_prepnet_gardener", "type": "general", "context": "meeting", "value": "yes" } }, + "topic": "TALK_PrepNet_gardener_firstmeet" + }, + { + "text": "What is this place?", + "condition": { "u_has_var": "u_met_prepnet_gardener", "type": "general", "context": "meeting", "value": "yes" }, + "topic": "TALK_PrepNet_gardener_place" + }, + { + "text": "What's your story?", + "condition": { "u_has_var": "u_met_prepnet_gardener", "type": "general", "context": "meeting", "value": "yes" }, + "topic": "TALK_PrepNet_gardener_ask_past" + }, + { + "text": "How are things here?", + "condition": { "u_has_var": "u_met_prepnet_gardener", "type": "general", "context": "meeting", "value": "yes" }, + "topic": "TALK_PrepNet_gardener_ask_mood" + }, + { + "text": "Can I do anything for you?", + "condition": { "u_has_var": "u_met_prepnet_gardener", "type": "general", "context": "meeting", "value": "yes" }, + "topic": "TALK_MISSION_LIST" + }, + { "text": "How do I join the phyle?", "topic": "TALK_PrepNet_gardener_ask_membership" }, + { "text": "I'm going on my way now.", "topic": "TALK_DONE" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_firstmeet", + "dynamic_line": "I'm a gardener for PrepNet Phyle. Who are you?", + "responses": [ + { "text": "I am a beggar who really needs something to eat.", "topic": "TALK_PrepNet_gardener_food" }, + { "text": "I am just a fellow survivor.", "topic": "TALK_PrepNet_gardener_1" }, + { "text": "I'm bringing order back to the land.", "topic": "TALK_PrepNet_gardener_1" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_place", + "dynamic_line": "This is a PrepNet Phyle orchard. We were a community of survivalists gathering resources to prepare for climate change, but it left us better prepared for what actually happened than most.", + "responses": [ + { "text": "Can you give me something to eat then?", "topic": "TALK_PrepNet_gardener_food" }, + { "text": "What can I buy here?", "topic": "TALK_PrepNet_gardener_ask_goods" }, + { "text": "Oh, okay.", "topic": "TALK_PrepNet_gardener_1" }, + { "text": "Only the insane will prosper, I guess.", "topic": "TALK_DONE" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_food", + "dynamic_line": "This food has to go back to our core communities. But maybe we can trade some food for services", + "responses": [ + { "text": "I can pay.", "topic": "TALK_PrepNet_gardener_ask_food_bribe" }, + { "text": "What do you need done?", "topic": "TALK_MISSION_LIST" }, + { "text": "Well I'm heading out then", "topic": "TALK_DONE" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_ask_food_bribe", + "dynamic_line": "You have to earn the right to trade with us. Plus we created our own currency before the cataclysm", + "responses": [ + { "text": "It was worth a try.", "topic": "TALK_PrepNet_gardener_1" }, + { "text": "What kind of currency?", "topic": "TALK_PrepNet_gardener_currency" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_ask_membership", + "dynamic_line": "This is just an outpost, you'd have to find our main camp and currently we don't want you to.", + "responses": [ { "text": "I didn't want to join your club anyway.", "topic": "TALK_PrepNet_gardener_1" } ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_ask_goods", + "dynamic_line": "Here? Fruits and berries. Maybe the occasional piece of farm equipment, but you need crypto coins", + "responses": [ + { "text": "Ok.", "topic": "TALK_PrepNet_gardener_1" }, + { "text": "What are crypto coins?", "topic": "TALK_PrepNet_gardener_currency" }, + { "text": "What can I buy here?", "effect": "start_trade", "topic": "TALK_PrepNet_gardener_1" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_ask_past", + "dynamic_line": "I got introduced to the movement through Mutual Aid Society. From there it became an all consuming part of my life to prepare for a post consumption world. It seems to have worked better for us than for many others.", + "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_PrepNet_gardener_1" } ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_ask_mood", + "dynamic_line": "It can get lonely out here between caravans. But there's plenty of work and my Cyber Mastiffs. If a horde comes through we hunker down in a nearby shelter if it's too large for us.", + "responses": [ { "text": "I'm glad you stay busy.", "topic": "TALK_PrepNet_gardener_1" } ] + }, + { + "type": "talk_topic", + "id": "TALK_PrepNet_gardener_currency", + "dynamic_line": "We use crypto coins for money here. They were a pre cataclysm attempt to abstract money even further and create electronic cash. We figured we'd keep it up. Barter only gets you so far.", + "responses": [ + { "text": "Oh, okay.", "topic": "TALK_PrepNet_gardener_1" }, + { "text": "What can I buy here?", "effect": "start_trade", "topic": "TALK_PrepNet_gardener_1" } + ] + }, + { + "id": "MISSION_PrepNet_gardener_FUR_1", + "type": "mission_definition", + "name": "Big Game Hunting", + "description": "Find 50 fur pelts.", + "goal": "MGOAL_FIND_ITEM", + "difficulty": 1, + "value": 0, + "item": "fur", + "count": 50, + "origins": [ "ORIGIN_SECONDARY" ], + "followup": "MISSION_PrepNet_gardener_FOOD_2", + "dialogue": { + "describe": "I need 50 fur pelts.", + "offer": "I've got to maintain the orchard but at nights I work on prepping winter clothes. Could you find about... 50 fur pelts for me?", + "accepted": "Don't forget to tell me when you have them.", + "rejected": "It's okay, I can do without them. Just let me know if you reconsider.", + "advice": "There's a lot of places to look. The entire outdoors is full of wild animals.", + "inquire": "How is the search going? Have you found'em?", + "success": "I really apreciate your help. Don't worry, you won't leave empty-handed.", + "success_lie": "Thanks for trying... I guess.", + "failure": "Don't worry about it, it's not that important." + }, + "end": { "effect": [ { "u_buy_item": "crypto_coin", "count": 6 } ] } + }, + { + "id": "MISSION_PrepNet_gardener_FOOD_2", + "type": "mission_definition", + "name": "Bread", + "description": "Find 50 flour.", + "goal": "MGOAL_FIND_ITEM", + "difficulty": 2, + "value": 0, + "item": "flour", + "count": 50, + "origins": [ "ORIGIN_SECONDARY" ], + "followup": "MISSION_PrepNet_gardener_FOOD_3", + "dialogue": { + "describe": "I need 50 flour.", + "offer": "Flour would let me break the monotony of fruit and meats.", + "accepted": "Thanks for accepting this task. Otherwise I might kill a stranger for a sandwich. Just kidding.", + "rejected": "Just let me know if you change your mind.", + "advice": "Flour is not that hard to find. I'd look for them in residental areas and professional kitchens or bakeries.", + "inquire": "Have you found the flour?", + "success": "Thank you for your help. Here's your reward.", + "success_lie": "Thanks for trying... I guess.", + "failure": "It's not a big deal, it isn't that urgent." + }, + "end": { "effect": [ { "u_buy_item": "crypto_coin", "count": 5 } ] } + }, + { + "id": "MISSION_PrepNet_gardener_FOOD_3", + "type": "mission_definition", + "name": "Gallon Jugs", + "description": "Find 5 gallon jugs.", + "goal": "MGOAL_FIND_ITEM", + "difficulty": 1, + "value": 0, + "item": "jug_plastic", + "count": 5, + "origins": [ "ORIGIN_SECONDARY" ], + "followup": "MISSION_PrepNet_gardener_QUEST_4", + "dialogue": { + "describe": "I need storage for various liquid products when the fruits come in.", + "offer": "Every season we produce so much fruit. Some of it will be turned into juice and some into alcohol. I need easy containers to load it on the caravan.", + "accepted": "Thank you for accepting. I'm almost out after the last caravan.", + "rejected": "I guess I'll have to make stomach waterskins.", + "advice": "Gallon jugs are not that rare to find. They are commonly found in kitchens.", + "inquire": "Do you have those jugs now?", + "success": "I am grateful for the help you've done. I have one more task to do.", + "success_lie": "Thanks for trying... I guess.", + "failure": "Don't worry about it, it's not that important." + }, + "end": { "effect": [ { "u_buy_item": "crypto_coin", "count": 3 } ] } + }, + { + "id": "MISSION_PrepNet_gardener_QUEST_4", + "type": "mission_definition", + "name": "Faulty CBMs", + "description": "Find 5 faulty CBMs.", + "goal": "MGOAL_FIND_ITEM", + "difficulty": 3, + "value": 0, + "item": "burnt_out_bionic", + "count": 5, + "origins": [ "ORIGIN_SECONDARY" ], + "dialogue": { + "describe": "We have the ability to manufacture CBMs but lack resources.", + "offer": "If you can bring me faulty CBMs we can recycle them into new ones.", + "accepted": "Thank you for accepting. You're really making yourself useful to the phyle.", + "rejected": "These materials are often in dangerous areas. I understand your decision.", + "advice": "Zombie scientists, technicians, shocker zombies. These are not undertaken lightly.", + "inquire": "Do you have those CBMs now?", + "success": "I am grateful for the help you've done. I think we might be able to introduce you to others soon.", + "success_lie": "Thanks for trying... I guess.", + "failure": "Don't worry about it, it's not that important." + }, + "end": { "effect": [ { "u_buy_item": "crypto_coin", "count": 12 } ] } + } +] diff --git a/data/mods/Aftershock/recipes/afs_comestible_recipes.json b/data/mods/Aftershock/recipes/afs_comestible_recipes.json index abeeab4538f01..2b7d86c21c838 100644 --- a/data/mods/Aftershock/recipes/afs_comestible_recipes.json +++ b/data/mods/Aftershock/recipes/afs_comestible_recipes.json @@ -13,6 +13,19 @@ "tools": [ [ "rolling_pin" ] ], "components": [ [ [ "flour", 2 ] ], [ [ "water", 2 ], [ "water_clean", 2 ] ] ] }, + { + "type": "recipe", + "result": "butter", + "result_mult": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DAIRY", + "skill_used": "cooking", + "difficulty": 3, + "time": "15 m", + "qualities": [ { "id": "CHURN", "level": 2 } ], + "autolearn": true, + "components": [ [ [ "milk_raw", 45 ] ], [ [ "salt", 15 ] ] ] + }, { "type": "recipe", "result": "flatbread", From 4b261b597337de94a7e96085d5c49f5d3933d4e3 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Fri, 22 Nov 2019 14:38:39 +0400 Subject: [PATCH 175/175] Added "shrub with bee hive" furniture (#35323) * Added a chance for player to encounter bees while foraging shrubs * Survival skill reduces the chance to disturb bees * ees will sting you in random non-protected body parts, up to 8 times Cut protection > 1 is enough to completely protect the affected body part. * Take armor coverage value into account * Add "shrub with bee hive" furniture * Decrease chance to spawn * Decreased chance to spawn even more * Lowered even more --- data/json/emit.json | 6 ++ .../furniture-flora.json | 27 +++++++++ data/json/regional_map_settings.json | 3 +- src/iexamine.cpp | 1 + src/map_field.cpp | 60 ++++++------------- 5 files changed, 54 insertions(+), 43 deletions(-) diff --git a/data/json/emit.json b/data/json/emit.json index b19139d212c35..b58dc4fc6c4f1 100644 --- a/data/json/emit.json +++ b/data/json/emit.json @@ -293,5 +293,11 @@ "field": "fd_fog", "intensity": 2, "qty": 200 + }, + { + "id": "emit_bees", + "type": "emit", + "field": "fd_bees", + "qty": 3 } ] diff --git a/data/json/furniture_and_terrain/furniture-flora.json b/data/json/furniture_and_terrain/furniture-flora.json index 15a818826aa11..0417ebc47c344 100644 --- a/data/json/furniture_and_terrain/furniture-flora.json +++ b/data/json/furniture_and_terrain/furniture-flora.json @@ -286,5 +286,32 @@ "sound_fail": "whump.", "items": [ { "item": "withered", "count": [ 45, 50 ] } ] } + }, + { + "type": "furniture", + "id": "f_shrub_bee_hive", + "name": "shrub with bee hive", + "looks_like": "t_underbrush", + "description": "Shrub with a bee hive hidden somewhere deep inside. A constant buzzing is heard near it.", + "symbol": "#", + "color": "light_green", + "move_cost_mod": 3, + "required_str": -1, + "flags": [ "TRANSPARENT", "DIGGABLE", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "EMITTER" ], + "emissions": [ "emit_bees" ], + "examine_action": "harvest_furn", + "harvest_by_season": [ + { + "seasons": [ "spring", "summer", "autumn" ], + "entries": [ { "drop": "honeycomb", "base_num": [ 0, 4 ] }, { "drop": "wax", "base_num": [ 0, 4 ] } ] + } + ], + "bash": { + "str_min": 1, + "str_max": 6, + "sound": "crunch.", + "sound_fail": "brush.", + "items": [ { "item": "honeycomb", "prob": 30, "count": [ 0, 4 ] }, { "item": "wax", "prob": 30, "count": [ 0, 4 ] } ] + } } ] diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index a473f0c119d0f..680a09d703d8a 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -118,7 +118,8 @@ "f_dandelion": 8, "f_boulder_small": 1, "f_boulder_medium": 0.6666, - "f_boulder_large": 0.3333 + "f_boulder_large": 0.3333, + "f_shrub_bee_hive": 0.1 }, "boost_chance": 0.833, "boosted_percent_coverage": 2.5, diff --git a/src/iexamine.cpp b/src/iexamine.cpp index 72bfc433f2fe8..a30167f441eeb 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -3376,6 +3376,7 @@ void iexamine::shrub_wildveggies( player &p, const tripoint &examp ) } add_msg( _( "You forage through the %s." ), g->m.tername( examp ) ); + ///\EFFECT_SURVIVAL speeds up foraging int move_cost = 100000 / ( 2 * p.get_skill_level( skill_survival ) + 5 ); ///\EFFECT_PER randomly speeds up foraging diff --git a/src/map_field.cpp b/src/map_field.cpp index 6bd5e438c9dc7..645a01dc15f48 100644 --- a/src/map_field.cpp +++ b/src/map_field.cpp @@ -1230,10 +1230,11 @@ bool map::process_fields_in_submap( submap *const current_submap, // Kill them at the end of processing. cur.set_field_intensity( 0 ); } else { - // Bees chase the player if in range, wander randomly otherwise. + // 50% chance for bees to chase the player if in range, wander randomly otherwise. if( !g->u.is_underwater() && rl_dist( p, g->u.pos() ) < 10 && - clear_path( p, g->u.pos(), 10, 0, 100 ) ) { + clear_path( p, g->u.pos(), 10, 1, 100 ) && + one_in( 2 ) ) { std::vector candidate_positions = squares_in_direction( p.xy(), point( g->u.posx(), g->u.posy() ) ); @@ -1631,47 +1632,22 @@ void map::player_in_field( player &u ) if( ft == fd_bees ) { // Player is immune to bees while underwater. if( !u.is_underwater() ) { - int times_stung = 0; const int intensity = cur.get_field_intensity(); - // If the bees can get at you, they cause steadily increasing pain. - // TODO: Specific stinging messages. - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - times_stung += one_in( 4 ) && - u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes ); - switch( times_stung ) { - case 0: - // Woo, unscathed! - break; - case 1: - u.add_msg_if_player( m_bad, _( "The bees sting you!" ) ); - break; - case 2: - case 3: - u.add_msg_if_player( m_bad, _( "The bees sting you several times!" ) ); - break; - case 4: - case 5: - u.add_msg_if_player( m_bad, _( "The bees sting you many times!" ) ); - break; - case 6: - case 7: - case 8: - default: - u.add_msg_if_player( m_bad, _( "The bees sting you all over your body!" ) ); - break; + // Bees will try to sting you in random body parts, up to 8 times. + for( int i = 0; i < rng( 1, 7 ); i++ ) { + body_part bp = random_body_part(); + int sum_cover = 0; + for( const item &i : u.worn ) { + if( i.covers( bp ) ) { + sum_cover += i.get_coverage(); + } + } + // Get stung if [clothing on a body part isn't thick enough (like t-shirt) OR clothing covers less than 100% of body part] + // AND clothing on affected body part has low environmental protection value + if( ( u.get_armor_cut( bp ) <= 1 || ( sum_cover < 100 && x_in_y( 100 - sum_cover, 100 ) ) ) && + u.add_env_effect( effect_stung, bp, intensity, 9_minutes ) ) { + u.add_msg_if_player( m_bad, _( "The bees sting you in %s!" ), body_part_name_accusative( bp ) ); + } } } }