From 858234ee144cc36cb0d043ce8b210720b17a5413 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 09:35:23 -0800 Subject: [PATCH 01/85] add cop to bg groups --- data/json/npcs/BG_trait_groups.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/data/json/npcs/BG_trait_groups.json b/data/json/npcs/BG_trait_groups.json index 4a7c758140524..3836c50cd81f7 100644 --- a/data/json/npcs/BG_trait_groups.json +++ b/data/json/npcs/BG_trait_groups.json @@ -106,7 +106,12 @@ "type": "trait_group", "id": "BG_survival_story_POLICE", "subtype": "distribution", - "traits": [ { "group": "BG_survival_story_UNIVERSAL" }, { "trait": "BGSS_Cop_1" }, { "trait": "BGSS_Cop_2" } ] + "traits": [ + { "group": "BG_survival_story_UNIVERSAL" }, + { "trait": "BGSS_Cop_1" }, + { "trait": "BGSS_Cop_2" }, + { "trait": "BGSS_Cop_3" } + ] }, { "//": "This group is for NPCs that should be doing their homework instead of hunting zombies.", From 2b9c3c69a80902f1a88dccc6b819c28a5fedf38e Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 09:36:07 -0800 Subject: [PATCH 02/85] add cop_3 bgss trait --- data/json/npcs/BG_traits.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/data/json/npcs/BG_traits.json b/data/json/npcs/BG_traits.json index d738b31c04af5..105600feb34b0 100644 --- a/data/json/npcs/BG_traits.json +++ b/data/json/npcs/BG_traits.json @@ -390,6 +390,17 @@ "purifiable": false, "flags": [ "BG_SURVIVAL_STORY" ] }, + { + "type": "mutation", + "id": "BGSS_Cop_3", + "name": "Survivor Story", + "points": 0, + "description": "cop3", + "player_display": false, + "valid": false, + "purifiable": false, + "flags": [ "BG_SURVIVAL_STORY" ] + }, { "type": "mutation", "id": "BGSS_Hunter_1", From 5ecf3f2f056166285d0016642a1bbc8ea532e327 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 09:37:06 -0800 Subject: [PATCH 03/85] Create cop_3.json Still filler --- data/json/npcs/Backgrounds/cop_3.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 data/json/npcs/Backgrounds/cop_3.json diff --git a/data/json/npcs/Backgrounds/cop_3.json b/data/json/npcs/Backgrounds/cop_3.json new file mode 100644 index 0000000000000..67ebb46053b8d --- /dev/null +++ b/data/json/npcs/Backgrounds/cop_3.json @@ -0,0 +1,17 @@ +[ + { + "id": "BGSS_COP_3_STORY1", + "type": "talk_topic", + "dynamic_line": "tk", + "responses": [ + { "text": "tk.", "topic": "BGSS_COP_3_STORY2" }, + { "text": "", "topic": "TALK_FRIEND" } + ] + }, + { + "id": "BGSS_COP_3_STORY2", + "type": "talk_topic", + "dynamic_line": "tk", + "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] + } +] From 16cc622a4286990abe2496b4e5651884cd72139e Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 09:37:31 -0800 Subject: [PATCH 04/85] add cop_3 to background TOC --- .../npcs/Backgrounds/backgrounds_table_of_contents.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data/json/npcs/Backgrounds/backgrounds_table_of_contents.json b/data/json/npcs/Backgrounds/backgrounds_table_of_contents.json index ed4027a55236f..e7b634e669ee4 100644 --- a/data/json/npcs/Backgrounds/backgrounds_table_of_contents.json +++ b/data/json/npcs/Backgrounds/backgrounds_table_of_contents.json @@ -219,6 +219,12 @@ "condition": { "npc_has_trait": "BGSS_Cop_2" }, "switch": true }, + { + "text": "", + "topic": "BGSS_COP_3_STORY1", + "condition": { "npc_has_trait": "BGSS_Cop_3" }, + "switch": true + }, { "text": "", "topic": "BGSS_HUNTER_1_STORY1", From 49c318166dda3b6d3f2fc943056e0bbc2ce1c356 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 10:00:00 -0800 Subject: [PATCH 05/85] finish cop3 --- data/json/npcs/Backgrounds/cop_3.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/Backgrounds/cop_3.json b/data/json/npcs/Backgrounds/cop_3.json index 67ebb46053b8d..f68d8361a39e7 100644 --- a/data/json/npcs/Backgrounds/cop_3.json +++ b/data/json/npcs/Backgrounds/cop_3.json @@ -2,16 +2,17 @@ { "id": "BGSS_COP_3_STORY1", "type": "talk_topic", - "dynamic_line": "tk", + "dynamic_line": "Before , I was a cop. I got shot just a couple days before everything went down... I made a bad call in a drug bust and a scumbag got me right in the gut, it was barely stopped by my vest. I took some pretty bad internal bruising. I never thought getting shot would save my life, but I was off duty recuperating when the worst of it hit.", "responses": [ - { "text": "tk.", "topic": "BGSS_COP_3_STORY2" }, - { "text": "", "topic": "TALK_FRIEND" } + { "text": "What did you do when you found out about the cataclysm?", "topic": "BGSS_COP_3_STORY2" }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } ] }, { "id": "BGSS_COP_3_STORY2", "type": "talk_topic", - "dynamic_line": "tk", + "dynamic_line": "At first I wanted to help. The riots, fighting in the streets, it was too much for me to just sit in my house and hear about it on the news. Then a buddy of mine called me from just off the front lines. He'd been hurt and he wasn't making much sense, but what he told me... well, you can imagine the kind of stuff he told me. Everything the worst of the internet was making up, and more. Instead of packing up to try to volunteer back onto active duty, I took his advice and packed up to leave. My house was on the edge of town and the riots hadn't reached it yet, but from what I'd heard it was smarter to get out than to hold tight. I slipped out that night and camped a few days in the woods, waiting for it to blow over. It never did.", "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] } ] From d4ce0534c6a46f0f6278dc79a25ec027e52086a3 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 10:42:28 -0800 Subject: [PATCH 06/85] Update cop_3.json Experiments with adding time-based story extensions. --- data/json/npcs/Backgrounds/cop_3.json | 31 ++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/data/json/npcs/Backgrounds/cop_3.json b/data/json/npcs/Backgrounds/cop_3.json index f68d8361a39e7..878247b522d89 100644 --- a/data/json/npcs/Backgrounds/cop_3.json +++ b/data/json/npcs/Backgrounds/cop_3.json @@ -4,7 +4,16 @@ "type": "talk_topic", "dynamic_line": "Before , I was a cop. I got shot just a couple days before everything went down... I made a bad call in a drug bust and a scumbag got me right in the gut, it was barely stopped by my vest. I took some pretty bad internal bruising. I never thought getting shot would save my life, but I was off duty recuperating when the worst of it hit.", "responses": [ - { "text": "What did you do when you found out about the cataclysm?", "topic": "BGSS_COP_3_STORY2" }, + { "text": "What did you do when you found out about the cataclysm?", + "condition": { "not": { "days_since_cataclysm": 90 } }, + "effect": { "npc_add_effect": "BGSS_Cop_3_earlymeeting", "duration": "PERMANENT" }, + "//": "If you talk to this NPC any time before day 90, the game flags him as an NPC you met 'early' and never gives you the 'late' convo options", + "topic": "BGSS_COP_3_STORY2" + }, + { "text": "What did you do when you found out about the cataclysm?", + "condition": { "days_since_cataclysm": 90 }, + "topic": "BGSS_COP_3_STORY2" + }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] @@ -12,7 +21,23 @@ { "id": "BGSS_COP_3_STORY2", "type": "talk_topic", - "dynamic_line": "At first I wanted to help. The riots, fighting in the streets, it was too much for me to just sit in my house and hear about it on the news. Then a buddy of mine called me from just off the front lines. He'd been hurt and he wasn't making much sense, but what he told me... well, you can imagine the kind of stuff he told me. Everything the worst of the internet was making up, and more. Instead of packing up to try to volunteer back onto active duty, I took his advice and packed up to leave. My house was on the edge of town and the riots hadn't reached it yet, but from what I'd heard it was smarter to get out than to hold tight. I slipped out that night and camped a few days in the woods, waiting for it to blow over. It never did.", - "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] + "dynamic_line": "At first I wanted to help. The riots, fighting in the streets, it was too much for me to just sit in my house and hear about it on the news. Then a buddy of mine called me from just off the front lines. He'd been hurt and he wasn't making much sense, but what he told me... well, you can imagine the kind of stuff he told me. Everything the worst of the internet was making up, and more. Instead of packing up to try to volunteer back onto active duty, I took his advice and packed up to leave. My house was on the edge of town and the riots hadn't reached it yet, but from what I'd heard it was smarter to get out than to hold tight. I slipped out that night, took my quad out, and camped a few days in the woods, waiting for it to blow over. It never did.", + "responses": [ + { "text": "What was it like, surviving out there with an injury?", + "condition": { "not": { "npc_has_effect": "BGSS_Cop_3_earlymeeting" } }, + "topic": "BGSS_COP_3_STORY3" + }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, + { + "id": "BGSS_COP_3_STORY3", + "type": "talk_topic", + "dynamic_line": "Honestly, probably better than it sounds. I had a good bug-out bag, a nice tent, a lot of good stuff. I hadn't suffered any internal organ damage, my stomach muscles were just really badly bruised, and I'd already had some good time to recover. I think it kept me from doing anything too stupid, and believe me there was a high chance of that. For a long time I had these Rambo visions of rushing into town and saving everyone, but I was still too immobile. By the time I had my strength back, it wasn't an option... we were well into the rushing into town for supplies phase. The closest I got to saving any old friends was putting down the monsters wearing their faces.", + "responses": [ + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] } ] From 2d44a3d1791d699f2aa11d546f85c2b56f5e2637 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 10:45:26 -0800 Subject: [PATCH 07/85] Update cop_3.json lint --- data/json/npcs/Backgrounds/cop_3.json | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/data/json/npcs/Backgrounds/cop_3.json b/data/json/npcs/Backgrounds/cop_3.json index 878247b522d89..3f35c22f49599 100644 --- a/data/json/npcs/Backgrounds/cop_3.json +++ b/data/json/npcs/Backgrounds/cop_3.json @@ -4,15 +4,17 @@ "type": "talk_topic", "dynamic_line": "Before , I was a cop. I got shot just a couple days before everything went down... I made a bad call in a drug bust and a scumbag got me right in the gut, it was barely stopped by my vest. I took some pretty bad internal bruising. I never thought getting shot would save my life, but I was off duty recuperating when the worst of it hit.", "responses": [ - { "text": "What did you do when you found out about the cataclysm?", - "condition": { "not": { "days_since_cataclysm": 90 } }, - "effect": { "npc_add_effect": "BGSS_Cop_3_earlymeeting", "duration": "PERMANENT" }, - "//": "If you talk to this NPC any time before day 90, the game flags him as an NPC you met 'early' and never gives you the 'late' convo options", - "topic": "BGSS_COP_3_STORY2" + { + "text": "What did you do when you found out about the cataclysm?", + "condition": { "not": { "days_since_cataclysm": 90 } }, + "effect": { "npc_add_effect": "BGSS_Cop_3_earlymeeting", "duration": "PERMANENT" }, + "//": "If you talk to this NPC any time before day 90, the game flags him as an NPC you met 'early' and never gives you the 'late' convo options", + "topic": "BGSS_COP_3_STORY2" }, - { "text": "What did you do when you found out about the cataclysm?", - "condition": { "days_since_cataclysm": 90 }, - "topic": "BGSS_COP_3_STORY2" + { + "text": "What did you do when you found out about the cataclysm?", + "condition": { "days_since_cataclysm": 90 }, + "topic": "BGSS_COP_3_STORY2" }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } @@ -23,9 +25,10 @@ "type": "talk_topic", "dynamic_line": "At first I wanted to help. The riots, fighting in the streets, it was too much for me to just sit in my house and hear about it on the news. Then a buddy of mine called me from just off the front lines. He'd been hurt and he wasn't making much sense, but what he told me... well, you can imagine the kind of stuff he told me. Everything the worst of the internet was making up, and more. Instead of packing up to try to volunteer back onto active duty, I took his advice and packed up to leave. My house was on the edge of town and the riots hadn't reached it yet, but from what I'd heard it was smarter to get out than to hold tight. I slipped out that night, took my quad out, and camped a few days in the woods, waiting for it to blow over. It never did.", "responses": [ - { "text": "What was it like, surviving out there with an injury?", - "condition": { "not": { "npc_has_effect": "BGSS_Cop_3_earlymeeting" } }, - "topic": "BGSS_COP_3_STORY3" + { + "text": "What was it like, surviving out there with an injury?", + "condition": { "not": { "npc_has_effect": "BGSS_Cop_3_earlymeeting" } }, + "topic": "BGSS_COP_3_STORY3" }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } @@ -35,9 +38,6 @@ "id": "BGSS_COP_3_STORY3", "type": "talk_topic", "dynamic_line": "Honestly, probably better than it sounds. I had a good bug-out bag, a nice tent, a lot of good stuff. I hadn't suffered any internal organ damage, my stomach muscles were just really badly bruised, and I'd already had some good time to recover. I think it kept me from doing anything too stupid, and believe me there was a high chance of that. For a long time I had these Rambo visions of rushing into town and saving everyone, but I was still too immobile. By the time I had my strength back, it wasn't an option... we were well into the rushing into town for supplies phase. The closest I got to saving any old friends was putting down the monsters wearing their faces.", - "responses": [ - { "text": "", "topic": "TALK_FRIEND" }, - { "text": "", "topic": "TALK_DONE" } - ] + "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] } ] From 96c2044048d1226eaaff712cd80e045e7a60078f Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 12:41:59 -0800 Subject: [PATCH 08/85] Update cop_3.json add effect --- data/json/npcs/Backgrounds/cop_3.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/data/json/npcs/Backgrounds/cop_3.json b/data/json/npcs/Backgrounds/cop_3.json index 3f35c22f49599..03cbd82cf3fa0 100644 --- a/data/json/npcs/Backgrounds/cop_3.json +++ b/data/json/npcs/Backgrounds/cop_3.json @@ -20,6 +20,11 @@ { "text": "", "topic": "TALK_DONE" } ] }, + { + "type": "effect_type", + "id": "BGSS_Cop_3_earlymeeting", + "//": "Defined here because this should be the only time this effect is referenced." + }, { "id": "BGSS_COP_3_STORY2", "type": "talk_topic", From e8ff5a1958d6d43e0070453bc0abf162375817f1 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 12:51:57 -0800 Subject: [PATCH 09/85] Update evacuee_1.json Adds time sensitive extra story. --- data/json/npcs/Backgrounds/evacuee_1.json | 42 ++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/data/json/npcs/Backgrounds/evacuee_1.json b/data/json/npcs/Backgrounds/evacuee_1.json index 6bc2eec6a02c7..5c704c0dda5b4 100644 --- a/data/json/npcs/Backgrounds/evacuee_1.json +++ b/data/json/npcs/Backgrounds/evacuee_1.json @@ -4,15 +4,55 @@ "type": "talk_topic", "dynamic_line": "I made it to one of those evac shelters, but it was almost worse than what I left behind. Escaped from there, been on the run since.", "responses": [ - { "text": "How did you survive on the run?", "topic": "BGSS_EVACUEE_1_STORY2" }, + { + "text": "How did you survive on the run?", + "topic": "BGSS_EVACUEE_1_STORY2", + "condition": { "not": { "days_since_cataclysm": 90 } }, + "effect": { "npc_add_effect": "BGSS_EVACUEE_1_earlymeeting", "duration": "PERMANENT" }, + "//": "If you talk to this NPC any time before day 90, the game flags him as an NPC you met 'early' and never gives you the 'late' convo options" + }, + { + "text": "How did you survive on the run?", + "condition": { "days_since_cataclysm": 90 }, + "topic": "BGSS_EVACUEE_1_STORY2" + }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] }, + { + "type": "effect_type", + "id": "BGSS_EVACUEE_1_earlymeeting", + "//": "Defined here because this should be the only time this effect is referenced." + }, { "id": "BGSS_EVACUEE_1_STORY2", "type": "talk_topic", "dynamic_line": "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.", + "responses": [ + { + "text": "And that's it? You spent months just living off the land?", + "topic": "BGSS_EVACUEE_1_STORY3", + "condition": { "not": { "npc_has_effect": "BGSS_EVACUEE_1_earlymeeting" } } + }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, + { + "id": "BGSS_EVACUEE_1_STORY3", + "type": "talk_topic", + "dynamic_line": "Not exactly. After a while, I got brave. I started venturing towards the outskirts of town, picking off zombies here and there. I learned about travelling in at night to avoid all but those shadow-zombies, and that got me pretty far. Eventually I cleared out a cozy little nook for myself and started really feeling comfortable. I guess I got a bit complacent.", + "responses": [ + { "text": "Complacent?", "topic": "BGSS_EVACUEE_1_STORY4" }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, + { + "id": "BGSS_EVACUEE_1_STORY4", + "type": "talk_topic", + "dynamic_line": "I thought I had those damned figured out. I got braver, started heading out by day more and more. One of those screamer zombies spotted me and called in a horde, with a giant beasty at the head of it, the size of a volkswagen and all covered in bone plates. I know when I'm outclassed. The big guy was held back by his own horde of buddies, and I managed to book it back to my place. I closed the windows, locked it down, but it was too late. The giant followed me and just started hammering right through the walls. I grabbed what I could and made for the horizon. Last I saw of my squat, it was collapsing on the bastard. For all I know, it died in the crash, but I am not going back to find out.", "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] } ] From 9720ee5912debaa6a7a6496948d36289fd63c7c0 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 13:11:43 -0800 Subject: [PATCH 10/85] Update evacuee_3.json Add time sensitive dialogue about living in the subway. --- data/json/npcs/Backgrounds/evacuee_3.json | 72 ++++++++++++++++++++++- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/data/json/npcs/Backgrounds/evacuee_3.json b/data/json/npcs/Backgrounds/evacuee_3.json index 57909340f82e4..6ca1acd59acbd 100644 --- a/data/json/npcs/Backgrounds/evacuee_3.json +++ b/data/json/npcs/Backgrounds/evacuee_3.json @@ -3,6 +3,74 @@ "id": "BGSS_EVACUEE_3_STORY1", "type": "talk_topic", "dynamic_line": "There's nothing too special about me, I'm not sure why I survived. I got evacuated with a handful of others, but we were too late to make the second trip to a FEMA center. We got attacked by the dead... I was the only one to make it out. I never looked back.", - "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] - } + "responses": [ + { + "text": "How did you survive after that?", + "condition": { "not": { "days_since_cataclysm": 90 } }, + "effect": { "npc_add_effect": "BGSS_EVACUEE_3_earlymeeting", "duration": "PERMANENT" }, + "//": "If you talk to this NPC any time before day 90, the game flags him as an NPC you met 'early' and never gives you the 'late' convo options", + "topic": "BGSS_EVACUEE_3_STORY2" + }, + { + "text": "How did you survive after that?", + "condition": { "days_since_cataclysm": 90 }, + "topic": "BGSS_EVACUEE_3_STORY2" + }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, + { + "type": "effect_type", + "id": "BGSS_EVACUEE_3_earlymeeting", + "//": "Defined here because this should be the only time this effect is referenced." + }, + { + "id": "BGSS_EVACUEE_3_STORY2", + "type": "talk_topic", + "dynamic_line": "Sheer luck I guess. I went the absolute wrong way, into town, and wound up stuck in the subway system. I spent a few days living off vending machine food. Not the best eating, but I pulled through. At least there weren't so many zombies down there.", + "responses": [ + { + "text": "What got you out of the subway?", + "condition": { "not": { "npc_has_effect": "BGSS_EVACUEE_3_earlymeeting" } }, + "topic": "BGSS_EVACUEE_3_STORY3_LATE" + }, + { + "text": "What got you out of the subway?", + "condition": { "npc_has_effect": "BGSS_EVACUEE_3_earlymeeting" }, + "topic": "BGSS_EVACUEE_3_STORY3_EARLY" + }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, + { + "id": "BGSS_EVACUEE_3_STORY3_EARLY", + "type": "talk_topic", + "dynamic_line": "Straight up hunger. I didn't have any great light source down there, and I didn't have much food. I was slipping up and down to the station to buy from the vending machines, but once I ran out of cash I had to make a break for it. I waited until dark and then skipped out.", + "responses": [ + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, + { + "id": "BGSS_EVACUEE_3_STORY3_LATE", + "type": "talk_topic", + "dynamic_line": "Straight up hunger. I didn't have any great light source down there, and I didn't have much food. I was slipping up and down to the station to buy from the vending machines, but once I ran out of cash I had to think of something else. I started raiding the surrounding area by night, and built a decent little base under there.", + "responses": [ + { "text": "I didn't meet you in the subway though. You left.", "topic": "BGSS_EVACUEE_3_STORY4" }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, + { + "id": "BGSS_EVACUEE_3_STORY4", + "type": "talk_topic", + "dynamic_line": "Yeah. I had it pretty good there, but eventually I just started going a bit nuts. Always dark, a bit cold, living off scavenged junk food... a soul can only live like that for so long. When the weather above ground got warmer and the daylight hours got longer I decided to get a bit braver. I'd learned enough about the that I was able to live pretty well after that. I've camped a few places, scavenged berries and whatnot, lived a pretty good life compared to those first few months.", + "responses": [ + { "text": "I didn't meet you in the subway though. You left.", "topic": "BGSS_EVACUEE_3_STORY4" }, + { "text": "", "topic": "TALK_FRIEND" }, + { "text": "", "topic": "TALK_DONE" } + ] + }, ] From 97bf6d3c22790b938fbf2a4140e2ea0f034ec64e Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 22 Jan 2019 13:12:14 -0800 Subject: [PATCH 11/85] Update evacuee_3.json lint --- data/json/npcs/Backgrounds/evacuee_3.json | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/data/json/npcs/Backgrounds/evacuee_3.json b/data/json/npcs/Backgrounds/evacuee_3.json index 6ca1acd59acbd..cadfc5ef80f3c 100644 --- a/data/json/npcs/Backgrounds/evacuee_3.json +++ b/data/json/npcs/Backgrounds/evacuee_3.json @@ -48,10 +48,7 @@ "id": "BGSS_EVACUEE_3_STORY3_EARLY", "type": "talk_topic", "dynamic_line": "Straight up hunger. I didn't have any great light source down there, and I didn't have much food. I was slipping up and down to the station to buy from the vending machines, but once I ran out of cash I had to make a break for it. I waited until dark and then skipped out.", - "responses": [ - { "text": "", "topic": "TALK_FRIEND" }, - { "text": "", "topic": "TALK_DONE" } - ] + "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] }, { "id": "BGSS_EVACUEE_3_STORY3_LATE", @@ -72,5 +69,5 @@ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] - }, + } ] From 1c7e2cb37c130e5d4e827983ea046e86947ac4dc Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Wed, 23 Jan 2019 08:00:05 -0800 Subject: [PATCH 12/85] Address a use-after-erase in zone deserialization error handling This almost certainly never happens, but it may crash if it ever does get executed. --- src/clzones.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/clzones.cpp b/src/clzones.cpp index 50185cea16eef..e5fb1df928d52 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -772,9 +772,10 @@ void zone_manager::deserialize( JsonIn &jsin ) { jsin.read( zones ); for( auto it = zones.begin(); it != zones.end(); ++it ) { - if( !has_type( it->get_type() ) ) { + std::string zone_type = it->get_type(); + if( !has_type( zone_type ) ) { zones.erase( it ); - debugmsg( "Invalid zone type: %s", it->get_type().c_str() ); + debugmsg( "Invalid zone type: %s", zone_type.c_str() ); } } } From b80432bf2dd4806a2de777c4d1031198f257f518 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Wed, 23 Jan 2019 12:03:19 -0800 Subject: [PATCH 13/85] Fix type --- src/clzones.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clzones.cpp b/src/clzones.cpp index e5fb1df928d52..daff04824a245 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -772,7 +772,7 @@ void zone_manager::deserialize( JsonIn &jsin ) { jsin.read( zones ); for( auto it = zones.begin(); it != zones.end(); ++it ) { - std::string zone_type = it->get_type(); + const zone_type_id zone_type = it->get_type(); if( !has_type( zone_type ) ) { zones.erase( it ); debugmsg( "Invalid zone type: %s", zone_type.c_str() ); From 2e146614a5748d4d34d81300bde26c5baffadc7f Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Wed, 23 Jan 2019 22:47:23 +0000 Subject: [PATCH 14/85] Fix player lighting walls at night Player- (and npc-) held items were performing their lighting updates before natural light falling upon walls. Furthermore, the natural light on exterior wall tiles was setting the natural light value without regard to the previous value. Consequently, at night player-held items appeared unable to illuminate exterior walls. Fix this by correcting the natural light code. --- src/lightmap.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lightmap.cpp b/src/lightmap.cpp index ac2eadff1dc89..e0b05b54e028e 100644 --- a/src/lightmap.cpp +++ b/src/lightmap.cpp @@ -241,11 +241,14 @@ void map::generate_lightmap( const int zlev ) ) && outside_cache[p.x + dir_x[i]][p.y + dir_y[i]] ) { if( light_transparency( p ) > LIGHT_TRANSPARENCY_SOLID ) { - lm[p.x][p.y][quadrant::default_] = natural_light; + update_light_quadrants( + lm[p.x][p.y], natural_light, quadrant::default_ ); apply_directional_light( p, dir_d[i], natural_light ); } else { - lm[p.x][p.y][dir_quadrants[i][0]] = natural_light; - lm[p.x][p.y][dir_quadrants[i][1]] = natural_light; + update_light_quadrants( + lm[p.x][p.y], natural_light, dir_quadrants[i][0] ); + update_light_quadrants( + lm[p.x][p.y], natural_light, dir_quadrants[i][1] ); } } } From be8f6ce862e3149eb9b9e1db70f4232d4714fcbf Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Wed, 23 Jan 2019 22:57:26 +0000 Subject: [PATCH 15/85] Vision test for player lighting at night Regression test for just-fixed lighting bug. --- tests/vision_test.cpp | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/tests/vision_test.cpp b/tests/vision_test.cpp index bbca0f0476239..06141819c441b 100644 --- a/tests/vision_test.cpp +++ b/tests/vision_test.cpp @@ -21,6 +21,7 @@ void full_map_test( const std::vector &setup, g->place_player( tripoint( 60, 60, 0 ) ); g->reset_light_level(); + g->u.worn.clear(); // Remove any light-emitting clothing g->u.clear_effects(); clear_map(); @@ -48,9 +49,16 @@ void full_map_test( const std::vector &setup, tripoint origin; for( int y = 0; y < height; ++y ) { for( int x = 0; x < width; ++x ) { - if( setup[y][x] == 'U' || setup[y][x] == 'u' ) { - origin = g->u.pos() - point( x, y ); - break; + switch( setup[y][x] ) { + case 'V': + case 'U': + case 'u': + origin = g->u.pos() - point( x, y ); + if( setup[y][x] == 'V' ) { + item headlamp( "wearable_light_on" ); + g->u.worn.push_back( headlamp ); + } + break; } } } @@ -63,7 +71,7 @@ void full_map_test( const std::vector &setup, REQUIRE( player_offset.x >= 0 ); REQUIRE( player_offset.x < width ); char player_char = setup[player_offset.y][player_offset.x]; - REQUIRE( ( player_char == 'U' || player_char == 'u' ) ); + REQUIRE( ( player_char == 'U' || player_char == 'u' || player_char == 'V' ) ); } for( int y = 0; y < height; ++y ) { @@ -86,6 +94,7 @@ void full_map_test( const std::vector &setup, g->m.ter_set( p, t_floor ); break; case 'U': + case 'V': // Already handled above break; default: @@ -269,6 +278,7 @@ static constexpr int midday = HOURS( 12 ); // '-' - empty, indoors // 'U' - player, outdoors // 'u' - player, indoors +// 'V' - player, with light in inventory // 'L' - light, indoors // '#' - wall // '=' - window frame @@ -395,6 +405,30 @@ TEST_CASE( "vision_wall_obstructs_light", "[shadowcasting][vision]" ) t.test_all(); } +TEST_CASE( "vision_wall_can_be_lit_by_player", "[shadowcasting][vision]" ) +{ + vision_test_case t { + { + " V", + " ", + " ", + "##", + "--", + }, + { + "44", + "44", + "44", + "44", + "66", + }, + midnight, + true + }; + + t.test_all(); +} + TEST_CASE( "vision_see_wall_in_moonlight", "[shadowcasting][vision]" ) { const time_duration till_full_moon = calendar::season_length() / 3; From e64e8325b9b24d9de5e890a719a59499bc825a65 Mon Sep 17 00:00:00 2001 From: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Date: Thu, 24 Jan 2019 04:01:51 +0000 Subject: [PATCH 16/85] Wind direction generation / tweaks of windpower (#27772) * added noise to direction * got direction working * made winddir scale down as well as up * added proper variation, fixed windstrength * tweaked algorithm for seasonal variation --- src/bionics.cpp | 2 + src/iuse.cpp | 1 + src/weather_gen.cpp | 92 ++++++++++++++++++++++++++++++++++++++++----- src/weather_gen.h | 7 ++++ 4 files changed, 93 insertions(+), 9 deletions(-) diff --git a/src/bionics.cpp b/src/bionics.cpp index c9e8ca462f781..9ba12eaa1a104 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -33,6 +33,7 @@ #include "vehicle.h" #include "vpart_position.h" #include "weather.h" +#include "weather_gen.h" const skill_id skilll_electronics( "electronics" ); const skill_id skilll_firstaid( "firstaid" ); @@ -502,6 +503,7 @@ bool player::activate_bionic( int b, bool eff_only ) print_temperature( get_local_windchill( weatherPoint.temperature, weatherPoint.humidity, windpower ) + player_local_temp ).c_str() ); + add_msg_if_player( m_info, _( "Wind Direction: From the %s." ), weatherPoint.dirstring ); } else if( bio.id == "bio_remote" ) { int choice = uilist( _( "Perform which function:" ), { _( "Control vehicle" ), _( "RC radio" ) diff --git a/src/iuse.cpp b/src/iuse.cpp index 63b237b10b6f5..e2e4da6695fae 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -7413,6 +7413,7 @@ int iuse::weather_tool( player *p, item *it, bool, const tripoint & ) print_temperature( get_local_windchill( weatherPoint.temperature, weatherPoint.humidity, windpower ) + player_local_temp ).c_str() ); + p->add_msg_if_player( m_neutral, _( "Wind Direction: From the %s." ), weatherPoint.dirstring ); } return 0; diff --git a/src/weather_gen.cpp b/src/weather_gen.cpp index fd741aeb34a2c..dc7800b460364 100644 --- a/src/weather_gen.cpp +++ b/src/weather_gen.cpp @@ -1,12 +1,18 @@ #include "weather_gen.h" +#include +#include #include #include #include +#include +#include +#include -#include "calendar.h" #include "enums.h" #include "json.h" +#include "messages.h" +#include "rng.h" #include "simplexnoise.h" #include "weather.h" @@ -18,6 +24,7 @@ constexpr double tau = 2 * PI; } //namespace weather_generator::weather_generator() = default; +int weather_generator::current_winddir = 1000; w_point weather_generator::get_weather( const tripoint &location, const time_point &t, unsigned seed ) const @@ -34,19 +41,18 @@ w_point weather_generator::get_weather( const tripoint &location, const time_poi //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 const unsigned modSEED = seed % 32768; - // Noise factors double T( raw_noise_4d( x, y, z, modSEED ) * 4.0 ); double H( raw_noise_4d( x, y, z / 5, modSEED + 101 ) ); double H2( raw_noise_4d( x, y, z, modSEED + 151 ) / 4 ); - double P( raw_noise_4d( x, y, z / 3, modSEED + 211 ) * 70 ); + double P( raw_noise_4d( x / 2.5, y / 2.5, z / 30, modSEED + 211 ) * 70 ); double A( raw_noise_4d( x, y, z, modSEED ) * 8.0 ); - double W; + double W( raw_noise_4d( x / 2.5, y / 2.5, z / 200, modSEED ) * 10.0 ); const double now( ( time_past_new_year( t ) + calendar::season_length() / 2 ) / calendar::year_length() ); // [0,1) const double ctn( cos( tau * now ) ); - + const season_type season = season_of_year( now ); // Temperature variation const double mod_t( 0 ); // TODO: make this depend on latitude and altitude? const double current_t( base_temperature + @@ -77,13 +83,26 @@ w_point weather_generator::get_weather( const tripoint &location, const time_poi base_pressure; // Pressure is mostly random, but a bit higher on summer and lower on winter. In millibars. // Wind power - W = std::max( 0, 1020 - static_cast( P ) ); - + W = std::max( 0, static_cast( 5.7 / pow( P / 1014.78, rng( 9, 30 ) ) + + ( seasonal_variation / 64 ) * rng( 1, 2 ) * W ) ); + // Wind direction + // initial static variable + if( current_winddir == 1000 ) { + current_winddir = get_wind_direction( season ); + current_winddir = convert_winddir( current_winddir ); + } else { + //when wind strength is low, wind direction is more variable + bool changedir = one_in( W * 360 ); + if( changedir == true ) { + current_winddir = get_wind_direction( season ); + current_winddir = convert_winddir( current_winddir ); + } + } + std::string dirstring = get_dirstring( current_winddir ); // Acid rains const double acid_content = base_acid * A; bool acid = acid_content >= 1.0; - - return w_point {T, H, P, W, acid}; + return w_point {T, H, P, W, current_winddir, dirstring, acid}; } weather_type weather_generator::get_weather_conditions( const tripoint &location, @@ -139,6 +158,35 @@ weather_type weather_generator::get_weather_conditions( const w_point &w ) const return r; } +int weather_generator::get_wind_direction( const season_type season ) const +{ + unsigned dirseed = std::chrono::system_clock::now().time_since_epoch().count(); + std::default_random_engine wind_dir_gen( dirseed ); + //assign chance to angle direction + if( season == SPRING ) { + std::discrete_distribution distribution {3, 3, 5, 8, 11, 10, 5, 2, 5, 6, 6, 5, 8, 10, 8, 6}; + return distribution( wind_dir_gen ); + } else if( season == SUMMER ) { + std::discrete_distribution distribution {3, 4, 4, 8, 8, 9, 8, 3, 7, 8, 10, 7, 7, 7, 5, 3}; + return distribution( wind_dir_gen ); + } else if( season == AUTUMN ) { + std::discrete_distribution distribution {4, 6, 6, 7, 6, 5, 4, 3, 5, 6, 8, 8, 10, 10, 8, 5}; + return distribution( wind_dir_gen ); + } else if( season == WINTER ) { + std::discrete_distribution distribution {5, 3, 2, 3, 2, 2, 2, 2, 4, 6, 10, 8, 12, 19, 13, 9}; + return distribution( wind_dir_gen ); + } else { + return 0; + } +} + +int weather_generator::convert_winddir( const int inputdir ) const +{ + //convert from discrete distribution output to angle + float finputdir = inputdir * 22.5; + return static_cast( finputdir ); +} + int weather_generator::get_water_temperature() const { /** @@ -150,6 +198,7 @@ int weather_generator::get_water_temperature() const int season_length = to_days( calendar::season_length() ); int day = calendar::turn.day_of_year(); int hour = hour_of_day( calendar::turn ); + int water_temperature = 0; if( season_length == 0 ) { @@ -167,6 +216,31 @@ int weather_generator::get_water_temperature() const return water_temperature; } +std::string weather_generator::get_dirstring( int angle ) const +{ + //convert angle to cardinal directions + std::string dirstring; + int dirangle = angle; + if( dirangle <= 23 || dirangle > 338 ) { + dirstring = ( "North" ); + } else if( dirangle <= 68 && dirangle > 23 ) { + dirstring = ( "North-East" ); + } else if( dirangle <= 113 && dirangle > 68 ) { + dirstring = ( "East" ); + } else if( dirangle <= 158 && dirangle > 113 ) { + dirstring = ( "South-East" ); + } else if( dirangle <= 203 && dirangle > 158 ) { + dirstring = ( "South" ); + } else if( dirangle <= 248 && dirangle > 203 ) { + dirstring = ( "South-West" ); + } else if( dirangle <= 293 && dirangle > 248 ) { + dirstring = ( "West" ); + } else if( dirangle <= 338 && dirangle > 293 ) { + dirstring = ( "North-West" ); + } + return dirstring; +} + void weather_generator::test_weather() const { // Outputs a Cata year's worth of weather data to a CSV file. diff --git a/src/weather_gen.h b/src/weather_gen.h index 250cf2d665cda..d859572e6c995 100644 --- a/src/weather_gen.h +++ b/src/weather_gen.h @@ -2,6 +2,7 @@ #ifndef WEATHER_GEN_H #define WEATHER_GEN_H +#include "calendar.h" struct point; struct tripoint; class time_point; @@ -13,6 +14,8 @@ struct w_point { double humidity; double pressure; double windpower; + int winddirection; + std::string dirstring; bool acidic; }; @@ -23,6 +26,7 @@ class weather_generator double base_humidity = 66.0; // Average humidity double base_pressure = 1015.0; // Average atmospheric pressure double base_acid = 0.0; + static int current_winddir; weather_generator(); @@ -34,6 +38,9 @@ class weather_generator w_point get_weather( const tripoint &, const time_point &, unsigned ) const; weather_type get_weather_conditions( const tripoint &, const time_point &, unsigned seed ) const; weather_type get_weather_conditions( const w_point & ) const; + int get_wind_direction( const season_type ) const; + int convert_winddir( const int ) const; + std::string get_dirstring( int ) const; int get_water_temperature() const; void test_weather() const; From 82d1363d639f282d0a4b20bb8659dfbff76ac529 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Thu, 24 Jan 2019 07:08:36 +0300 Subject: [PATCH 17/85] Mutations - generic_factory (#27774) --- src/init.cpp | 2 +- src/iuse.cpp | 18 ++-- src/mutation.cpp | 22 ++-- src/mutation.h | 8 +- src/mutation_data.cpp | 227 +++++++++++++++++++----------------------- src/mutation_type.cpp | 4 +- src/newcharacter.cpp | 32 +++--- src/wish.cpp | 10 +- 8 files changed, 154 insertions(+), 169 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 8c73aff93019e..a90fad6ed2bd7 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -184,7 +184,7 @@ void DynamicDataLoader::initialize() add( "dream", &dream::load ); add( "mutation_category", &mutation_category_trait::load ); add( "mutation_type", &load_mutation_type ); - add( "mutation", &mutation_branch::load ); + add( "mutation", &mutation_branch::load_trait ); add( "furniture", &load_furniture ); add( "terrain", &load_terrain ); add( "monstergroup", &MonsterGroupManager::LoadMonsterGroup ); diff --git a/src/iuse.cpp b/src/iuse.cpp index e2e4da6695fae..3618fe6a37068 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -933,9 +933,9 @@ static void do_purify( player &p ) { std::vector valid; // Which flags the player has for( auto &traits_iter : mutation_branch::get_all() ) { - if( p.has_trait( traits_iter.first ) && !p.has_base_trait( traits_iter.first ) ) { + if( p.has_trait( traits_iter.id ) && !p.has_base_trait( traits_iter.id ) ) { //Looks for active mutation - valid.push_back( traits_iter.first ); + valid.push_back( traits_iter.id ); } } if( valid.empty() ) { @@ -978,9 +978,9 @@ int iuse::purify_iv( player *p, item *it, bool, const tripoint & ) std::vector valid; // Which flags the player has for( auto &traits_iter : mutation_branch::get_all() ) { - if( p->has_trait( traits_iter.first ) && !p->has_base_trait( traits_iter.first ) ) { + if( p->has_trait( traits_iter.id ) && !p->has_base_trait( traits_iter.id ) ) { //Looks for active mutation - valid.push_back( traits_iter.first ); + valid.push_back( traits_iter.id ); } } if( valid.empty() ) { @@ -1022,12 +1022,12 @@ int iuse::purify_smart( player *p, item *it, bool, const tripoint & ) std::vector valid; // Which flags the player has std::vector valid_names; // Which flags the player has for( auto &traits_iter : mutation_branch::get_all() ) { - if( p->has_trait( traits_iter.first ) && - !p->has_base_trait( traits_iter.first ) && - p->purifiable( traits_iter.first ) ) { + if( p->has_trait( traits_iter.id ) && + !p->has_base_trait( traits_iter.id ) && + p->purifiable( traits_iter.id ) ) { //Looks for active mutation - valid.push_back( traits_iter.first ); - valid_names.push_back( traits_iter.first->name() ); + valid.push_back( traits_iter.id ); + valid_names.push_back( traits_iter.id->name() ); } } if( valid.empty() ) { diff --git a/src/mutation.cpp b/src/mutation.cpp index 54d20d89c1483..aaae82d423bd5 100644 --- a/src/mutation.cpp +++ b/src/mutation.cpp @@ -559,8 +559,8 @@ void player::mutate() // For each mutation... for( auto &traits_iter : mutation_branch::get_all() ) { - const auto &base_mutation = traits_iter.first; - const auto &base_mdata = traits_iter.second; + const auto &base_mutation = traits_iter.id; + const auto &base_mdata = traits_iter; bool thresh_save = base_mdata.threshold; bool prof_save = base_mdata.profession; bool purify_save = base_mdata.purifiable; @@ -649,8 +649,8 @@ void player::mutate() if( cat.empty() ) { // Pull the full list for( auto &traits_iter : mutation_branch::get_all() ) { - if( traits_iter.second.valid ) { - valid.push_back( traits_iter.first ); + if( traits_iter.valid ) { + valid.push_back( traits_iter.id ); } } } else { @@ -1019,13 +1019,13 @@ void player::remove_mutation( const trait_id &mut ) //Check each mutation until we reach the end or find a trait to revert to for( auto &iter : mutation_branch::get_all() ) { //See if it's in our list of base traits but not active - if( has_base_trait( iter.first ) && !has_trait( iter.first ) ) { + if( has_base_trait( iter.id ) && !has_trait( iter.id ) ) { //See if that base trait cancels the mutation we are using - std::vector traitcheck = iter.second.cancels; + std::vector traitcheck = iter.cancels; if( !traitcheck.empty() ) { for( size_t j = 0; !replacing && j < traitcheck.size(); j++ ) { if( traitcheck[j] == mut ) { - replacing = ( iter.first ); + replacing = ( iter.id ); } } } @@ -1041,13 +1041,13 @@ void player::remove_mutation( const trait_id &mut ) //Check each mutation until we reach the end or find a trait to revert to for( auto &iter : mutation_branch::get_all() ) { //See if it's in our list of base traits but not active - if( has_base_trait( iter.first ) && !has_trait( iter.first ) ) { + if( has_base_trait( iter.id ) && !has_trait( iter.id ) ) { //See if that base trait cancels the mutation we are using - std::vector traitcheck = iter.second.cancels; + std::vector traitcheck = iter.cancels; if( !traitcheck.empty() ) { for( size_t j = 0; !replacing2 && j < traitcheck.size(); j++ ) { - if( traitcheck[j] == mut && ( iter.first ) != replacing ) { - replacing2 = ( iter.first ); + if( traitcheck[j] == mut && ( iter.id ) != replacing ) { + replacing2 = ( iter.id ); } } } diff --git a/src/mutation.h b/src/mutation.h index e8cf9bf9e7d1f..b129cf4971dad 100644 --- a/src/mutation.h +++ b/src/mutation.h @@ -84,7 +84,8 @@ struct mut_attack { }; struct mutation_branch { - using MutationMap = std::unordered_map; + trait_id id; + bool was_loaded = false; // True if this is a valid mutation (False for "unavailable from generic mutagen"). bool valid = false; // True if Purifier can remove it (False for *Special* mutations). @@ -210,11 +211,12 @@ struct mutation_branch { * All known mutations. Key is the mutation id, value is the mutation_branch that you would * also get by calling @ref get. */ - static const MutationMap &get_all(); + static const std::vector &get_all(); // For init.cpp: reset (clear) the mutation data static void reset_all(); // For init.cpp: load mutation data from json - static void load( JsonObject &jsobj ); + void load( JsonObject &jo, const std::string &src ); + static void load_trait( JsonObject &jo, const std::string &src ); // For init.cpp: check internal consistency (valid ids etc.) of all mutations static void check_consistency(); diff --git a/src/mutation_data.cpp b/src/mutation_data.cpp index 7f98c7c99291b..0cd2c6a439c5f 100644 --- a/src/mutation_data.cpp +++ b/src/mutation_data.cpp @@ -13,6 +13,7 @@ #include "pldata.h" // traits #include "trait_group.h" #include "translations.h" +#include "generic_factory.h" typedef std::map> TraitGroupMap; typedef std::set TraitSet; @@ -20,27 +21,25 @@ typedef std::set TraitSet; TraitSet trait_blacklist; TraitGroupMap trait_groups; +namespace +{ +generic_factory trait_factory( "trait" ); +} + std::vector dreams; std::map > mutations_category; std::map mutation_category_traits; -std::unordered_map mutation_data; template<> const mutation_branch &string_id::obj() const { - const auto iter = mutation_data.find( *this ); - if( iter == mutation_data.end() ) { - debugmsg( "invalid trait/mutation type id %s", c_str() ); - static const mutation_branch dummy{}; - return dummy; - } - return iter->second; + return trait_factory.obj( *this ); } template<> bool string_id::is_valid() const { - return mutation_data.count( *this ) > 0; + return trait_factory.is_valid( *this ); } template<> @@ -240,114 +239,99 @@ static social_modifiers load_mutation_social_mods( JsonObject &jo ) return ret; } -void mutation_branch::load( JsonObject &jsobj ) -{ - const trait_id id( jsobj.get_string( "id" ) ); - mutation_branch &new_mut = mutation_data[id]; - - new_mut.raw_name = jsobj.get_string( "name" ); - new_mut.raw_desc = jsobj.get_string( "description" ); - new_mut.points = jsobj.get_int( "points" ); - new_mut.visibility = jsobj.get_int( "visibility", 0 ); - new_mut.ugliness = jsobj.get_int( "ugliness", 0 ); - new_mut.startingtrait = jsobj.get_bool( "starting_trait", false ); - new_mut.mixed_effect = jsobj.get_bool( "mixed_effect", false ); - new_mut.activated = jsobj.get_bool( "active", false ); - new_mut.starts_active = jsobj.get_bool( "starts_active", false ); - new_mut.destroys_gear = jsobj.get_bool( "destroys_gear", false ); - new_mut.allow_soft_gear = jsobj.get_bool( "allow_soft_gear", false ); - new_mut.cost = jsobj.get_int( "cost", 0 ); - new_mut.cooldown = jsobj.get_int( "time", 0 ); - new_mut.hunger = jsobj.get_bool( "hunger", false ); - new_mut.thirst = jsobj.get_bool( "thirst", false ); - new_mut.fatigue = jsobj.get_bool( "fatigue", false ); - new_mut.valid = jsobj.get_bool( "valid", true ); - new_mut.purifiable = jsobj.get_bool( "purifiable", true ); - if( jsobj.has_object( "spawn_item" ) ) { - JsonObject spawn_item = jsobj.get_object( "spawn_item" ); - new_mut.spawn_item = spawn_item.get_string( "type", "" ); - new_mut.raw_spawn_item_message = spawn_item.get_string( "message", "" ); - } - for( auto &s : jsobj.get_string_array( "initial_ma_styles" ) ) { - new_mut.initial_ma_styles.push_back( matype_id( s ) ); - } - - JsonArray bodytemp_array = jsobj.get_array( "bodytemp_modifiers" ); - if( bodytemp_array.has_more() ) { - new_mut.bodytemp_min = bodytemp_array.get_int( 0 ); - new_mut.bodytemp_max = bodytemp_array.get_int( 1 ); - } - new_mut.bodytemp_sleep = jsobj.get_int( "bodytemp_sleep", 0 ); - new_mut.threshold = jsobj.get_bool( "threshold", false ); - new_mut.profession = jsobj.get_bool( "profession", false ); - new_mut.debug = jsobj.get_bool( "debug", false ); - new_mut.player_display = jsobj.get_bool( "player_display", true ); - - auto vr = jsobj.get_array( "vitamin_rates" ); +void mutation_branch::load_trait( JsonObject &jo, const std::string &src ) +{ + trait_factory.load( jo, src ); +} + +void mutation_branch::load( JsonObject &jo, const std::string & ) +{ + mandatory( jo, was_loaded, "id", id ); + mandatory( jo, was_loaded, "name", raw_name, translated_string_reader ); + mandatory( jo, was_loaded, "description", raw_desc, translated_string_reader ); + mandatory( jo, was_loaded, "points", points ); + + optional( jo, was_loaded, "visibility", visibility, 0 ); + optional( jo, was_loaded, "ugliness", ugliness, 0 ); + optional( jo, was_loaded, "starting_trait", startingtrait, false ); + optional( jo, was_loaded, "mixed_effect", mixed_effect, false ); + optional( jo, was_loaded, "active", activated, false ); + optional( jo, was_loaded, "starts_active", starts_active, false ); + optional( jo, was_loaded, "destroys_gear", destroys_gear, false ); + optional( jo, was_loaded, "allow_soft_gear", allow_soft_gear, false ); + optional( jo, was_loaded, "cost", cost, 0 ); + optional( jo, was_loaded, "time", cooldown, 0 ); + optional( jo, was_loaded, "hunger", hunger, false ); + optional( jo, was_loaded, "thirst", thirst, false ); + optional( jo, was_loaded, "fatigue", fatigue, false ); + optional( jo, was_loaded, "valid", valid, true ); + optional( jo, was_loaded, "purifiable", purifiable, true ); + + if( jo.has_object( "spawn_item" ) ) { + auto si = jo.get_object( "spawn_item" ); + optional( si, was_loaded, "type", spawn_item ); + optional( si, was_loaded, "message", raw_spawn_item_message ); + } + optional( jo, was_loaded, "initial_ma_styles", initial_ma_styles ); + + if( jo.has_array( "bodytemp_modifiers" ) ) { + auto bodytemp_array = jo.get_array( "bodytemp_modifiers" ); + bodytemp_min = bodytemp_array.get_int( 0 ); + bodytemp_max = bodytemp_array.get_int( 1 ); + } + + optional( jo, was_loaded, "bodytemp_sleep", bodytemp_sleep, 0 ); + optional( jo, was_loaded, "threshold", threshold, false ); + optional( jo, was_loaded, "profession", profession, false ); + optional( jo, was_loaded, "debug", debug, false ); + optional( jo, was_loaded, "player_display", player_display, true ); + + JsonArray vr = jo.get_array( "vitamin_rates" ); while( vr.has_more() ) { auto pair = vr.next_array(); - new_mut.vitamin_rates.emplace( vitamin_id( pair.get_string( 0 ) ), - time_duration::from_turns( pair.get_int( 1 ) ) ); + vitamin_rates.emplace( vitamin_id( pair.get_string( 0 ) ), + time_duration::from_turns( pair.get_int( 1 ) ) ); } - new_mut.healing_awake = jsobj.get_float( "healing_awake", 0.0f ); - new_mut.healing_resting = jsobj.get_float( "healing_resting", 0.0f ); - new_mut.hp_modifier = jsobj.get_float( "hp_modifier", 0.0f ); - new_mut.hp_modifier_secondary = jsobj.get_float( "hp_modifier_secondary", 0.0f ); - new_mut.hp_adjustment = jsobj.get_float( "hp_adjustment", 0.0f ); - new_mut.stealth_modifier = jsobj.get_float( "stealth_modifier", 0.0f ); + optional( jo, was_loaded, "healing_awake", healing_awake, 0.0f ); + optional( jo, was_loaded, "healing_resting", healing_resting, 0.0f ); + optional( jo, was_loaded, "hp_modifier", hp_modifier, 0.0f ); + optional( jo, was_loaded, "hp_modifier_secondary", hp_modifier_secondary, 0.0f ); + optional( jo, was_loaded, "hp_adjustment", hp_adjustment, 0.0f ); + optional( jo, was_loaded, "stealth_modifier", stealth_modifier, 0.0f ); - new_mut.metabolism_modifier = jsobj.get_float( "metabolism_modifier", 0.0f ); - new_mut.thirst_modifier = jsobj.get_float( "thirst_modifier", 0.0f ); - new_mut.fatigue_modifier = jsobj.get_float( "fatigue_modifier", 0.0f ); - new_mut.fatigue_regen_modifier = jsobj.get_float( "fatigue_regen_modifier", 0.0f ); + optional( jo, was_loaded, "metabolism_modifier", metabolism_modifier, 0.0f ); + optional( jo, was_loaded, "thirst_modifier", thirst_modifier, 0.0f ); + optional( jo, was_loaded, "fatigue_modifier", fatigue_modifier, 0.0f ); + optional( jo, was_loaded, "fatigue_regen_modifier", fatigue_regen_modifier, 0.0f ); + optional( jo, was_loaded, "stamina_regen_modifier", stamina_regen_modifier, 0.0f ); - new_mut.stamina_regen_modifier = jsobj.get_float( "stamina_regen_modifier", 0.0f ); - - if( jsobj.has_object( "social_modifiers" ) ) { - JsonObject jo = jsobj.get_object( "social_modifiers" ); - new_mut.social_mods = load_mutation_social_mods( jo ); + if( jo.has_object( "social_modifiers" ) ) { + JsonObject sm = jo.get_object( "social_modifiers" ); + social_mods = load_mutation_social_mods( sm ); } - load_mutation_mods( jsobj, "passive_mods", new_mut.mods ); + load_mutation_mods( jo, "passive_mods", mods ); /* Not currently supported due to inability to save active mutation state load_mutation_mods(jsobj, "active_mods", new_mut.mods); */ - for( auto &t : jsobj.get_string_array( "prereqs" ) ) { - new_mut.prereqs.emplace_back( t ); - } - // Helps to be able to have a trait require more than one other trait - // (Individual prerequisite-lists are "OR", not "AND".) - // Traits should NOT appear in both lists for a given mutation, unless - // you want that trait to satisfy both requirements. - // These are additional to the first list. - for( auto &t : jsobj.get_string_array( "prereqs2" ) ) { - new_mut.prereqs2.emplace_back( t ); - } - // Dedicated-purpose prerequisite slot for Threshold mutations - // Stuff like Huge might fit in more than one category post-threshold, so yeah - for( auto &t : jsobj.get_string_array( "threshreq" ) ) { - new_mut.threshreq.emplace_back( t ); - } - for( auto &t : jsobj.get_string_array( "cancels" ) ) { - new_mut.cancels.emplace_back( t ); - } - for( auto &t : jsobj.get_string_array( "changes_to" ) ) { - new_mut.replacements.emplace_back( t ); - } - for( auto &t : jsobj.get_string_array( "leads_to" ) ) { - new_mut.additions.emplace_back( t ); - } - new_mut.flags = jsobj.get_tags( "flags" ); - new_mut.types = jsobj.get_tags( "types" ); + 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 ); - JsonArray jsarr = jsobj.get_array( "category" ); + auto jsarr = jo.get_array( "category" ); while( jsarr.has_more() ) { std::string s = jsarr.next_string(); - new_mut.category.push_back( s ); + category.push_back( s ); mutations_category[s].push_back( trait_id( id ) ); } - jsarr = jsobj.get_array( "wet_protection" ); + + jsarr = jo.get_array( "wet_protection" ); while( jsarr.has_more() ) { JsonObject jo = jsarr.next_object(); std::string part_id = jo.get_string( "part" ); @@ -355,31 +339,31 @@ void mutation_branch::load( JsonObject &jsobj ) int neutral = jo.get_int( "neutral", 0 ); int good = jo.get_int( "good", 0 ); tripoint protect = tripoint( ignored, neutral, good ); - new_mut.protection[get_body_part_token( part_id )] = protect; + protection[get_body_part_token( part_id )] = protect; } - jsarr = jsobj.get_array( "encumbrance_always" ); + jsarr = jo.get_array( "encumbrance_always" ); while( jsarr.has_more() ) { JsonArray jo = jsarr.next_array(); std::string part_id = jo.next_string(); int enc = jo.next_int(); - new_mut.encumbrance_always[get_body_part_token( part_id )] = enc; + encumbrance_always[get_body_part_token( part_id )] = enc; } - jsarr = jsobj.get_array( "encumbrance_covered" ); + jsarr = jo.get_array( "encumbrance_covered" ); while( jsarr.has_more() ) { JsonArray jo = jsarr.next_array(); std::string part_id = jo.next_string(); int enc = jo.next_int(); - new_mut.encumbrance_covered[get_body_part_token( part_id )] = enc; + encumbrance_covered[get_body_part_token( part_id )] = enc; } - jsarr = jsobj.get_array( "restricts_gear" ); + jsarr = jo.get_array( "restricts_gear" ); while( jsarr.has_more() ) { - new_mut.restricts_gear.insert( get_body_part_token( jsarr.next_string() ) ); + restricts_gear.insert( get_body_part_token( jsarr.next_string() ) ); } - jsarr = jsobj.get_array( "armor" ); + jsarr = jo.get_array( "armor" ); while( jsarr.has_more() ) { JsonObject jo = jsarr.next_object(); auto parts = jo.get_tags( "parts" ); @@ -396,19 +380,19 @@ void mutation_branch::load( JsonObject &jsobj ) resistances res = load_resistances_instance( jo ); for( body_part bp : bps ) { - new_mut.armor[ bp ] = res; + armor[ bp ] = res; } } - if( jsobj.has_array( "attacks" ) ) { - jsarr = jsobj.get_array( "attacks" ); + if( jo.has_array( "attacks" ) ) { + jsarr = jo.get_array( "attacks" ); while( jsarr.has_more() ) { JsonObject jo = jsarr.next_object(); - new_mut.attacks_granted.emplace_back( load_mutation_attack( jo ) ); + attacks_granted.emplace_back( load_mutation_attack( jo ) ); } - } else if( jsobj.has_object( "attacks" ) ) { - JsonObject jo = jsobj.get_object( "attacks" ); - new_mut.attacks_granted.emplace_back( load_mutation_attack( jo ) ); + } else if( jo.has_object( "attacks" ) ) { + JsonObject attack = jo.get_object( "attacks" ); + attacks_granted.emplace_back( load_mutation_attack( attack ) ); } } @@ -439,9 +423,8 @@ static void check_consistency( const std::vector &mvec, const trait_id void mutation_branch::check_consistency() { - for( const auto &m : mutation_data ) { - const auto &mid = m.first; - const auto &mdata = m.second; + for( const auto &mdata : get_all() ) { + const auto &mid = mdata.id; for( const auto &style : mdata.initial_ma_styles ) { if( !style.is_valid() ) { debugmsg( "mutation %s refers to undefined martial art style %s", mid.c_str(), style.c_str() ); @@ -483,15 +466,15 @@ std::string mutation_branch::get_name( const trait_id &mutation_id ) return mutation_id->name(); } -const mutation_branch::MutationMap &mutation_branch::get_all() +const std::vector &mutation_branch::get_all() { - return mutation_data; + return trait_factory.get_all(); } void mutation_branch::reset_all() { mutations_category.clear(); - mutation_data.clear(); + trait_factory.reset(); trait_blacklist.clear(); trait_groups.clear(); trait_groups.emplace( trait_group::Trait_group_tag( "EMPTY_GROUP" ), diff --git a/src/mutation_type.cpp b/src/mutation_type.cpp index 946c0b3df1de7..e8a1a83b7d942 100644 --- a/src/mutation_type.cpp +++ b/src/mutation_type.cpp @@ -25,8 +25,8 @@ std::vector get_mutations_in_type( const std::string &id ) { std::vector ret; for( auto it : mutation_branch::get_all() ) { - if( it.second.types.find( id ) != it.second.types.end() ) { - ret.push_back( it.first ); + if( it.types.find( id ) != it.types.end() ) { + ret.push_back( it.id ); } } return ret; diff --git a/src/newcharacter.cpp b/src/newcharacter.cpp index 715e873a14ca6..4bef001af5802 100644 --- a/src/newcharacter.cpp +++ b/src/newcharacter.cpp @@ -1028,30 +1028,30 @@ tab_direction set_traits( const catacurses::window &w, player &u, points_left &p for( auto &traits_iter : mutation_branch::get_all() ) { // Don't list blacklisted traits - if( mutation_branch::trait_is_blacklisted( traits_iter.first ) ) { + if( mutation_branch::trait_is_blacklisted( traits_iter.id ) ) { continue; } // Always show profession locked traits, regardless of if they are forbidden const std::vector proftraits = u.prof->get_locked_traits(); const bool is_proftrait = std::find( proftraits.begin(), proftraits.end(), - traits_iter.first ) != proftraits.end(); + traits_iter.id ) != proftraits.end(); // We show all starting traits, even if we can't pick them, to keep the interface consistent. - if( traits_iter.second.startingtrait || g->scen->traitquery( traits_iter.first ) || is_proftrait ) { - if( traits_iter.second.points > 0 ) { - vStartingTraits[0].push_back( traits_iter.first ); + if( traits_iter.startingtrait || g->scen->traitquery( traits_iter.id ) || is_proftrait ) { + if( traits_iter.points > 0 ) { + vStartingTraits[0].push_back( traits_iter.id ); - if( u.has_trait( traits_iter.first ) ) { - num_good += traits_iter.second.points; + if( u.has_trait( traits_iter.id ) ) { + num_good += traits_iter.points; } - } else if( traits_iter.second.points < 0 ) { - vStartingTraits[1].push_back( traits_iter.first ); + } else if( traits_iter.points < 0 ) { + vStartingTraits[1].push_back( traits_iter.id ); - if( u.has_trait( traits_iter.first ) ) { - num_bad += traits_iter.second.points; + if( u.has_trait( traits_iter.id ) ) { + num_bad += traits_iter.points; } } else { - vStartingTraits[2].push_back( traits_iter.first ); + vStartingTraits[2].push_back( traits_iter.id ); } } } @@ -2480,8 +2480,8 @@ trait_id Character::random_good_trait() std::vector vTraitsGood; for( auto &traits_iter : mutation_branch::get_all() ) { - if( traits_iter.second.points >= 0 && g->scen->traitquery( traits_iter.first ) ) { - vTraitsGood.push_back( traits_iter.first ); + if( traits_iter.points >= 0 && g->scen->traitquery( traits_iter.id ) ) { + vTraitsGood.push_back( traits_iter.id ); } } @@ -2493,8 +2493,8 @@ trait_id Character::random_bad_trait() std::vector vTraitsBad; for( auto &traits_iter : mutation_branch::get_all() ) { - if( traits_iter.second.points < 0 && g->scen->traitquery( traits_iter.first ) ) { - vTraitsBad.push_back( traits_iter.first ); + if( traits_iter.points < 0 && g->scen->traitquery( traits_iter.id ) ) { + vTraitsBad.push_back( traits_iter.id ); } } diff --git a/src/wish.cpp b/src/wish.cpp index 916c1ee454243..8d6188517e60f 100644 --- a/src/wish.cpp +++ b/src/wish.cpp @@ -60,8 +60,8 @@ class wish_mutate_callback: public uilist_callback started = true; padding = std::string( menu->pad_right - 1, ' ' ); for( auto &traits_iter : mutation_branch::get_all() ) { - vTraits.push_back( traits_iter.first ); - pTraits[traits_iter.first] = ( p->has_trait( traits_iter.first ) ); + vTraits.push_back( traits_iter.id ); + pTraits[traits_iter.id] = ( p->has_trait( traits_iter.id ) ); } } const mutation_branch &mdata = vTraits[entnum].obj(); @@ -188,13 +188,13 @@ void debug_menu::wishmutate( player *p ) int c = 0; for( auto &traits_iter : mutation_branch::get_all() ) { - wmenu.addentry( -1, true, -2, traits_iter.second.name() ); + wmenu.addentry( -1, true, -2, traits_iter.name() ); wmenu.entries[ c ].extratxt.left = 1; wmenu.entries[ c ].extratxt.txt.clear(); wmenu.entries[ c ].extratxt.color = c_light_green; - if( p->has_trait( traits_iter.first ) ) { + if( p->has_trait( traits_iter.id ) ) { wmenu.entries[ c ].text_color = c_green; - if( p->has_base_trait( traits_iter.first ) ) { + if( p->has_base_trait( traits_iter.id ) ) { wmenu.entries[ c ].extratxt.txt = "T"; } } From 72c428c3958d1daebf16764fd1f9577b536a558f Mon Sep 17 00:00:00 2001 From: prutschman Date: Wed, 23 Jan 2019 20:10:11 -0800 Subject: [PATCH 18/85] Make route_adjacent non-static (#27798) --- src/activity_handlers.h | 1 + src/activity_item_handling.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/activity_handlers.h b/src/activity_handlers.h index b5a5c7ba5ccc1..9bceb17257017 100644 --- a/src/activity_handlers.h +++ b/src/activity_handlers.h @@ -13,6 +13,7 @@ class player; std::vector get_sorted_tiles_by_distance( const tripoint &abspos, const std::unordered_set &tiles ); +std::vector route_adjacent( const player &p, const tripoint &dest ); enum butcher_type : int { BUTCHER, // quick butchery diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 32569475bc5f6..0036827d71911 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -874,7 +874,7 @@ static void move_item( item &it, int quantity, const tripoint &src, const tripoi } } -static std::vector route_adjacent( const player &p, const tripoint &dest ) +std::vector route_adjacent( const player &p, const tripoint &dest ) { auto passable_tiles = std::unordered_set(); From ca7031a7d7591d1db9ff9f600cf339991df0ca98 Mon Sep 17 00:00:00 2001 From: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Date: Thu, 24 Jan 2019 04:10:59 +0000 Subject: [PATCH 19/85] Fix morale decay check frequency (#27803) * fix morale decay check frequency * reduced frequency, increased update factor --- src/player.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/player.cpp b/src/player.cpp index 77d0054a6b112..4afd9f8cbcdd5 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -834,7 +834,7 @@ void player::action_taken() void player::update_morale() { - morale->decay( 1_turns ); + morale->decay( 10_turns ); apply_persistent_morale(); } @@ -4301,7 +4301,7 @@ needs_rates player::calc_needs_rates() // Hunger and thirst advance *much* more slowly whilst we hibernate. rates.hunger *= ( 2.0f / 7.0f ); rates.thirst *= ( 2.0f / 7.0f ); - } + } rates.recovery -= float( get_perceived_pain() ) / 60; } else { @@ -8561,7 +8561,7 @@ bool player::add_or_drop_with_msg( item &it, const bool unloading ) return true; } -bool player::unload(item &it) +bool player::unload(item &it) { // Unload a container consuming moves per item successfully removed if( it.is_container() || it.is_bandolier() ) { From e08987760c956fe56de85c763e5a8f0520beff5c Mon Sep 17 00:00:00 2001 From: ifreund Date: Thu, 24 Jan 2019 05:25:01 +0100 Subject: [PATCH 20/85] Create activity for control laptop (#27816) * Create activity for control laptop --- data/json/player_activities.json | 8 ++++ src/activity_handlers.cpp | 75 +++++++++++++++++++++++++++++- src/activity_handlers.h | 1 + src/iuse.cpp | 79 +++++++------------------------- 4 files changed, 100 insertions(+), 63 deletions(-) diff --git a/data/json/player_activities.json b/data/json/player_activities.json index 8e5fb5e9ad143..54dc4302af120 100644 --- a/data/json/player_activities.json +++ b/data/json/player_activities.json @@ -447,5 +447,13 @@ "stop_phrase": "Stop unloading?", "suspendable": false, "based_on": "speed" + }, + { + "id": "ACT_ROBOT_CONTROL", + "type": "activity_type", + "stop_phrase": "Stop programming override?", + "suspendable": false, + "based_on": "speed", + "no_resume": true } ] diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index cb357d0b29d60..5081425111e02 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -150,7 +150,8 @@ activity_handlers::finish_functions = { { activity_id( "ACT_PLAY_WITH_PET" ), play_with_pet_finish }, { activity_id( "ACT_SHAVE" ), shaving_finish }, { activity_id( "ACT_HAIRCUT" ), haircut_finish }, - { activity_id( "ACT_UNLOAD_MAG" ), unload_mag_finish } + { activity_id( "ACT_UNLOAD_MAG" ), unload_mag_finish }, + { activity_id( "ACT_ROBOT_CONTROL" ), robot_control_finish } }; void messages_in_process( const player_activity &act, const player &p ) @@ -3089,3 +3090,75 @@ void activity_handlers::plant_plot_do_turn( player_activity *, player *p ) plant_appropriate_seed, _( "You planted all seeds you could." ) ); } + +void activity_handlers::robot_control_finish( player_activity *act, player *p ) +{ + uilist pick_robot; + pick_robot.text = _( "Override ready, choose an endpoint to hack." ); + // Build a list of all unfriendly robots in range. + std::vector< monster * > mons; // @todo: change into vector + std::vector< tripoint > locations; + int entry_num = 0; + for( monster &candidate : g->all_monsters() ) { + if( candidate.type->in_species( species_id( "ROBOT" ) ) && candidate.friendly == 0 && + rl_dist( p->pos(), candidate.pos() ) <= 10 ) { + mons.push_back( &candidate ); + pick_robot.addentry( entry_num++, true, MENU_AUTOASSIGN, candidate.name() ); + tripoint seen_loc; + // Show locations of seen robots, center on player if robot is not seen + if( p->sees( candidate ) ) { + seen_loc = candidate.pos(); + } else { + seen_loc = p->pos(); + } + locations.push_back( seen_loc ); + } + } + if( mons.empty() ) { + p->add_msg_if_player( m_info, _( "No enemy robots in range." ) ); + act->set_to_null(); + return; + } + pointmenu_cb callback( locations ); + pick_robot.callback = &callback; + pick_robot.query(); + if( pick_robot.ret < 0 || static_cast( pick_robot.ret ) >= mons.size() ) { + p->add_msg_if_player( m_info, _( "Never mind" ) ); + act->set_to_null(); + return; + } + const size_t mondex = pick_robot.ret; + monster *z = mons[mondex]; + p->add_msg_if_player( _( "You unleash your override attack on the %s." ), z->name().c_str() ); + + /** @EFFECT_INT increases chance of successful robot reprogramming, vs difficulty */ + /** @EFFECT_COMPUTER increases chance of successful robot reprogramming, vs difficulty */ + float success = p->get_skill_level( skill_id( "computer" ) ) - 1.5 * ( z->type->difficulty ) / + ( ( rng( 2, p->int_cur ) / 2 ) + ( p->get_skill_level( skill_id( "computer" ) ) / 2 ) ); + if( success >= 0 ) { + p->add_msg_if_player( _( "You successfully override the %s's IFF protocols!" ), + z->name().c_str() ); + z->friendly = -1; + } else if( success >= -2 ) { //A near success + p->add_msg_if_player( _( "The %s short circuits as you attempt to reprogram it!" ), + z->name().c_str() ); + z->apply_damage( p, bp_torso, rng( 1, 10 ) ); //damage it a little + if( z->is_dead() ) { + p->practice( skill_id( "computer" ), 10 ); + act->set_to_null(); + return; // Do not do the other effects if the robot died + } + if( one_in( 3 ) ) { + p->add_msg_if_player( _( "...and turns friendly!" ) ); + if( one_in( 3 ) ) { //did the robot became friendly permanently? + z->friendly = -1; //it did + } else { + z->friendly = rng( 5, 40 ); // it didn't + } + } + } else { + p->add_msg_if_player( _( "...but the robot refuses to acknowledge you as an ally!" ) ); + } + p->practice( skill_id( "computer" ), 10 ); + act->set_to_null(); +} diff --git a/src/activity_handlers.h b/src/activity_handlers.h index 9bceb17257017..bcad708927b9a 100644 --- a/src/activity_handlers.h +++ b/src/activity_handlers.h @@ -135,6 +135,7 @@ void play_with_pet_finish( player_activity *act, player *p ); void shaving_finish( player_activity *act, player *p ); void haircut_finish( player_activity *act, player *p ); void unload_mag_finish( player_activity *act, player *p ); +void robot_control_finish( player_activity *act, player *p ); // defined in activity_handlers.cpp extern const std::map< activity_id, std::function > diff --git a/src/iuse.cpp b/src/iuse.cpp index 3618fe6a37068..cd1cbee6809fa 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -5349,80 +5349,35 @@ int iuse::robotcontrol( player *p, item *it, bool, const tripoint & ) } int choice = uilist( _( "Welcome to hackPRO!:" ), { - _( "Override IFF protocols" ), + _( "Prepare IFF protocol override" ), _( "Set friendly robots to passive mode" ), _( "Set friendly robots to combat mode" ) } ); switch( choice ) { case 0: { // attempt to make a robot friendly - uilist pick_robot; - pick_robot.text = _( "Choose an endpoint to hack." ); - // Build a list of all unfriendly robots in range. - std::vector< monster * > mons; // @todo: change into vector - std::vector< tripoint > locations; - int entry_num = 0; + + bool enemy_robot_in_range = false; for( monster &candidate : g->all_monsters() ) { if( candidate.type->in_species( ROBOT ) && candidate.friendly == 0 && rl_dist( p->pos(), candidate.pos() ) <= 10 ) { - mons.push_back( &candidate ); - pick_robot.addentry( entry_num++, true, MENU_AUTOASSIGN, candidate.name() ); - tripoint seen_loc; - // Show locations of seen robots, center on player if robot is not seen - if( p->sees( candidate ) ) { - seen_loc = candidate.pos(); - } else { - seen_loc = p->pos(); - } - locations.push_back( seen_loc ); + enemy_robot_in_range = true; + break; } } - if( mons.empty() ) { + if( !enemy_robot_in_range ) { p->add_msg_if_player( m_info, _( "No enemy robots in range." ) ); - return it->type->charges_to_use(); - } - pointmenu_cb callback( locations ); - pick_robot.callback = &callback; - pick_robot.query(); - if( pick_robot.ret < 0 || static_cast( pick_robot.ret ) >= mons.size() ) { - p->add_msg_if_player( m_info, _( "Never mind" ) ); - return it->type->charges_to_use(); - } - const size_t mondex = pick_robot.ret; - monster *z = mons[mondex]; - p->add_msg_if_player( _( "You start reprogramming the %s into an ally." ), z->name().c_str() ); - /** @EFFECT_INT speeds up robot reprogramming */ - - /** @EFFECT_COMPUTER speeds up robot reprogramming */ - p->moves -= std::max( 100, 1000 - p->int_cur * 10 - p->get_skill_level( skill_computer ) * 10 ); - /** @EFFECT_INT increases chance of successful robot reprogramming, vs difficulty */ - - /** @EFFECT_COMPUTER increases chance of successful robot reprogramming, vs difficulty */ - float success = p->get_skill_level( skill_computer ) - 1.5 * ( z->type->difficulty ) / - ( ( rng( 2, p->int_cur ) / 2 ) + ( p->get_skill_level( skill_computer ) / 2 ) ); - if( success >= 0 ) { - p->add_msg_if_player( _( "You successfully override the %s's IFF protocols!" ), - z->name().c_str() ); - z->friendly = -1; - } else if( success >= -2 ) { //A near success - p->add_msg_if_player( _( "The %s short circuits as you attempt to reprogram it!" ), - z->name().c_str() ); - z->apply_damage( p, bp_torso, rng( 1, 10 ) ); //damage it a little - if( z->is_dead() ) { - p->practice( skill_computer, 10 ); - return it->type->charges_to_use(); // Do not do the other effects if the robot died - } - if( one_in( 3 ) ) { - p->add_msg_if_player( _( "...and turns friendly!" ) ); - if( one_in( 3 ) ) { //did the robot became friendly permanently? - z->friendly = -1; //it did - } else { - z->friendly = rng( 5, 40 ); // it didn't - } - } - } else { - p->add_msg_if_player( _( "...but the robot refuses to acknowledge you as an ally!" ) ); + return 0; } - p->practice( skill_computer, 10 ); + + p->add_msg_if_player( _( "You start preparing your override." ) ); + + /** @EFFECT_INT speeds up hacking preperation */ + /** @EFFECT_COMPUTER speeds up hacking preperation */ + int move_cost = std::max( 100, 1000 - p->int_cur * 10 - p->get_skill_level( skill_computer ) * 10 ); + + player_activity act( activity_id( "ACT_ROBOT_CONTROL" ), move_cost ); + p->assign_activity( act ); + return it->type->charges_to_use(); } case 1: { //make all friendly robots stop their purposeless extermination of (un)life. From 096dabd9b7b73719e9c7ef816b6e492a6b7f0783 Mon Sep 17 00:00:00 2001 From: Alexey Mostovoy Date: Thu, 24 Jan 2019 11:08:32 +0400 Subject: [PATCH 21/85] Astyle weather_gen (#27822) --- src/weather_gen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/weather_gen.cpp b/src/weather_gen.cpp index dc7800b460364..13217aefaa46d 100644 --- a/src/weather_gen.cpp +++ b/src/weather_gen.cpp @@ -84,7 +84,7 @@ w_point weather_generator::get_weather( const tripoint &location, const time_poi // Wind power W = std::max( 0, static_cast( 5.7 / pow( P / 1014.78, rng( 9, 30 ) ) + - ( seasonal_variation / 64 ) * rng( 1, 2 ) * W ) ); + ( seasonal_variation / 64 ) * rng( 1, 2 ) * W ) ); // Wind direction // initial static variable if( current_winddir == 1000 ) { From b872857fd45c676098279923e5847a81360b1ed0 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Thu, 24 Jan 2019 07:58:17 +0000 Subject: [PATCH 22/85] Add reactir flag to vehicle part bitfield. --- src/veh_type.cpp | 1 + src/veh_type.h | 1 + src/vehicle.cpp | 4 ++-- src/vehicle_part.cpp | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/veh_type.cpp b/src/veh_type.cpp index 4829309b1095c..cc59cc2d946cd 100644 --- a/src/veh_type.cpp +++ b/src/veh_type.cpp @@ -82,6 +82,7 @@ static const std::unordered_map vpart_bitflag_map = { "ENABLED_DRAINS_EPOWER", VPFLAG_ENABLED_DRAINS_EPOWER }, { "WASHING_MACHINE", VPFLAG_WASHING_MACHINE }, { "FLUIDTANK", VPFLAG_FLUIDTANK }, + { "REACTOR", VPFLAG_REACTOR }, }; static const std::vector> standard_terrain_mod = {{ diff --git a/src/veh_type.h b/src/veh_type.h index 8fc85a0ebce52..0c7ae8e337977 100644 --- a/src/veh_type.h +++ b/src/veh_type.h @@ -76,6 +76,7 @@ enum vpart_bitflags : int { VPFLAG_ENABLED_DRAINS_EPOWER, VPFLAG_WASHING_MACHINE, VPFLAG_FLUIDTANK, + VPFLAG_REACTOR, NUM_VPFLAGS }; diff --git a/src/vehicle.cpp b/src/vehicle.cpp index e1330c7228c2c..6eb761d4eb6be 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -361,7 +361,7 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) const size_t p = vp.part_index(); vehicle_part &pt = vp.part(); - if( vp.has_feature( "REACTOR" ) ) { + if( vp.has_feature( VPFLAG_REACTOR ) ) { // De-hardcoded reactors. Should always start active pt.enabled = true; } @@ -4368,7 +4368,7 @@ void vehicle::refresh() if( vpi.has_flag( VPFLAG_ENGINE ) ) { engines.push_back( p ); } - if( vpi.has_flag( "REACTOR" ) ) { + if( vpi.has_flag( VPFLAG_REACTOR ) ) { reactors.push_back( p ); } if( vpi.has_flag( VPFLAG_SOLAR_PANEL ) ) { diff --git a/src/vehicle_part.cpp b/src/vehicle_part.cpp index 404d0f6566cf5..c491bcb6a0172 100644 --- a/src/vehicle_part.cpp +++ b/src/vehicle_part.cpp @@ -455,7 +455,7 @@ bool vehicle_part::is_battery() const bool vehicle_part::is_reactor() const { - return info().has_flag( "REACTOR" ); + return info().has_flag( VPFLAG_REACTOR ); } bool vehicle_part::is_turret() const From de1c45cdbd830c9dc2dac42ddbbe737fc422da0e Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Thu, 24 Jan 2019 08:55:14 +0000 Subject: [PATCH 23/85] Optimize inbounds checks. --- src/enums.h | 11 ++++++----- src/map.cpp | 25 +++++++++++++++++++------ src/map.h | 1 + 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/enums.h b/src/enums.h index fdeb2e0e978d7..e27f5b0d34090 100644 --- a/src/enums.h +++ b/src/enums.h @@ -344,11 +344,12 @@ inline bool generic_inbounds( const tripoint &p, const box &boundaries, const box &clearance = box_zero ) { - return p.x >= ( boundaries.p_min + clearance.p_min ).x && - p.x <= ( boundaries.p_max - clearance.p_max ).x && - p.y >= ( boundaries.p_min + clearance.p_min ).y && - p.y <= ( boundaries.p_max - clearance.p_max ).y && - p.z >= ( boundaries.p_min + clearance.p_min ).z && p.z <= ( boundaries.p_max - clearance.p_max ).z; + return p.x >= boundaries.p_min.x + clearance.p_min.x && + p.x <= boundaries.p_max.x - clearance.p_max.x && + p.y >= boundaries.p_min.y + clearance.p_min.y && + p.y <= boundaries.p_max.y - clearance.p_max.y && + p.z >= boundaries.p_min.z + clearance.p_min.z && + p.z <= boundaries.p_max.z - clearance.p_max.z; } /** Checks if given point is inbounds of given min and max point using given clearance **/ diff --git a/src/map.cpp b/src/map.cpp index 78e1fcfe75320..555599083212d 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -7227,13 +7227,26 @@ const std::vector &map::trap_locations( const trap_id type ) const bool map::inbounds( const tripoint &p ) const { - const tripoint map_boundary_min( 0, 0, -OVERMAP_DEPTH ); - const tripoint map_boundary_max( SEEY * my_MAPSIZE, SEEX * my_MAPSIZE, OVERMAP_HEIGHT ); - const tripoint map_clearance_min( tripoint_zero ); - const tripoint map_clearance_max( 1, 1, 0 ); + constexpr tripoint map_boundary_min( 0, 0, -OVERMAP_DEPTH ); + constexpr tripoint map_boundary_max( SEEY * MAPSIZE, SEEX * MAPSIZE, OVERMAP_HEIGHT ); + constexpr tripoint map_clearance_min( tripoint_zero ); + constexpr tripoint map_clearance_max( 1, 1, 0 ); - const box map_boundaries( map_boundary_min, map_boundary_max ); - const box map_clearance( map_clearance_min, map_clearance_max ); + constexpr box map_boundaries( map_boundary_min, map_boundary_max ); + constexpr box map_clearance( map_clearance_min, map_clearance_max ); + + return generic_inbounds( p, map_boundaries, map_clearance ); +} + +bool tinymap::inbounds( const tripoint &p ) const +{ + constexpr tripoint map_boundary_min( tripoint_zero ); + constexpr tripoint map_boundary_max( SEEY * 2, SEEX * 2, 0 ); + constexpr tripoint map_clearance_min( tripoint_zero ); + constexpr tripoint map_clearance_max( 1, 1, 0 ); + + constexpr box map_boundaries( map_boundary_min, map_boundary_max ); + constexpr box map_clearance( map_clearance_min, map_clearance_max ); return generic_inbounds( p, map_boundaries, map_clearance ); } diff --git a/src/map.h b/src/map.h index fcef0e140ede7..fa7cf11d1a6a0 100644 --- a/src/map.h +++ b/src/map.h @@ -1617,6 +1617,7 @@ class tinymap : public map friend class editmap; public: tinymap( int mapsize = 2, bool zlevels = false ); + bool inbounds( const tripoint &p ) const; }; #endif From 19b6183f1b9e02f56dd41043b8f369130529c630 Mon Sep 17 00:00:00 2001 From: GoLoT Date: Thu, 24 Jan 2019 11:11:20 +0100 Subject: [PATCH 24/85] Fix crash when stacking items --- src/item.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/item.cpp b/src/item.cpp index 2640f62ed113c..c4a6002954fce 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -574,16 +574,6 @@ bool item::stacks_with( const item &rhs, bool check_components ) const if( item_vars != rhs.item_vars ) { return false; } - // check if components are the same, otherwise don't stack - if( components.size() != rhs.components.size() ) { - return false; - } else { - for( int i = 0; components.size(); i++ ) { - if( components.operator[]( i ).type != rhs.components.operator[]( i ).type ) { - return false; - } - } - } if( goes_bad() ) { // If this goes bad, the other item should go bad, too. It only depends on the item type. // Stack items that fall into the same "bucket" of freshness. @@ -607,8 +597,8 @@ bool item::stacks_with( const item &rhs, bool check_components ) const if( corpse != nullptr && rhs.corpse != nullptr && corpse->id != rhs.corpse->id ) { return false; } - if( check_components ) { - //Only check if at least one item isn't using the default recipe + if( check_components || rhs.is_comestible() ) { + //Only check if at least one item isn't using the default recipe or is comestible if( !components.empty() || !rhs.components.empty() ) { if( get_uncraft_components() != rhs.get_uncraft_components() ) { return false; From fbc4ca0530a4c36290b759f90e74ccb1a06ddd91 Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 10:27:39 +0000 Subject: [PATCH 25/85] made cockroach nymph less aggressive --- data/json/monsters/insect_spider.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/data/json/monsters/insect_spider.json b/data/json/monsters/insect_spider.json index 2960c150e30f2..0b3bcbb4a7985 100644 --- a/data/json/monsters/insect_spider.json +++ b/data/json/monsters/insect_spider.json @@ -146,21 +146,22 @@ "hp": 10, "speed": 50, "material": [ "iflesh" ], + "diff": 1, "symbol": "a", "color": "brown", - "aggression": 100, - "morale": 100, + "aggression": -99, + "morale": -8, "melee_skill": 3, "melee_dice": 2, "melee_dice_sides": 3, - "melee_cut": 0, + "melee_cut": 1, "vision_day": 10, "vision_night": 3, "harvest": "mammal_tiny", "upgrades": { "age_grow": 7, "into": "mon_giant_cockroach" }, "death_function": [ "NORMAL" ], "special_attacks": [ [ "EAT_FOOD", 120 ] ], - "flags": [ "SEES", "HEARS", "SMELLS", "CLIMBS" ] + "flags": [ "SEES", "HEARS", "SMELLS", "LARVA", "CLIMBS" ] }, { "id": "mon_pregnant_giant_cockroach", From 434d3318a4f5adfedb1789f21836eb6ae11866c2 Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 10:32:43 +0000 Subject: [PATCH 26/85] reverted melee-cut --- data/json/monsters/insect_spider.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/monsters/insect_spider.json b/data/json/monsters/insect_spider.json index 0b3bcbb4a7985..68cd2fc46b24b 100644 --- a/data/json/monsters/insect_spider.json +++ b/data/json/monsters/insect_spider.json @@ -154,7 +154,7 @@ "melee_skill": 3, "melee_dice": 2, "melee_dice_sides": 3, - "melee_cut": 1, + "melee_cut": 0, "vision_day": 10, "vision_night": 3, "harvest": "mammal_tiny", From 820fef5580dfaa2ef5deae7964382dcdb891460b Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 14:22:35 +0000 Subject: [PATCH 27/85] fixed weather reader windchill display --- src/bionics.cpp | 2 +- src/iuse.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bionics.cpp b/src/bionics.cpp index 9ba12eaa1a104..d7d7eb542f68b 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -502,7 +502,7 @@ bool player::activate_bionic( int b, bool eff_only ) add_msg_if_player( m_info, _( "Feels Like: %s." ), print_temperature( get_local_windchill( weatherPoint.temperature, weatherPoint.humidity, - windpower ) + player_local_temp ).c_str() ); + windpower / 100 ) + player_local_temp ).c_str() ); add_msg_if_player( m_info, _( "Wind Direction: From the %s." ), weatherPoint.dirstring ); } else if( bio.id == "bio_remote" ) { int choice = uilist( _( "Perform which function:" ), { diff --git a/src/iuse.cpp b/src/iuse.cpp index cd1cbee6809fa..0932c144ee649 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -7366,7 +7366,7 @@ int iuse::weather_tool( player *p, item *it, bool, const tripoint & ) p->add_msg_if_player( m_neutral, _( "Feels Like: %s." ), print_temperature( - get_local_windchill( weatherPoint.temperature, weatherPoint.humidity, windpower ) + + get_local_windchill( weatherPoint.temperature, weatherPoint.humidity, windpower / 100 ) + player_local_temp ).c_str() ); p->add_msg_if_player( m_neutral, _( "Wind Direction: From the %s." ), weatherPoint.dirstring ); } From 40966af99969f97aecafdcb1007b12fef057a552 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Thu, 24 Jan 2019 08:52:33 -0800 Subject: [PATCH 28/85] Update src/map.cpp Co-Authored-By: kevingranade --- src/map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map.cpp b/src/map.cpp index 555599083212d..c6ec1e423d642 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -7228,7 +7228,7 @@ const std::vector &map::trap_locations( const trap_id type ) const bool map::inbounds( const tripoint &p ) const { constexpr tripoint map_boundary_min( 0, 0, -OVERMAP_DEPTH ); - constexpr tripoint map_boundary_max( SEEY * MAPSIZE, SEEX * MAPSIZE, OVERMAP_HEIGHT ); + constexpr tripoint map_boundary_max( MAPSIZE_Y, MAPSIZE_X, OVERMAP_HEIGHT ); constexpr tripoint map_clearance_min( tripoint_zero ); constexpr tripoint map_clearance_max( 1, 1, 0 ); From d9b52e7e4b40a276d442dd80fb0217215332da02 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Thu, 24 Jan 2019 21:44:15 +0300 Subject: [PATCH 29/85] Fixed graphic options check - guarded checking of `RENDERER` option for non-Android builds; - guarded checking of `SOFTWARE_RENDERING` option for Android builds. --- src/sdltiles.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index cd7d0a3c3579d..2e5f3440637f7 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -399,6 +399,7 @@ void WinCreate() format.reset( SDL_AllocFormat( wformat ) ); throwErrorIf( !format, "SDL_AllocFormat failed" ); +#ifndef __ANDROID__ bool software_renderer = get_option( "RENDERER" ).empty(); int renderer_id = -1; std::string renderer_name; @@ -418,6 +419,9 @@ void WinCreate() break; } } +#else + bool software_renderer = get_option( "SOFTWARE_RENDERING" ); +#endif if( !software_renderer ) { dbg( D_INFO ) << "Attempting to initialize accelerated SDL renderer."; From 05e443da04dbd22b3272ca32471d76ab14f7ea57 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Thu, 24 Jan 2019 21:52:36 +0300 Subject: [PATCH 30/85] Additional guards in draw_benchmark debug function --- src/debug_menu.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/debug_menu.cpp b/src/debug_menu.cpp index 23ae11784dfd5..78d9846be5208 100644 --- a/src/debug_menu.cpp +++ b/src/debug_menu.cpp @@ -630,7 +630,11 @@ void draw_benchmark( const int max_difference ) "\n| USE_TILES | RENDERER | FRAMEBUFFER_ACCEL | USE_COLOR_MODULATED_TEXTURES | FPS |" << "\n|:---:|:---:|:---:|:---:|:---:|\n| " << get_option( "USE_TILES" ) << " | " << +#ifndef __ANDROID__ get_option( "RENDERER" ) << " | " << +#else + get_option( "SOFTWARE_RENDERING" ) << " | " << +#endif get_option( "FRAMEBUFFER_ACCEL" ) << " | " << get_option( "USE_COLOR_MODULATED_TEXTURES" ) << " | " << int( 1000.0 * draw_counter / ( double )difference ) << " |\n"; From 7b146606eb463c5a6b4728ecc2f1dd8ca3645450 Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 22:24:02 +0000 Subject: [PATCH 31/85] added terrain blocking to wind turbine and upped its power --- data/json/vehicle_parts.json | 2 +- src/vehicle.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/data/json/vehicle_parts.json b/data/json/vehicle_parts.json index 8f80136e6380f..5f8ada9f83e29 100644 --- a/data/json/vehicle_parts.json +++ b/data/json/vehicle_parts.json @@ -1250,7 +1250,7 @@ "damage_modifier": 10, "durability": 15, "description": "A small wind turbine. Will slowly recharge the vehicle's electrical power when exposed to the wind.", - "epower": 17, + "epower": 60, "item": "wind_turbine", "location": "on_roof", "requirements": { diff --git a/src/vehicle.cpp b/src/vehicle.cpp index e1330c7228c2c..f0daeec3fed4c 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -32,6 +32,7 @@ #include "output.h" #include "overmap.h" #include "overmapbuffer.h" +#include "player.h" #include "sounds.h" #include "string_formatter.h" #include "submap.h" @@ -5165,7 +5166,7 @@ void vehicle::update_time( const time_point &update_to ) charge_battery( energy_bat ); } } - + const oter_id cur_om_ter; if( !wind_turbines.empty() ) { int epower_w = 0; for( int part : wind_turbines ) { @@ -5179,9 +5180,15 @@ void vehicle::update_time( const time_point &update_to ) epower_w += part_epower_w( part ); } + ///Wind Turbine less efficient in forests + const oter_id &cur_om_ter = overmap_buffer.ter( g->m.getabs( global_pos3() ) ); const w_point weatherPoint = *g->weather_precise; int windpower = weatherPoint.windpower; + add_msg( m_debug, "%s intensity before", windpower ); + windpower = get_local_windpower( windpower, cur_om_ter, false ); + add_msg( m_debug, "%s intensity after", windpower ); double intensity = windpower / to_turns( elapsed ); + //If turbine is in the forest... it produces less power int energy_bat = power_to_energy_bat( epower_w * intensity, 6 * to_turns( elapsed ) ); if( energy_bat > 0 ) { add_msg( m_debug, "%s got %d kJ energy from wind turbines", name, energy_bat ); From 20079e8764592dce0b505cc485cdf5227ace0d1a Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 22:30:26 +0000 Subject: [PATCH 32/85] removed test code --- src/vehicle.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index f0daeec3fed4c..66c0d8098717b 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -5184,9 +5184,7 @@ void vehicle::update_time( const time_point &update_to ) const oter_id &cur_om_ter = overmap_buffer.ter( g->m.getabs( global_pos3() ) ); const w_point weatherPoint = *g->weather_precise; int windpower = weatherPoint.windpower; - add_msg( m_debug, "%s intensity before", windpower ); windpower = get_local_windpower( windpower, cur_om_ter, false ); - add_msg( m_debug, "%s intensity after", windpower ); double intensity = windpower / to_turns( elapsed ); //If turbine is in the forest... it produces less power int energy_bat = power_to_energy_bat( epower_w * intensity, 6 * to_turns( elapsed ) ); From 44a0c97dc683e720a388da9559ccccef60c70fa6 Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 22:31:19 +0000 Subject: [PATCH 33/85] removd more redundant code --- src/vehicle.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 66c0d8098717b..0b73a92dcd4d9 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -5166,7 +5166,6 @@ void vehicle::update_time( const time_point &update_to ) charge_battery( energy_bat ); } } - const oter_id cur_om_ter; if( !wind_turbines.empty() ) { int epower_w = 0; for( int part : wind_turbines ) { From 4ec2616230806bf1b6c6c5cde4d70a8a19f6958c Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 22:32:07 +0000 Subject: [PATCH 34/85] changed comment --- src/vehicle.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 0b73a92dcd4d9..6a29c4826a212 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -5179,13 +5179,12 @@ void vehicle::update_time( const time_point &update_to ) epower_w += part_epower_w( part ); } - ///Wind Turbine less efficient in forests + //Wind Turbine less efficient in forests const oter_id &cur_om_ter = overmap_buffer.ter( g->m.getabs( global_pos3() ) ); const w_point weatherPoint = *g->weather_precise; int windpower = weatherPoint.windpower; windpower = get_local_windpower( windpower, cur_om_ter, false ); double intensity = windpower / to_turns( elapsed ); - //If turbine is in the forest... it produces less power int energy_bat = power_to_energy_bat( epower_w * intensity, 6 * to_turns( elapsed ) ); if( energy_bat > 0 ) { add_msg( m_debug, "%s got %d kJ energy from wind turbines", name, energy_bat ); From 796eb3da820be37c8bb3bb7234a316708361d20a Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 22:35:08 +0000 Subject: [PATCH 35/85] removed include --- src/vehicle.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 6a29c4826a212..43aa9b3fabbd1 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -32,7 +32,6 @@ #include "output.h" #include "overmap.h" #include "overmapbuffer.h" -#include "player.h" #include "sounds.h" #include "string_formatter.h" #include "submap.h" From 6a6570e8512386ba1cbba69e65a0c65fda4c804f Mon Sep 17 00:00:00 2001 From: KorGgenT Date: Thu, 24 Jan 2019 19:06:54 -0500 Subject: [PATCH 36/85] add skinning butchery action --- data/json/player_activities.json | 6 ++++ src/activity_handlers.cpp | 52 +++++++++++++++++++++++++++++++- src/activity_handlers.h | 1 + src/game.cpp | 5 +++ src/item.cpp | 28 ++++++++++++++--- 5 files changed, 87 insertions(+), 5 deletions(-) diff --git a/data/json/player_activities.json b/data/json/player_activities.json index 54dc4302af120..120fb9394069f 100644 --- a/data/json/player_activities.json +++ b/data/json/player_activities.json @@ -69,6 +69,12 @@ "stop_phrase": "Stop field dressing?", "based_on": "speed" }, + { + "id": "ACT_SKIN", + "type": "activity_type", + "stop_phrase": "Stop skinning?", + "based_on": "speed" + }, { "id": "ACT_QUARTER", "type": "activity_type", diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index 5081425111e02..6a0daf004b7d1 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -80,6 +80,7 @@ activity_handlers::do_turn_functions = { { activity_id( "ACT_BUTCHER" ), butcher_do_turn }, { activity_id( "ACT_BUTCHER_FULL" ), butcher_do_turn }, { activity_id( "ACT_FIELD_DRESS" ), butcher_do_turn }, + { activity_id( "ACT_SKIN" ), butcher_do_turn }, { activity_id( "ACT_QUARTER" ), butcher_do_turn }, { activity_id( "ACT_DISSECT" ), butcher_do_turn }, { activity_id( "ACT_HACKSAW" ), hacksaw_do_turn }, @@ -101,6 +102,7 @@ activity_handlers::finish_functions = { { activity_id( "ACT_BUTCHER" ), butcher_finish }, { activity_id( "ACT_BUTCHER_FULL" ), butcher_finish }, { activity_id( "ACT_FIELD_DRESS" ), butcher_finish }, + { activity_id( "ACT_SKIN" ), butcher_finish }, { activity_id( "ACT_QUARTER" ), butcher_finish }, { activity_id( "ACT_DISSECT" ), butcher_finish }, { activity_id( "ACT_FIRSTAID" ), firstaid_finish }, @@ -381,6 +383,12 @@ void set_up_butchery( player_activity &act, player &u, butcher_type action ) return; } + if( action == SKIN && corpse_item.has_flag( "SKINNED" ) ) { + u.add_msg_if_player( m_info, _( "This corpse is already skinned." ) ); + act.index = -1; + return; + } + if( action == QUARTER ) { if( corpse.size == MS_TINY ) { u.add_msg_if_player( m_bad, _( "This corpse is too small to quarter without damaging." ), @@ -476,6 +484,9 @@ int butcher_time_to_cut( const player &u, const item &corpse_item, const butcher case F_DRESS: time_to_cut *= 2; break; + case SKIN: + time_to_cut *= 2; + break; case QUARTER: time_to_cut /= 4; if( time_to_cut < 200 ) { @@ -652,6 +663,9 @@ void butchery_drops_harvest( item *corpse_item, const mtype &mt, player &p, cons _( "You salvage what you can from the corpse, but it is badly damaged." ) ); } } + if( corpse_item->has_flag( "SKINNED" ) ) { + monster_weight = round( 0.85 * monster_weight ); + } int monster_weight_remaining = monster_weight; int practice = 4 + roll_butchery(); @@ -744,6 +758,14 @@ void butchery_drops_harvest( item *corpse_item, const mtype &mt, player &p, cons } } + // you only get the skin from skinning + if( action == SKIN ) { + if( entry.type != "skin" ) { + roll = 0; + continue; + } + } + // field dressing removed innards and bones from meatless limbs if( ( action == BUTCHER_FULL || action == BUTCHER ) && corpse_item->has_flag( "FIELD_DRESS" ) ) { if( entry.type == "offal" ) { @@ -816,6 +838,8 @@ void butchery_drops_harvest( item *corpse_item, const mtype &mt, player &p, cons if( action == F_DRESS ) { // 25% of the corpse weight is what's removed during field dressing monster_weight_remaining -= monster_weight * 3 / 4; + } else if( action == SKIN ) { + monster_weight_remaining -= monster_weight * 0.85; } else { // a carcass is 75% of the weight of the unmodified creature's weight if( ( corpse_item->has_flag( "FIELD_DRESS" ) || corpse_item->has_flag( "FIELD_DRESS_FAILED" ) ) && @@ -824,6 +848,9 @@ void butchery_drops_harvest( item *corpse_item, const mtype &mt, player &p, cons } else if( corpse_item->has_flag( "QUARTERED" ) ) { monster_weight_remaining -= ( monster_weight - ( monster_weight * 3 / 4 / 4 ) ); } + if( corpse_item->has_flag( "SKINNED" ) ) { + monster_weight_remaining -= monster_weight * 0.15; + } } const int item_charges = monster_weight_remaining / to_gram( ( item::find_type( "ruined_chunks" ) )->weight ); @@ -865,6 +892,8 @@ void activity_handlers::butcher_finish( player_activity *act, player *p ) action = QUARTER; } else if( act->id() == activity_id( "ACT_DISSECT" ) ) { action = DISSECT; + } else if( act->id() == activity_id( "ACT_SKIN" ) ) { + action = SKIN; } //Negative index means try to start next item @@ -967,7 +996,7 @@ void activity_handlers::butcher_finish( player_activity *act, player *p ) butchery_drops_harvest( &corpse_item, *corpse, *p, bday, roll_butchery, action, roll_drops ); // reveal hidden items / hidden content - if( action != F_DRESS ) { + if( action != F_DRESS && action != SKIN ) { for( auto &content : contents ) { if( ( roll_butchery() + 10 ) * 5 > rng( 0, 100 ) ) { //~ %1$s - item name, %2$s - monster name @@ -1049,6 +1078,27 @@ void activity_handlers::butcher_finish( player_activity *act, player *p ) } break; + case SKIN: + switch( rng( 1, 4 ) ) { + case 1: + p->add_msg_if_player( m_good, _( "You skin the %s." ), corpse->nname().c_str() ); + break; + case 2: + p->add_msg_if_player( m_good, _( "You carefully remove the hide from the %s" ), + corpse->nname().c_str() ); + break; + case 3: + p->add_msg_if_player( m_good, + _( "The %s is challenging to skin, but you get a good hide from it." ), + corpse->nname().c_str() ); + break; + case 4: + p->add_msg_if_player( m_good, _( "With a few deft slices you take the skin from the %s" ), + corpse->nname().c_str() ); + break; + } + corpse_item.set_flag( "SKINNED" ); + break; case DISSECT: p->add_msg_if_player( m_good, _( "You finish dissecting the %s." ), corpse_item.tname().c_str() ); g->m.i_rem( p->pos(), act->index ); diff --git a/src/activity_handlers.h b/src/activity_handlers.h index bcad708927b9a..bcce59db9ca1a 100644 --- a/src/activity_handlers.h +++ b/src/activity_handlers.h @@ -19,6 +19,7 @@ enum butcher_type : int { BUTCHER, // quick butchery BUTCHER_FULL, // full workshop butchery F_DRESS, // field dressing a corpse + SKIN, // skinning a corpse QUARTER, // quarter a corpse DISSECT // dissect a corpse for CBMs }; diff --git a/src/game.cpp b/src/game.cpp index 9164398a51be0..0bfeeabe062ee 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -9366,6 +9366,8 @@ void butcher_submenu( map_stack &items, const std::vector &corpses, int cor _( "This technique is used to properly butcher a corpse, and requires a rope & a tree or a butchering rack, a flat surface (for ex. a table, a leather tarp, etc.) and good tools. Yields are plentiful and varied, but it is time consuming." ) ); smenu.addentry_col( F_DRESS, true, 'f', _( "Field dress corpse" ), cut_time( F_DRESS ), _( "Technique that involves removing internal organs and viscera to protect the corpse from rotting from inside. Yields internal organs. Carcass will be lighter and will stay fresh longer. Can be combined with other methods for better effects." ) ); + smenu.addentry_col( SKIN, true, 's', ( "Skin corpse" ), cut_time( SKIN ), + _( "Skinning a corpse is an involved and careful process that usually takes some time. You need skill and an appropriately sharp and precise knife to do a good job. Some corpses are too small to yield a full-sized hide and will instead produce scraps that can be used in other ways." ) ); smenu.addentry_col( QUARTER, true, 'k', _( "Quarter corpse" ), cut_time( QUARTER ), _( "By quartering a previously field dressed corpse you will aquire four parts with reduced weight and volume. It may help in transporting large game. This action destroys skin, hide, pelt, etc., so don't use it if you want to harvest them later." ) ); smenu.addentry_col( DISSECT, true, 'd', _( "Dissect corpse" ), cut_time( DISSECT ), @@ -9381,6 +9383,9 @@ void butcher_submenu( map_stack &items, const std::vector &corpses, int cor case F_DRESS: g->u.assign_activity( activity_id( "ACT_FIELD_DRESS" ), 0, -1 ); break; + case SKIN: + g->u.assign_activity( activity_id( "ACT_SKIN" ), 0, -1 ); + break; case QUARTER: g->u.assign_activity( activity_id( "ACT_QUARTER" ), 0, -1 ); break; diff --git a/src/item.cpp b/src/item.cpp index c4a6002954fce..705e58dfc8568 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -3133,6 +3133,9 @@ units::mass item::weight( bool include_contents ) const if( has_flag( "GIBBED" ) ) { ret *= 0.85; } + if( has_flag( "SKINNED" ) ) { + ret *= 0.85; + } } else if( magazine_integral() && !is_magazine() ) { if( ammo_type() == ammotype( "plutonium" ) ) { @@ -3179,6 +3182,9 @@ units::volume item::corpse_volume( const mtype *corpse ) const if( has_flag( "GIBBED" ) ) { corpse_volume *= 0.85; } + if( has_flag( "SKINNED" ) ) { + corpse_volume *= 0.85; + } if( corpse_volume > 0_ml ) { return corpse_volume; } @@ -3805,7 +3811,8 @@ const std::vector &item::brewing_results() const bool item::can_revive() const { if( is_corpse() && corpse->has_flag( MF_REVIVES ) && damage() < max_damage() && - !( has_flag( "FIELD_DRESS" ) || has_flag( "FIELD_DRESS_FAILED" ) || has_flag( "QUARTERED" ) ) ) { + !( has_flag( "FIELD_DRESS" ) || has_flag( "FIELD_DRESS_FAILED" ) || has_flag( "QUARTERED" ) || + has_flag( "SKINNED" ) ) ) { return true; } @@ -7271,9 +7278,16 @@ std::string item::type_name( unsigned int quantity ) const const auto iter = item_vars.find( "name" ); bool f_dressed = has_flag( "FIELD_DRESS" ) || has_flag( "FIELD_DRESS_FAILED" ); bool quartered = has_flag( "QUARTERED" ); + bool skinned = has_flag( "SKINNED" ); if( corpse != nullptr && typeId() == "corpse" ) { if( corpse_name.empty() ) { - if( f_dressed && !quartered ) { + if( skinned && !f_dressed && !quartered ) { + return string_format( npgettext( "item name", "skinned %s corpse", "skinned %s corpses", quantity ), + corpse->nname().c_str() ); + } else if( skinned && f_dressed && !quartered ) { + return string_format( npgettext( "item name", "skinned %s carcass", "skinned %s carcasses", + quantity ), corpse->nname().c_str() ); + } else if( f_dressed && !quartered ) { return string_format( npgettext( "item name", "%s carcass", "%s carcasses", quantity ), corpse->nname().c_str() ); @@ -7286,11 +7300,17 @@ std::string item::type_name( unsigned int quantity ) const "%s corpses", quantity ), corpse->nname().c_str() ); } else { - if( f_dressed && !quartered ) { + if( skinned && !f_dressed && !quartered ) { + return string_format( npgettext( "item name", "skinned %s corpse of %s", "skinned %s corpses of %s", + quantity ) ); + } else if( skinned && f_dressed && !quartered ) { + return string_format( npgettext( "item name", "skinned %s carcass of %s", + "skinned %s carcasses of %s", quantity ) ); + } else if( f_dressed && !quartered && !skinned ) { return string_format( npgettext( "item name", "%s carcass of %s", "%s carcasses of %s", quantity ), corpse->nname().c_str(), corpse_name.c_str() ); - } else if( f_dressed && quartered ) { + } else if( f_dressed && quartered && !skinned ) { return string_format( npgettext( "item name", "quartered %s carcass", "quartered %s carcasses", quantity ), corpse->nname().c_str() ); From 8dfe1a971abb763ed56bcf1f1648597bc8fd503a Mon Sep 17 00:00:00 2001 From: KorGgenT Date: Thu, 24 Jan 2019 19:13:17 -0500 Subject: [PATCH 37/85] if already skinned, won't drop additional skins. --- src/activity_handlers.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index 6a0daf004b7d1..195de47f549d4 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -731,6 +731,10 @@ void butchery_drops_harvest( item *corpse_item, const mtype &mt, player &p, cons roll /= 2; } + if( corpse_item->has_flag( "SKINNED" ) && entry.type == "skin" ) { + roll = 0; + } + // QUICK BUTCHERY if( action == BUTCHER ) { if( entry.type == "flesh" ) { From 6a8e1f9432787b48325788cf813d9f7c8ede8622 Mon Sep 17 00:00:00 2001 From: KorGgenT Date: Thu, 24 Jan 2019 14:38:55 -0500 Subject: [PATCH 38/85] minor recipe tweaks --- data/json/recipes/recipe_food.json | 34 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index c33765d4f097e..7322a2e61fe60 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -2013,8 +2013,8 @@ [ "irradiated_celery", 1 ], [ "cabbage", 1 ], [ "irradiated_cabbage", 1 ], - [ "sauerkraut", 2 ], - [ "powder_eggs", 5 ], + [ "sauerkraut", 1 ], + [ "powder_eggs", 1 ], [ "eggs_bird", 1, "LIST" ], [ "egg_reptile", 1 ], [ "dry_beans", 1 ], @@ -2113,9 +2113,9 @@ [ "fish_canned", 1 ], [ "can_salmon", 1 ], [ "can_tuna", 1 ], - [ "sausage", 2 ], - [ "sausage_cooked", 2 ], - [ "bratwurst_sausage", 2 ], + [ "sausage", 1 ], + [ "sausage_cooked", 1 ], + [ "bratwurst_sausage", 1 ], [ "powder_eggs", 2 ], [ "eggs_bird", 2, "LIST" ], [ "egg_reptile", 2 ] @@ -4138,7 +4138,7 @@ [ "dandelion_cooked", 2 ], [ "acorns_cooked", 2 ] ], - [ [ "meat_red", 2, "LIST" ], [ "dry_meat", 2 ], [ "can_chicken", 2 ] ] + [ [ "meat_red", 2, "LIST" ], [ "dry_meat", 2 ], [ "can_chicken", 4 ] ] ] }, { @@ -6411,7 +6411,7 @@ [ "cornmeal", 1 ], [ "milk_powder", 1 ], [ "crackers", 2 ], - [ "powder_eggs", 5 ], + [ "powder_eggs", 1 ], [ "eggs_bird", 1, "LIST" ], [ "egg_reptile", 1 ], [ "dry_beans", 1 ], @@ -7779,8 +7779,8 @@ [ "irradiated_celery", 12 ], [ "cabbage", 12 ], [ "irradiated_cabbage", 12 ], - [ "sauerkraut", 24 ], - [ "powder_eggs", 60 ], + [ "sauerkraut", 12 ], + [ "powder_eggs", 12 ], [ "eggs_bird", 12, "LIST" ], [ "egg_reptile", 12 ], [ "can_beans", 12 ], @@ -7794,7 +7794,7 @@ [ "dandelion_cooked", 12 ], [ "acorns_cooked", 12 ] ], - [ [ "meat", 24 ], [ "rehydrated_meat", 24 ], [ "dry_meat", 24 ], [ "meat_canned", 24 ], [ "can_chicken", 24 ] ] + [ [ "meat", 12 ], [ "rehydrated_meat", 12 ], [ "dry_meat", 12 ], [ "meat_canned", 12 ], [ "can_chicken", 24 ] ] ] }, { @@ -7895,7 +7895,7 @@ [ "irradiated_celery", 12 ], [ "cabbage", 12 ], [ "irradiated_cabbage", 12 ], - [ "sauerkraut", 74 ], + [ "sauerkraut", 12 ], [ "can_corn", 12 ], [ "corn", 12 ], [ "irradiated_corn", 12 ], @@ -7908,7 +7908,7 @@ [ "veggy_wild", 12 ], [ "veggy", 12 ], [ "dry_veggy", 12 ], - [ "powder_eggs", 60 ], + [ "powder_eggs", 12 ], [ "eggs_bird", 12, "LIST" ], [ "egg_reptile", 12 ], [ "can_beans", 12 ], @@ -7927,7 +7927,7 @@ [ "flour", 12 ], [ "cornmeal", 12 ], [ "milk_powder", 12 ], - [ "crackers", 24 ], + [ "crackers", 12 ], [ "dry_beans", 12 ], [ "raw_beans", 12 ], [ "dry_rice", 12 ], @@ -7940,10 +7940,10 @@ [ "acorns_cooked", 12 ] ], [ - [ "fish", 24 ], - [ "dry_fish", 24 ], - [ "salted_fish", 18 ], - [ "fish_smoked", 24 ], + [ "fish", 12 ], + [ "dry_fish", 12 ], + [ "salted_fish", 12 ], + [ "fish_smoked", 12 ], [ "fish_pickled", 12 ], [ "fish_canned", 12 ], [ "can_salmon", 12 ], From 3177adbed8093f414a83e9a85b6fd09bf68b05e8 Mon Sep 17 00:00:00 2001 From: KorGgenT Date: Thu, 24 Jan 2019 14:38:55 -0500 Subject: [PATCH 39/85] minor recipe tweaks --- data/json/recipes/recipe_food.json | 34 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index c33765d4f097e..7322a2e61fe60 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -2013,8 +2013,8 @@ [ "irradiated_celery", 1 ], [ "cabbage", 1 ], [ "irradiated_cabbage", 1 ], - [ "sauerkraut", 2 ], - [ "powder_eggs", 5 ], + [ "sauerkraut", 1 ], + [ "powder_eggs", 1 ], [ "eggs_bird", 1, "LIST" ], [ "egg_reptile", 1 ], [ "dry_beans", 1 ], @@ -2113,9 +2113,9 @@ [ "fish_canned", 1 ], [ "can_salmon", 1 ], [ "can_tuna", 1 ], - [ "sausage", 2 ], - [ "sausage_cooked", 2 ], - [ "bratwurst_sausage", 2 ], + [ "sausage", 1 ], + [ "sausage_cooked", 1 ], + [ "bratwurst_sausage", 1 ], [ "powder_eggs", 2 ], [ "eggs_bird", 2, "LIST" ], [ "egg_reptile", 2 ] @@ -4138,7 +4138,7 @@ [ "dandelion_cooked", 2 ], [ "acorns_cooked", 2 ] ], - [ [ "meat_red", 2, "LIST" ], [ "dry_meat", 2 ], [ "can_chicken", 2 ] ] + [ [ "meat_red", 2, "LIST" ], [ "dry_meat", 2 ], [ "can_chicken", 4 ] ] ] }, { @@ -6411,7 +6411,7 @@ [ "cornmeal", 1 ], [ "milk_powder", 1 ], [ "crackers", 2 ], - [ "powder_eggs", 5 ], + [ "powder_eggs", 1 ], [ "eggs_bird", 1, "LIST" ], [ "egg_reptile", 1 ], [ "dry_beans", 1 ], @@ -7779,8 +7779,8 @@ [ "irradiated_celery", 12 ], [ "cabbage", 12 ], [ "irradiated_cabbage", 12 ], - [ "sauerkraut", 24 ], - [ "powder_eggs", 60 ], + [ "sauerkraut", 12 ], + [ "powder_eggs", 12 ], [ "eggs_bird", 12, "LIST" ], [ "egg_reptile", 12 ], [ "can_beans", 12 ], @@ -7794,7 +7794,7 @@ [ "dandelion_cooked", 12 ], [ "acorns_cooked", 12 ] ], - [ [ "meat", 24 ], [ "rehydrated_meat", 24 ], [ "dry_meat", 24 ], [ "meat_canned", 24 ], [ "can_chicken", 24 ] ] + [ [ "meat", 12 ], [ "rehydrated_meat", 12 ], [ "dry_meat", 12 ], [ "meat_canned", 12 ], [ "can_chicken", 24 ] ] ] }, { @@ -7895,7 +7895,7 @@ [ "irradiated_celery", 12 ], [ "cabbage", 12 ], [ "irradiated_cabbage", 12 ], - [ "sauerkraut", 74 ], + [ "sauerkraut", 12 ], [ "can_corn", 12 ], [ "corn", 12 ], [ "irradiated_corn", 12 ], @@ -7908,7 +7908,7 @@ [ "veggy_wild", 12 ], [ "veggy", 12 ], [ "dry_veggy", 12 ], - [ "powder_eggs", 60 ], + [ "powder_eggs", 12 ], [ "eggs_bird", 12, "LIST" ], [ "egg_reptile", 12 ], [ "can_beans", 12 ], @@ -7927,7 +7927,7 @@ [ "flour", 12 ], [ "cornmeal", 12 ], [ "milk_powder", 12 ], - [ "crackers", 24 ], + [ "crackers", 12 ], [ "dry_beans", 12 ], [ "raw_beans", 12 ], [ "dry_rice", 12 ], @@ -7940,10 +7940,10 @@ [ "acorns_cooked", 12 ] ], [ - [ "fish", 24 ], - [ "dry_fish", 24 ], - [ "salted_fish", 18 ], - [ "fish_smoked", 24 ], + [ "fish", 12 ], + [ "dry_fish", 12 ], + [ "salted_fish", 12 ], + [ "fish_smoked", 12 ], [ "fish_pickled", 12 ], [ "fish_canned", 12 ], [ "can_salmon", 12 ], From ca138425ce527f2da4ecf4cdf4d22bd678e94638 Mon Sep 17 00:00:00 2001 From: Hymore246 Date: Thu, 24 Jan 2019 16:57:25 -0500 Subject: [PATCH 40/85] Added stab damage to sojutsu Added stab damage to sojutsu --- data/json/martialarts.json | 5 ++++- data/json/techniques.json | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data/json/martialarts.json b/data/json/martialarts.json index dd852f33706f8..c3a3172517aaa 100644 --- a/data/json/martialarts.json +++ b/data/json/martialarts.json @@ -1036,7 +1036,10 @@ "buff_duration" : 2, "max_stacks" : 1, "bonus_blocks" : -1, - "mult_bonuses" : [["damage", "cut", 1.1]] + "mult_bonuses" : [ + ["damage", "cut", 1.1], + ["damage", "stab", 1.1] + ] } ], "techniques" : [ diff --git a/data/json/techniques.json b/data/json/techniques.json index 77fcb14d39a3e..bc341d4744c95 100644 --- a/data/json/techniques.json +++ b/data/json/techniques.json @@ -1383,7 +1383,8 @@ "min_melee" : 4, "mult_bonuses" : [ ["damage", "bash", 0.0], - ["damage", "cut", 1.5] + ["damage", "cut", 1.5], + ["damage", "stab", 1.5] ], "unarmed_allowed" : false, "crit_tec" : true, From 6c3cbcd217cf45dd3c5db68c86a5c52baee72424 Mon Sep 17 00:00:00 2001 From: Hymore246 Date: Thu, 24 Jan 2019 16:57:25 -0500 Subject: [PATCH 41/85] Added stab damage to sojutsu Added stab damage to sojutsu --- data/json/martialarts.json | 5 ++++- data/json/techniques.json | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data/json/martialarts.json b/data/json/martialarts.json index dd852f33706f8..c3a3172517aaa 100644 --- a/data/json/martialarts.json +++ b/data/json/martialarts.json @@ -1036,7 +1036,10 @@ "buff_duration" : 2, "max_stacks" : 1, "bonus_blocks" : -1, - "mult_bonuses" : [["damage", "cut", 1.1]] + "mult_bonuses" : [ + ["damage", "cut", 1.1], + ["damage", "stab", 1.1] + ] } ], "techniques" : [ diff --git a/data/json/techniques.json b/data/json/techniques.json index 77fcb14d39a3e..bc341d4744c95 100644 --- a/data/json/techniques.json +++ b/data/json/techniques.json @@ -1383,7 +1383,8 @@ "min_melee" : 4, "mult_bonuses" : [ ["damage", "bash", 0.0], - ["damage", "cut", 1.5] + ["damage", "cut", 1.5], + ["damage", "stab", 1.5] ], "unarmed_allowed" : false, "crit_tec" : true, From f286ca04dbc332c6133a855c885afacadafa4a0a Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Thu, 24 Jan 2019 22:07:55 +0000 Subject: [PATCH 42/85] Fix looks_like for memorized tiles The code for drawing memorized tiles was assuming that all tiles were in category C_TERRAIN. Therefore, look_like values for furniture and vehicle parts wouldn't work. Try to guess the category based on the first character of the tile id, to fix this. --- src/cata_tiles.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index e031a631192d9..bc37a8c2d04d6 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -2292,8 +2292,25 @@ bool cata_tiles::draw_terrain_from_memory( const tripoint &p, int &height_3d ) return false; } - return draw_from_id_string( t.tile, C_TERRAIN, empty_string, p, t.subtile, t.rotation, LL_MEMORIZED, - nv_goggles_activated, height_3d ); + TILE_CATEGORY category = C_NONE; + + switch( t.tile[0] ) { + case 't': + category = C_TERRAIN; + break; + case 'f': + category = C_FURNITURE; + break; + case 'v': + category = C_VEHICLE_PART; + break; + default: + debugmsg( "Could not infer category for memorized tile %s", t.tile ); + break; + } + + return draw_from_id_string( t.tile, category, empty_string, p, t.subtile, t.rotation, + LL_MEMORIZED, nv_goggles_activated, height_3d ); } bool cata_tiles::draw_furniture( const tripoint &p, lit_level ll, int &height_3d ) From dd3cfb275d8a04b88b85c03ab8cd82b6495e34a1 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Fri, 25 Jan 2019 02:01:08 +0100 Subject: [PATCH 43/85] Disallow pseudo items in crafting component selection --- src/crafting.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/crafting.cpp b/src/crafting.cpp index 9900d5d723c23..da2632dd582ac 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -821,7 +821,8 @@ comp_selection player::select_item_component( const std::vector player::select_item_component( const std::vector= count ) { + if( !found && amount_of( type, false ) + map_inv.amount_of( type, false ) >= count ) { mixed.push_back( component ); } } From ef24fa61186c781f2e9811c97285fd85c2ea58fc Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Thu, 24 Jan 2019 22:07:55 +0000 Subject: [PATCH 44/85] Fix looks_like for memorized tiles The code for drawing memorized tiles was assuming that all tiles were in category C_TERRAIN. Therefore, look_like values for furniture and vehicle parts wouldn't work. Try to guess the category based on the first character of the tile id, to fix this. --- src/cata_tiles.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index e031a631192d9..bc37a8c2d04d6 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -2292,8 +2292,25 @@ bool cata_tiles::draw_terrain_from_memory( const tripoint &p, int &height_3d ) return false; } - return draw_from_id_string( t.tile, C_TERRAIN, empty_string, p, t.subtile, t.rotation, LL_MEMORIZED, - nv_goggles_activated, height_3d ); + TILE_CATEGORY category = C_NONE; + + switch( t.tile[0] ) { + case 't': + category = C_TERRAIN; + break; + case 'f': + category = C_FURNITURE; + break; + case 'v': + category = C_VEHICLE_PART; + break; + default: + debugmsg( "Could not infer category for memorized tile %s", t.tile ); + break; + } + + return draw_from_id_string( t.tile, category, empty_string, p, t.subtile, t.rotation, + LL_MEMORIZED, nv_goggles_activated, height_3d ); } bool cata_tiles::draw_furniture( const tripoint &p, lit_level ll, int &height_3d ) From 1aeee0e05fbc099ce2210a36c7aee4f8b95c258a Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Fri, 25 Jan 2019 02:01:08 +0100 Subject: [PATCH 45/85] Disallow pseudo items in crafting component selection --- src/crafting.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/crafting.cpp b/src/crafting.cpp index 9900d5d723c23..da2632dd582ac 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -821,7 +821,8 @@ comp_selection player::select_item_component( const std::vector player::select_item_component( const std::vector= count ) { + if( !found && amount_of( type, false ) + map_inv.amount_of( type, false ) >= count ) { mixed.push_back( component ); } } From 1c1d7bf5cc627a6e99a5f2133de2532137973713 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Fri, 25 Jan 2019 04:45:55 +0000 Subject: [PATCH 46/85] Add (failing) map bounds checking test --- tests/map_test.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/map_test.cpp b/tests/map_test.cpp index 0b48fb8f8b64d..0b9a102a4dce7 100644 --- a/tests/map_test.cpp +++ b/tests/map_test.cpp @@ -22,3 +22,43 @@ TEST_CASE( "destroy_grabbed_furniture" ) } } } + +TEST_CASE( "map_bounds_checking" ) +{ + map m; + m.load( 0, 0, 0, false ); + for( int x = -1; x <= MAPSIZE_X; ++x ) { + for( int y = -1; y <= MAPSIZE_Y; ++y ) { + for( int z = -OVERMAP_DEPTH - 1; z <= OVERMAP_HEIGHT + 1; ++z ) { + INFO( "( " << x << ", " << y << ", " << z << " )" ); + if( x < 0 || x >= MAPSIZE_X || + y < 0 || y >= MAPSIZE_Y || + z < -OVERMAP_DEPTH || z > OVERMAP_HEIGHT ) { + CHECK( !m.ter( { x, y, z } ) ); + } else { + CHECK( m.ter( { x, y, z } ) ); + } + } + } + } +} + +TEST_CASE( "tinymap_bounds_checking" ) +{ + tinymap m; + m.load( 0, 0, 0, false ); + for( int x = -1; x <= SEEX * 2; ++x ) { + for( int y = -1; y <= SEEY * 2; ++y ) { + for( int z = -OVERMAP_DEPTH - 1; z <= OVERMAP_HEIGHT + 1; ++z ) { + INFO( "( " << x << ", " << y << ", " << z << " )" ); + if( x < 0 || x >= SEEX * 2 || + y < 0 || y >= SEEY * 2 || + z < -OVERMAP_DEPTH || z > OVERMAP_HEIGHT ) { + CHECK( !m.ter( { x, y, z } ) ); + } else { + CHECK( m.ter( { x, y, z } ) ); + } + } + } + } +} From 407494e2d3542dd837d8272ac54ebb6037c39ecf Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Fri, 25 Jan 2019 04:48:10 +0000 Subject: [PATCH 47/85] Apply virtual tag to map::inbounds so tinymap can override it --- src/map.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map.h b/src/map.h index fa7cf11d1a6a0..8b0b846a03fe2 100644 --- a/src/map.h +++ b/src/map.h @@ -1263,7 +1263,7 @@ class map return getlocal( p.x, p.y ); } tripoint getlocal( const tripoint &p ) const; - bool inbounds( const tripoint &p ) const; + virtual bool inbounds( const tripoint &p ) const; bool inbounds( const point &p ) const { return inbounds( tripoint( p, 0 ) ); } From 7ea5c49be1041771b890928255d80b88bb4290cc Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Fri, 25 Jan 2019 08:13:35 +0000 Subject: [PATCH 48/85] Restore previous bounds for tinymaps. --- src/map.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/map.cpp b/src/map.cpp index c6ec1e423d642..4111e42f108b9 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -7240,8 +7240,8 @@ bool map::inbounds( const tripoint &p ) const bool tinymap::inbounds( const tripoint &p ) const { - constexpr tripoint map_boundary_min( tripoint_zero ); - constexpr tripoint map_boundary_max( SEEY * 2, SEEX * 2, 0 ); + constexpr tripoint map_boundary_min( 0, 0, -OVERMAP_DEPTH ); + constexpr tripoint map_boundary_max( SEEY * 2, SEEX * 2, OVERMAP_HEIGHT ); constexpr tripoint map_clearance_min( tripoint_zero ); constexpr tripoint map_clearance_max( 1, 1, 0 ); From 2eba6a289f0da76640624886efde31754c496039 Mon Sep 17 00:00:00 2001 From: Alexander Rowland Date: Fri, 25 Jan 2019 02:31:37 -0800 Subject: [PATCH 49/85] Fix recipe output portions for junkfood.json entries --- data/json/items/comestibles/junkfood.json | 5 ++++- data/json/recipes/recipe_food.json | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/data/json/items/comestibles/junkfood.json b/data/json/items/comestibles/junkfood.json index fdf3f1ff54fb0..6439e1ead25d3 100644 --- a/data/json/items/comestibles/junkfood.json +++ b/data/json/items/comestibles/junkfood.json @@ -67,6 +67,7 @@ "copy-from": "toasterpastryfrozen", "quench": 4, "description": "A delicious fruit-filled pastry that you've cooked. It even comes with frosting!", + "charges": 1, "fun": 30, "rot_spawn": "GROUP_CARRION" }, @@ -990,6 +991,7 @@ "container": "wrapper", "healthy": -2, "description": "A heavily processed sausage, dipped in batter and deep fried. Cooked, this corn dog now tastes much better, but will spoil.", + "charges": 1, "fun": 18 }, { @@ -1126,6 +1128,7 @@ "name_plural": "campfire hot dogs", "copy-from": "hotdogs_frozen", "description": "The simple hot dog, cooked over an open fire. Would be better on a bun, but it's quite an improvement over eating it uncooked", + "charges": 1, "stack_size": 4, "healthy": -1, "fun": 5 @@ -1149,7 +1152,7 @@ "volume": 2, "flags": [ "EATEN_HOT" ], "fun": 12, - "vitmins": [ [ "vitC", 20 ], [ "calcium", 5 ], [ "iron", 3 ] ], + "vitamins": [ [ "vitC", 20 ], [ "calcium", 5 ], [ "iron", 3 ] ], "rot_spawn": "GROUP_CARRION", "rot_spawn_chance": 15 }, diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index 7322a2e61fe60..880d4dfb110b6 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -5184,7 +5184,7 @@ "time": 1000, "autolearn": true, "batch_time_factors": [ 67, 5 ], - "qualities": [ { "id": "COOK", "level": 1, "amount": 1 } ], + "qualities": [ { "id": "COOK", "level": 1 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], "components": [ [ [ "hotdogs_frozen", 1 ] ] ] }, @@ -5334,7 +5334,7 @@ "subcategory": "CSC_FOOD_MEAT", "skill_used": "cooking", "difficulty": 2, - "time": 3500, + "time": 1750, "autolearn": true, "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], @@ -5520,10 +5520,10 @@ "category": "CC_FOOD", "subcategory": "CSC_FOOD_SNACK", "skill_used": "cooking", - "time": 5000, + "time": 2500, "autolearn": true, "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], - "components": [ [ [ "toasterpastryfrozen", 2 ] ] ] + "components": [ [ [ "toasterpastryfrozen", 1 ] ] ] }, { "type": "recipe", From c831b9ebddd53982735b58caf03700d2833fab2b Mon Sep 17 00:00:00 2001 From: Alexander Rowland Date: Fri, 25 Jan 2019 02:38:30 -0800 Subject: [PATCH 50/85] Rename hot dog cooked, uncooked to be singular Remove unnecessary amount flag from qualities in smores recipe --- data/json/items/comestibles/junkfood.json | 4 ++-- data/json/recipes/recipe_food.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/json/items/comestibles/junkfood.json b/data/json/items/comestibles/junkfood.json index 6439e1ead25d3..98c14f825bf7d 100644 --- a/data/json/items/comestibles/junkfood.json +++ b/data/json/items/comestibles/junkfood.json @@ -1101,7 +1101,7 @@ { "type": "COMESTIBLE", "id": "hotdogs_frozen", - "name": "uncooked hot dogs", + "name": "uncooked hot dog", "name_plural": "uncooked hot dogs", "weight": 43, "color": "red", @@ -1136,7 +1136,7 @@ { "type": "COMESTIBLE", "id": "hotdogs_cooked", - "name": "cooked hot dogs", + "name": "cooked hot dog", "name_plural": "cooked hot dogs", "weight": 383, "color": "red", diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index 880d4dfb110b6..e347bf709b3a2 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -3741,7 +3741,7 @@ "difficulty": 1, "time": 2000, "autolearn": true, - "qualities": [ { "id": "COOK", "level": 1, "amount": 1 } ], + "qualities": [ { "id": "COOK", "level": 1 } ], "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], "components": [ [ [ "grahmcrackers", 1 ] ], [ [ "marshmallow", 1 ] ], [ [ "chocolate", 1 ] ] ] }, From a561917c7bc9820ab0b39ee7860f244f9cc65255 Mon Sep 17 00:00:00 2001 From: Alexander Rowland Date: Fri, 25 Jan 2019 02:56:27 -0800 Subject: [PATCH 51/85] Move number of charges for corrected junkfood portions into recipes --- data/json/items/comestibles/junkfood.json | 3 --- data/json/recipes/recipe_food.json | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/json/items/comestibles/junkfood.json b/data/json/items/comestibles/junkfood.json index 98c14f825bf7d..4e497309f4f31 100644 --- a/data/json/items/comestibles/junkfood.json +++ b/data/json/items/comestibles/junkfood.json @@ -67,7 +67,6 @@ "copy-from": "toasterpastryfrozen", "quench": 4, "description": "A delicious fruit-filled pastry that you've cooked. It even comes with frosting!", - "charges": 1, "fun": 30, "rot_spawn": "GROUP_CARRION" }, @@ -991,7 +990,6 @@ "container": "wrapper", "healthy": -2, "description": "A heavily processed sausage, dipped in batter and deep fried. Cooked, this corn dog now tastes much better, but will spoil.", - "charges": 1, "fun": 18 }, { @@ -1128,7 +1126,6 @@ "name_plural": "campfire hot dogs", "copy-from": "hotdogs_frozen", "description": "The simple hot dog, cooked over an open fire. Would be better on a bun, but it's quite an improvement over eating it uncooked", - "charges": 1, "stack_size": 4, "healthy": -1, "fun": 5 diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index e347bf709b3a2..399921afc795e 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -5182,6 +5182,7 @@ "subcategory": "CSC_FOOD_MEAT", "skill_used": "cooking", "time": 1000, + "charges": 1, "autolearn": true, "batch_time_factors": [ 67, 5 ], "qualities": [ { "id": "COOK", "level": 1 } ], @@ -5335,6 +5336,7 @@ "skill_used": "cooking", "difficulty": 2, "time": 1750, + "charges": 1, "autolearn": true, "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], @@ -5521,6 +5523,7 @@ "subcategory": "CSC_FOOD_SNACK", "skill_used": "cooking", "time": 2500, + "charges": 1, "autolearn": true, "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], "components": [ [ [ "toasterpastryfrozen", 1 ] ] ] From 9007d16a3c64f01a3916d5340bfd3b7134a958f6 Mon Sep 17 00:00:00 2001 From: Brett Dong Date: Fri, 25 Jan 2019 21:48:43 +0800 Subject: [PATCH 52/85] Add missing i18n on sidebar --- src/game.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 0bfeeabe062ee..09a918a7339b6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -3704,7 +3704,7 @@ void game::draw_sidebar() const oter_id &cur_ter = overmap_buffer.ter( u.global_omt_location() ); wrefresh( s_window ); - mvwprintz( s_window, 0, 0, c_light_gray, "Location: " ); + mvwprintz( s_window, 0, 0, c_light_gray, _( "Location: " ) ); wprintz( s_window, c_white, utf8_truncate( cur_ter->get_name(), getmaxx( s_window ) ) ); if( get_levz() < 0 ) { @@ -3734,7 +3734,7 @@ void game::draw_sidebar() } int x = sideStyle ? 32 : 43; int y = sideStyle ? 1 : 0; - mvwprintz( s_window, y, x, c_light_gray, "Moon : " ); + mvwprintz( s_window, y, x, c_light_gray, _( "Moon : " ) ); trim_and_print( s_window, y, x + 7, 11, c_white, sPhase.c_str() ); const auto ll = get_light_level( g->u.fine_detail_vision_mod() ); From 1c793b94a64a327dd1f09102e8abd4966e52820e Mon Sep 17 00:00:00 2001 From: Brett Dong Date: Fri, 25 Jan 2019 21:58:41 +0800 Subject: [PATCH 53/85] Routine i18n updates as of Jan 25, 2019 based on master branch --- lang/po/cataclysm-dda.pot | 1782 +++++++++++++++++++++++---- lang/po/de.po | 1828 +++++++++++++++++++++++----- lang/po/es_AR.po | 1983 +++++++++++++++++++++++++----- lang/po/es_ES.po | 1920 +++++++++++++++++++++++------ lang/po/hu.po | 2072 ++++++++++++++++++++++++++------ lang/po/ja.po | 1826 +++++++++++++++++++++++----- lang/po/ko.po | 1802 +++++++++++++++++++++++----- lang/po/pl.po | 2400 +++++++++++++++++++++++++++++++------ lang/po/ru.po | 2167 +++++++++++++++++++++++++++------ lang/po/zh_CN.po | 1843 ++++++++++++++++++++++------ lang/po/zh_TW.po | 1813 +++++++++++++++++++++++----- 11 files changed, 17830 insertions(+), 3606 deletions(-) diff --git a/lang/po/cataclysm-dda.pot b/lang/po/cataclysm-dda.pot index c5e7a964dd2bb..0f78112f122e9 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.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-18 10:34+0800\n" +"POT-Creation-Date: 2019-01-25 21:51+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2381,6 +2381,46 @@ msgstr "" msgid "reloaded 4.6x30mm" msgstr "" +#: lang/json/AMMO_from_json.py +msgid ".460 Rowland HCFN" +msgstr "" + +#. ~ Description for .460 Rowland HCFN +#: lang/json/AMMO_from_json.py +msgid "" +"A plated, hard cast flat nosed variant of the .460 Rowland round. This " +"increases penetration slightly at the cost of reduced damage from expansion." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid ".460 Rowland" +msgstr "" + +#. ~ Description for .460 Rowland +#: lang/json/AMMO_from_json.py +msgid "" +".460 Rowland ammunition with 185gr JHP bullets. The .460 Rowland round is " +"designed to emulate hard-hitting .44 magnum in common autoloading pistols. " +"Like the .44, .460 rowland has exceptional power - and recoil. It is almost " +"dimensionally identical to .45ACP, save for having a longer case and deeper " +"seated bullets to prevent ammunition mix-ups." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "reloaded .460 Rowland FMJ" +msgstr "" + +#. ~ Description for reloaded .460 Rowland FMJ +#: lang/json/AMMO_from_json.py +msgid "" +"A brass-jacketed variant of the .460 Rowland round. This increases " +"penetration slightly at the cost of reduced damage from expansion." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "reloaded .460 Rowland" +msgstr "" + #: lang/json/AMMO_from_json.py msgid ".50 BMG tracer" msgstr "" @@ -5366,7 +5406,7 @@ msgstr "" #. ~ Description for spear strap #: lang/json/ARMOR_from_json.py msgid "" -"A cloth strap tied around the torso for toting spears while keeping your " +"A leather strap tied around the torso for toting spears while keeping your " "hands free. You have to duck to get through doors while one's in it, " "though. Activate to holster/draw a weapon." msgstr "" @@ -32110,7 +32150,8 @@ msgid "" "massive underground complex." msgstr "" -#: lang/json/GENERIC_from_json.py +#: lang/json/GENERIC_from_json.py src/cata_tiles.cpp +#: src/options.cpp msgid "software" msgid_plural "softwares" msgstr[0] "" @@ -33099,6 +33140,17 @@ msgid "" "Useful for a vehicle." 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] "" + +#. ~ Description for wind turbine +#: lang/json/GENERIC_from_json.py +msgid "A small turbine that can convert wind into electric power." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py #: lang/json/vehicle_part_from_json.py msgid "reinforced solar panel" @@ -34828,6 +34880,19 @@ msgstr[1] "" msgid "An empty casing from a 4.6x30mm round." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid ".460 rowland casing" +msgid_plural ".460 rowland casings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for .460 rowland casing +#: lang/json/GENERIC_from_json.py +msgid "" +"An empty casing from a .460 Rowland round. It looks deceptively like " +"a .45ACP casing." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "5x50mm hull" msgid_plural "5x50mm hulls" @@ -38573,17 +38638,6 @@ msgid "" "A standard 7-round steel box magazine for use with the IMI Desert Eagle." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "LW-12 magazine" -msgstr "" - -#. ~ Description for LW-12 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A 12-round polymer magazine for use with the Leadworks LLC L39-45 and " -"L39B-45 pistols." -msgstr "" - #: lang/json/MAGAZINE_from_json.py msgid "M1911 extended magazine" msgstr "" @@ -38689,6 +38743,17 @@ msgid "" "4.6x30mm round." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "LW-12 magazine" +msgstr "" + +#. ~ Description for LW-12 magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A 12-round polymer magazine for use with the Leadworks LLC L39-45 and " +"L39B-45 pistols." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "ammo belt .50 BMG" msgstr "" @@ -48421,8 +48486,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "A lightweight handheld cordless circular saw. Spins a circular blade fast " -"enough to cut wood, metal, zombies, or in an emergency, pizza. The blade, " -"while effective in combat, is hard to hit with due to its small size." +"enough to cut wood, zombies, or in an emergency, pizza. The blade, while " +"effective in combat, is hard to hit with due to its small size." msgstr "" #: lang/json/TOOL_from_json.py @@ -49759,7 +49824,7 @@ msgstr[1] "" #. ~ Description for hammer #: lang/json/TOOL_from_json.py msgid "" -"This is a demagnetized steel hammer with a wooden grip. With a hammer, " +"This is a demagnetized steel claw hammer with a wooden grip. With a hammer, " "nails, and two by fours in your inventory, you could board up adjacent doors " "and windows. It has myriad other uses as well." msgstr "" @@ -49921,8 +49986,8 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "This is an ice axe with hammer on its head, a multi-purpose hiking and " -"climbing tool used by mountaineers. It is sturdy enough, so you can use it " -"to pry open closed doors or lift manhole covers." +"climbing tool used by mountaineers. It is sturdy enough to pry open closed " +"doors or lift manhole covers." msgstr "" #: lang/json/TOOL_from_json.py @@ -55292,6 +55357,17 @@ msgstr "" msgid "A car wheel." msgstr "" +#: lang/json/WHEEL_from_json.py +msgid "racing wheel" +msgstr "" + +#. ~ Description for racing wheel +#: lang/json/WHEEL_from_json.py +msgid "" +"A wide, smooth wheel intended for racing. The slick surface provides better " +"speed on pavement but penalizes off-road speed." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "armored wheel" msgstr "" @@ -55310,7 +55386,8 @@ msgstr "" msgid "A small wheel from a common garden wheelbarrow." msgstr "" -#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +#: lang/json/WHEEL_from_json.py +#: lang/json/vehicle_part_from_json.py msgid "bicycle wheel" msgstr "" @@ -55319,6 +55396,11 @@ msgstr "" msgid "A bicycle wheel." msgstr "" +#. ~ Description for bicycle wheel +#: lang/json/WHEEL_from_json.py +msgid "A wide, studded, bicycle wheel intended for off-road biking." +msgstr "" + #: lang/json/WHEEL_from_json.py msgid "set of casters" msgid_plural "sets of casters" @@ -55339,7 +55421,8 @@ msgstr "" msgid "A simple metal wheel." msgstr "" -#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +#: lang/json/WHEEL_from_json.py +#: lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "" @@ -55348,6 +55431,11 @@ msgstr "" msgid "A motorbike wheel." msgstr "" +#. ~ Description for motorbike wheel +#: lang/json/WHEEL_from_json.py +msgid "A motorbike wheel, studded for improved off-road performance." +msgstr "" + #: lang/json/WHEEL_from_json.py msgid "large steel drum" msgstr "" @@ -55392,6 +55480,17 @@ msgstr "" msgid "A wide wheel. \\o/ This wide." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "off-road wide wheel" +msgstr "" + +#. ~ Description for off-road wide wheel +#: lang/json/WHEEL_from_json.py +msgid "" +"A wide wheel. \\o/ This wide. It's studded to provide better grip off-road " +"at the cost of some performance on pavement." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "wooden cart wheel" msgstr "" @@ -55575,6 +55674,10 @@ msgstr "" msgid "Stop field dressing?" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "Stop skinning?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop quartering?" msgstr "" @@ -55787,6 +55890,10 @@ msgstr "" msgid "Stop unloading?" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "Stop programming override?" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr "" @@ -55858,6 +55965,10 @@ msgstr "" msgid ".45" msgstr "" +#: lang/json/ammunition_type_from_json.py +msgid ".460" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid ".454" msgstr "" @@ -60563,25 +60674,25 @@ msgid "You've been struck by lightning, and feel... different." msgstr "" #: lang/json/effects_from_json.py -msgid "Story Denied" +msgid "Religious Offence" msgstr "" -#. ~ Description of effect 'Story Denied'. +#. ~ Description of effect 'Religious Offence'. #: lang/json/effects_from_json.py msgid "" -"AI tag: you already asked an NPC for a detail and they don't want to tell " -"you again. This is a bug if you have it." +"AI tag used when you offended an NPC with a specific conversation option. " +"This is a bug if you have it." msgstr "" #: lang/json/effects_from_json.py -msgid "Religious Offence" +msgid "I got whisky" msgstr "" -#. ~ Description of effect 'Religious Offence'. +#. ~ Description of effect 'I got whisky'. #: lang/json/effects_from_json.py msgid "" -"AI tag used when you offended an NPC with a specific conversation option. " -"This is a bug if you have it." +"AI tag: This merc is happy with the whisky you brought. This is a bug if " +"you have it." msgstr "" #: lang/json/effects_from_json.py @@ -63585,12 +63696,11 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"Developed by Leadworks as a companion sidearm to the L523 modular system, " -"this massive autorevolver fires the powerful .223 round, but suffers high " -"recoil as a result. It has a weighted barrel to make recoil more manageable " -"and a 5-chamber cylinder. Holographics and laser sights built in for " -"additional accuracy. Similar to other Leadworks products it doesn't accept " -"third-party modifications." +"The logical extension of Leadworks' autorevolver series, this massive " +"'sidearm' fires 5.56 NATO to share ammo with a soldier's rifle. The muzzle " +"flash and report of this 5-shot revolver are incredible, producing " +"ballistics similar to .357 Magnum. Similar to other Leadworks products it " +"doesn't accept third-party modifications." msgstr "" #: lang/json/gun_from_json.py @@ -63610,13 +63720,15 @@ msgid "" msgstr "" #: lang/json/gun_from_json.py -#: src/item_factory.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "semi-auto" msgstr "" #: lang/json/gun_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py #: lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: lang/json/gunmod_from_json.py src/item_factory.cpp +#: src/turret.cpp msgid "auto" msgstr "" @@ -64449,70 +64561,6 @@ msgid "" "caliber." msgstr "" -#: lang/json/gun_from_json.py -msgid "L2031 Enforcer" -msgid_plural "L2031 Enforcer" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"An \"autorevolver\", this Leadworks LLC six-shooter combines the ease-of-" -"action of a semi-auto with the ease-of-reloading and style of a revolver. " -"It achieved overnight stardom when it appeared in \"Treasure Trail\", a " -"popular space-Western series. Comes with built in holographic and laser " -"sights. Similar to other Leadworks products it doesn't accept third-party " -"modifications." -msgstr "" - -#: lang/json/gun_from_json.py -msgid "L1820 Long Ranger" -msgid_plural "L1820 Long Ranger" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"Numbered to bridge the gap between the USian Frontier and modern Civil " -"Defense needs, the Leadworks Long Ranger was designed to give Enforcer users " -"(or anyone using .45 caliber cartridges) a little extra reach while using " -"the same ammunition. Synthetic furniture cost it some charm points from the " -"legendary Winchester rifles it was based upon, but users agree that the " -"forty-five's punch with the reach of a rifle is worth it. Comes with built " -"in holographic and laser sights. Similar to other Leadworks products it " -"doesn't accept third-party modifications." -msgstr "" - -#: lang/json/gun_from_json.py -msgid "L39B-45" -msgid_plural "L39B-45s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"After the success of the 9x19mm model, Leadworks LLC released an L39B " -"chambered in .45. It soon earned a reputation as one of the most " -"intimidating guns on the market, for firer and target alike. Come with " -"built in red dot and laser sights. Similar to other Leadworks products it " -"doesn't accept third-party modifications." -msgstr "" - -#: lang/json/gun_from_json.py -msgid "L39-45" -msgid_plural "L39-45s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"Capitalizing on the L39B-45's reputation as one of the most intimidating " -"pistols on the market, Leadworks LLC manufactured a semiautomatic model as " -"well. Locking it semi-auto reduced cost and improved performance. Comes " -"with built in red dot and laser sights. Similar to other Leadworks products " -"it doesn't accept third-party modifications." -msgstr "" - #: lang/json/gun_from_json.py msgid "M1911" msgid_plural "M1911s" @@ -64609,6 +64657,72 @@ msgid "" "pistol with a very high capacity, best used against armored opponents." msgstr "" +#: lang/json/gun_from_json.py +msgid "L39-460" +msgid_plural "L39-460s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Developed as a testament to the L39 family of pistols' strength, this hefty " +"pistol chambers powerful .460 Rowland. In addition to the heavy slide and " +"L39 standard sighting package, this pistol sports a large compensator. " +"Notably, normal .45ACP can also be fired through the weapon. Similar to " +"other Leadworks products it doesn't accept third-party modifications." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "L39B-45" +msgid_plural "L39B-45s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"After the success of their 9x19mm machine pistol, Leadworks LLC developed " +"the L39B-460 from their .460 Rowland semi-autos, intending them to be used " +"with .45ACP. Because it shares most of its parts with the L39-460, this " +"variant retains the ability to fire fearsome .460 Rowland, though users are " +"strongly advised not to do so during automatic fire. Comes with built in " +"red dot, recoil compensator and laser sights. Similar to other Leadworks " +"products it doesn't accept third-party modifications." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "L2031 Enforcer" +msgid_plural "L2031 Enforcer" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"An \"autorevolver\", this Leadworks LLC six-shooter combines the ease-of-" +"action of a semi-auto with the ease-of-reloading and style of a revolver. " +"In addition to ubiquitous .45 ACP, the Enforcer also fires powerful .460 " +"Rowland, offering .44 Magnum performance in a smaller package. It achieved " +"overnight stardom when it appeared in \"Treasure Trail\", a popular space-" +"Western series. Comes with built in holographic and laser sights. Similar " +"to other Leadworks products it doesn't accept third-party modifications." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "L1820 Long Ranger" +msgid_plural "L1820 Long Ranger" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"The Leadworks Long Ranger was designed to give Enforcer users (or anyone " +"using .460/.45 caliber cartridges) a little extra reach while using the same " +"ammunition. Loaded with powerful .460 Rowland ammunition, this rifle offers " +"a competitive replacement to the AR-15 in politically restrictive climates, " +"but was met with disgust from lever action purists because of its synthetic " +"furniture and built in holographic and laser sights. Similar to other " +"Leadworks products it doesn't accept third-party modifications." +msgstr "" + #: lang/json/gun_from_json.py msgid "Barrett M107A1" msgid_plural "Barrett M107A1" @@ -65085,6 +65199,24 @@ msgid "" "Its high degree of accuracy and low recoil are universally praised." msgstr "" +#: lang/json/gun_from_json.py +msgid "H&K MP5SD" +msgid_plural "H&K MP5SDs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Despite its integrated silencer element, it has the same length and shape as " +"an unsilenced submachine gun. Unlike most conventional silenced submachine " +"guns, it fires standard ammunition types with the same effect. The use of " +"special subsonic ammunition is not necessary. The integrated silencer " +"element suppresses the muzzle flash extremely effectively, as a result of " +"which the weapon is also excellent for night operations using low-light " +"amplifiers. No wonder the MP5SD is one of the most accurate silenced " +"submachine guns of its type." +msgstr "" + #: lang/json/gun_from_json.py msgid "Kel-Tec SUB-2000" msgid_plural "Kel-Tec SUB-2000" @@ -68033,6 +68165,16 @@ msgid "" "generally safe levels." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "mp5sd integral suppressor" +msgid_plural "mp5sd integral suppressors" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "The integrated suppressor for the mp5sd." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "compact suppressor" msgid_plural "compact suppressors" @@ -70737,6 +70879,12 @@ msgstr "" msgid "Prevents repairing of this item even if otherwise suitable tools exist." msgstr "" +#: lang/json/json_flag_from_json.py +msgid "" +"forces calories and vitamins to be the ones defined in the json, instead of " +"inheriting from ingredients" +msgstr "" + #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -77335,6 +77483,97 @@ msgid "" "labs. I wonder what was really going on down there." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Bring Jenny a motor for her compressor." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"Yeah, if you want to risk your neck out there and bring me what I need, I'm " +"not gonna say no. I can't, like, pay you or anything though, you know that " +"right?" +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"Before I get anything going, I'm going to need to set up a compressor. I " +"have a lot of the stuff for that, but I need a large tank for air, and a " +"good sized electric motor - about 10 kg or so. I'm also going to need a 60 " +"liter tank, after that." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "Great! Bring it to me when you find one." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "Oh well. Thanks for offering anyway." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"A lot of electric cars and bikes use these kind of motors. So do some " +"bigger robots." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "Any sign of a motor I can use?" +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "That's exactly what I need! Want to talk about that tank now?" +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "Huh. This isn't going to work like I thought." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "No worries. Let me know if you want to try again." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "Bring Jenny a tank for her compressor." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"Now that I've got that motor, I can get my compressor mostly built. I will " +"need a tank though." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"I can get started building the compressor, but I need a large metal tank to " +"store compressed air centrally. About 60 liters should do..." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"It needs to be a good strong tank, like a big propane tank or something... " +"you could look at fuel storage tanks and things, as long as they're durable " +"enough. Heck, if you get some sheet metal you could probably even weld a " +"good one together." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "Any sign of a tank I can use?" +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"Hey, this is perfect, \"tanks\" a bunch. Okay, I'm sorry for that. Anyway, " +"now that I've got the parts, I might be able to build a proof of concept. " +"First I gotta get this thing up and running, and argue with the bean " +"counters about letting me draw power to run it." +msgstr "" + +#: lang/json/mission_def_from_json.py +msgid "" +"Huh. This isn't going to work like I thought. Back to the drawing board I " +"guess." +msgstr "" + #: lang/json/monster_attack_from_json.py src/monattack.cpp #, c-format, no-python-format msgid "The %1$s impales your torso!" @@ -78405,8 +78644,8 @@ msgstr "" #. ~ Description for Fast Healer #: lang/json/mutation_from_json.py msgid "" -"You heal faster when sleeping and will even recover small amount of HP when " -"not sleeping." +"You heal faster when sleeping and will even recover a small amount of HP " +"when not sleeping." msgstr "" #: lang/json/mutation_from_json.py @@ -78589,7 +78828,7 @@ msgstr "" #. ~ Description for Good Memory #: lang/json/mutation_from_json.py msgid "" -"You have a an exceptional memory, and find it easy to remember things. Your " +"You have an exceptional memory, and find it easy to remember things. Your " "skills will erode slightly slower than usual, and you can remember more " "terrain." msgstr "" @@ -78932,7 +79171,7 @@ msgstr "" #. ~ Description for Pretty #: lang/json/mutation_from_json.py msgid "" -"You are a sight to behold. NPCs who care about such thing will react more " +"You are a sight to behold. NPCs who care about such things will react more " "kindly to you." msgstr "" @@ -78967,9 +79206,8 @@ msgstr "" #. ~ Description for Near-Sighted #: lang/json/mutation_from_json.py msgid "" -"Without your glasses, your seeing radius is severely reduced! However, " -"while wearing glasses this trait has no effect, and you are guaranteed to " -"start with a pair." +"Without glasses, your seeing radius is severely reduced! However, you are " +"guaranteed to start with a pair of glasses." msgstr "" #: lang/json/mutation_from_json.py @@ -78978,7 +79216,7 @@ msgstr "" #. ~ Description for Slow Healer #: lang/json/mutation_from_json.py -msgid "You heal a little slower than most; sleeping will heal less lost HP." +msgid "You heal a little slower than most; sleeping will heal less HP." msgstr "" #: lang/json/mutation_from_json.py @@ -78989,7 +79227,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your health recovery through sleeping is severely impaired and causes you to " -"recover only a third of usual HP over time." +"recover only a third of usual HP." msgstr "" #: lang/json/mutation_from_json.py @@ -79000,7 +79238,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You recover barely any health through sleeping - it will heal only one tenth " -"of usual HP over time." +"of usual HP." msgstr "" #: lang/json/mutation_from_json.py @@ -79052,7 +79290,7 @@ msgstr "" #: lang/json/mutation_from_json.py #, no-python-format msgid "" -"You simply can not carry as much as people with a similar strength could. " +"You simply cannot carry as much as people with a similar strength could. " "Your maximum weight carried is reduced by 35%." msgstr "" @@ -79175,7 +79413,7 @@ msgstr "" #. ~ Description for Lactose Intolerance #: lang/json/mutation_from_json.py msgid "" -"You, like 75 percent of the world, cannot tolerate milk or milk based " +"You, like 75 percent of the world, cannot tolerate milk or milk-based " "products. It's possible for you to eat them, but you will suffer morale " "penalties due to nausea." msgstr "" @@ -79375,7 +79613,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "During moments of great stress or under the effects of stimulants, you may " -"find your hands shaking uncontrollably, severely reducing your dexterity." +"find your hands shaking uncontrollably, severely reducing your Dexterity." msgstr "" #. ~ Description for Hoarder @@ -79446,7 +79684,7 @@ msgstr "" #. ~ Description for Wool Allergy #: lang/json/mutation_from_json.py msgid "" -"You are badly allergic to wool, and can not wear any clothing made of the " +"You are badly allergic to wool, and cannot wear any clothing made of the " "substance." msgstr "" @@ -79480,7 +79718,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You lack skin pigmentation due to a genetic problem. You sunburn extremely " -"easily, and typically use an umbrella and a sunglasses when going out in the " +"easily, and typically use an umbrella and sunglasses when going out in the " "sun." msgstr "" @@ -79569,7 +79807,7 @@ msgstr "" #. ~ Description for Cephalopod Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes still bulge, yet your pupils look Different somehow. Water " +"Your eyes still bulge, yet your pupils look different somehow. Water " "doesn't seem to cause any trouble at all, though." msgstr "" @@ -79982,8 +80220,8 @@ msgstr "" #. ~ Description for Lynx Fur #: lang/json/mutation_from_json.py msgid "" -"Your fur's grown out significantly around your cheeks and neck. It provides " -"minor protection against attacks." +"Your fur has grown out significantly around your cheeks and neck. It " +"provides minor protection against attacks." msgstr "" #: lang/json/mutation_from_json.py @@ -80005,7 +80243,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You've grown a chitin exoskeleton, much like that of an insect. It provides " -"considerable physical protection, but reduces your dexterity by 1. Somewhat " +"considerable physical protection, but reduces your Dexterity by 1. Somewhat " "reduces wet effects." msgstr "" @@ -80017,7 +80255,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You've grown a chitin exoskeleton made of thick, stiff plates. It provides " -"excellent physical protection, but reduces your dexterity by 1 and encumbers " +"excellent physical protection, but reduces your Dexterity by 1 and encumbers " "all body parts but your eyes and mouth. Greatly reduces wet effects." msgstr "" @@ -80278,7 +80516,7 @@ msgstr "" msgid "" "Your index fingers have grown into huge talons. After a bit of practice, " "you find that this does not affect your dexterity, but allows for a deadly " -"unarmed attack. They also prevent you from wearing gloves." +"unarmed attack. They also prevent wearing gloves." msgstr "" #: lang/json/mutation_from_json.py @@ -80365,7 +80603,7 @@ msgstr "" #. ~ Description for Mammal Pheromones #: lang/json/mutation_from_json.py msgid "" -"Your body produces low-level pheromones which puts mammals at ease. They " +"Your body produces low-level pheromones which put mammals at ease. They " "will be less likely to attack or flee from you." msgstr "" @@ -80499,7 +80737,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your eyes are compound, like those of an insect. This increases your " -"perception by 2 so long as you aren't wearing eyewear." +"Perception by 2 so long as you aren't wearing eyewear." msgstr "" #: lang/json/mutation_from_json.py @@ -80524,7 +80762,7 @@ msgstr "" msgid "" "You have grown large, curved, and wickedly sharp talons in place of your big " "toes. Fortunately, they don't get in the way of your movement. " -"Unfortunately, they do prevent you from wearing footgear." +"Unfortunately, they do prevent wearing footgear." msgstr "" #: lang/json/mutation_from_json.py @@ -80546,7 +80784,7 @@ msgstr "" msgid "" "Your feet have fused into hooves. This allows kicking attacks to do much " "more damage, provides natural armor, and removes the need to wear shoes; " -"however, you can not wear shoes of any kind. Reduces wet effects." +"however, you cannot wear shoes of any kind. Reduces wet effects." msgstr "" #: lang/json/mutation_from_json.py @@ -80755,8 +80993,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a pair of large curled horns, like those of a ram. They allow you " -"to make a strong bashing headbutt attack, but prevent you from wearing any " -"headwear." +"to make a strong bashing headbutt attack, but prevent wearing any headwear." msgstr "" #: lang/json/mutation_from_json.py @@ -80777,8 +81014,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a pair of long, pointed horns, like those of an antelope. They " -"allow you to make a strong piercing headbutt attack, but prevent you from " -"wearing any headwear the is not made of fabric." +"allow you to make a strong piercing headbutt attack, but prevent wearing " +"headwear that is not made of fabric." msgstr "" #: lang/json/mutation_from_json.py @@ -80798,9 +81035,9 @@ msgstr "" #. ~ Description for Antlers #: lang/json/mutation_from_json.py msgid "" -"You have a huge rack of antlers, like those of a moose. They prevent you " -"from hearing headwear that is not made of fabric, but provide a weak " -"headbutt attack." +"You have a huge rack of antlers, like those of a moose. They allow you to " +"make a weak headbutt attack, but prevent wearing headwear that is not made " +"of fabric." msgstr "" #: lang/json/mutation_from_json.py @@ -80822,7 +81059,7 @@ msgstr "" msgid "" "You have a pair of antennae. They allow you to detect the presence of " "monsters up to a few tiles away, even if you can't see or hear them, but " -"prevent you from wearing headwear that is not made of fabric." +"prevent wearing headwear that is not made of fabric." msgstr "" #: lang/json/mutation_from_json.py @@ -81128,8 +81365,8 @@ msgstr "" msgid "" "You've had a revelation: by killing the weaker creatures, who would only die " "anyway, you preserve resources for those better able to survive. You are " -"less bothered by death of others: their own weakness invited these fates " -"upon them." +"less bothered by the deaths of others: their own weakness invited these " +"fates upon them." msgstr "" #: lang/json/mutation_from_json.py lang/json/npc_class_from_json.py @@ -81140,8 +81377,8 @@ msgstr "" #. ~ Description for Hunter #: lang/json/mutation_from_json.py msgid "" -"Your brain has a lot more in common with predatory animal than a human, " -"making it easier to control misplaced reactions to death of your prey. " +"Your brain has a lot more in common with a predatory animal than a human, " +"making it easier to control misplaced reactions to the death of your prey. " "Additionally, combat skills, which you use to hunt, are easier to learn and " "maintain." msgstr "" @@ -81166,8 +81403,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your mind and brain have adapted to your new place in the world: as one on " -"top the food chain. You can effortlessly master and maintain combat skills, " -"but your critical thinking has atrophied further." +"top of the food chain. You can effortlessly master and maintain combat " +"skills, but your critical thinking has atrophied further." msgstr "" #: lang/json/mutation_from_json.py @@ -81176,7 +81413,7 @@ msgstr "" #. ~ Description for Sapiovore #: lang/json/mutation_from_json.py -msgid "The hairless apes are as good eating as any other meat." +msgid "The hairless apes make as good eating as any other meat." msgstr "" #: lang/json/mutation_from_json.py @@ -81235,8 +81472,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "A set of insect-like mandibles have grown around your mouth. They allow you " -"to eat faster and provide a slicing unarmed attack, but prevent you from " -"wearing mouthwear. Slightly reduces wet effects." +"to eat faster and provide a slicing unarmed attack, but prevent wearing " +"mouthwear. Slightly reduces wet effects." msgstr "" #: lang/json/mutation_from_json.py @@ -81587,7 +81824,7 @@ msgstr "" #. ~ Description for Insanely Smart #: lang/json/mutation_from_json.py msgid "" -"Your skull bulges noticeably with your impressive brain. Intelligence + 7" +"Your skull bulges noticeably due to your impressive brain. Intelligence + 7" msgstr "" #: lang/json/mutation_from_json.py @@ -81916,7 +82153,7 @@ msgstr "" #. ~ Description for Glorious #: lang/json/mutation_from_json.py msgid "" -"You are incredibly beautiful. People cannot help themselves for your " +"You are incredibly beautiful. People cannot help themselves due to your " "charms, and will do whatever they can to please you." msgstr "" @@ -81939,7 +82176,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your face resembles that of a bull, with a significant snout. It looks " -"fearsome but prevents you from wearing mouthgear." +"fearsome but prevents wearing mouthgear." msgstr "" #: lang/json/mutation_from_json.py @@ -81950,8 +82187,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your jaw and nose have extended into a wolfish muzzle. It lends itself to " -"biting in combat and looks impressive, but prevents you from wearing " -"mouthgear." +"biting in combat and looks impressive, but prevents wearing mouthgear." msgstr "" #: lang/json/mutation_from_json.py @@ -81972,7 +82208,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your jaw and nose have extended into a bearish muzzle. You could bite with " -"it, and it looks impressive, but it prevents you from wearing mouthgear." +"it, and it looks impressive, but it prevents wearing mouthgear." msgstr "" #: lang/json/mutation_from_json.py @@ -82004,8 +82240,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your face and jaws are a shorter version of those found on alligators. They " -"look NASTY-as do the bite wounds they can inflict-but prevent you from " -"wearing mouthgear." +"look NASTY--as do the bite wounds they can inflict--but prevent wearing " +"mouthgear." msgstr "" #: lang/json/mutation_from_json.py @@ -82165,7 +82401,7 @@ msgstr "" #. ~ Description for Very Sleepy #: lang/json/mutation_from_json.py msgid "" -"You find yourself needing to sleep quite often. You'll spend about half " +"You find yourself needing to sleep quite often. You'll spend about half of " "your time in or around bed." msgstr "" @@ -82254,7 +82490,7 @@ msgstr "" #. ~ Description for Webbed Hands #: lang/json/mutation_from_json.py msgid "" -"Your hands and feet are heavily webbed, reducing your dexterity by 1 and " +"Your hands and feet are heavily webbed, reducing your Dexterity by 1 and " "causing problems with gloves. However, you can swim much faster. Slightly " "decreases wet penalties." msgstr "" @@ -82278,7 +82514,7 @@ msgstr "" #. ~ Description for Broad Paws #: lang/json/mutation_from_json.py msgid "" -"Your paws are much larger now. Manual dexterity is is difficult: permanent " +"Your paws are much larger now. Manual dexterity is difficult: permanent " "hand encumbrance of 20, serious problems crafting, and no gloves. But you " "can swim more effectively." msgstr "" @@ -82566,8 +82802,8 @@ msgstr "" #. ~ Description for Roots #: lang/json/mutation_from_json.py msgid "" -"It's about time you started developing a root system. When reading, fishing " -"from, waiting, or otherwise being stationary for a while on diggable " +"It's about time you started developing a root system. When reading, " +"fishing, waiting, or otherwise being stationary for a while on diggable " "terrain, you'll extract nutrients and water from the soil." msgstr "" @@ -82769,7 +83005,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your arms have transformed into tentacles, resulting in a bonus of 1 to " -"dexterity, permanent hand encumbrance of 30, and inability to wear gloves. " +"Dexterity, permanent hand encumbrance of 30, and inability to wear gloves. " "Somewhat decreases wet penalties." msgstr "" @@ -82801,7 +83037,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your arms have transformed into four tentacles, resulting in a bonus of 1 to " -"dexterity, permanent hand encumbrance of 30, and inability to wear gloves. " +"Dexterity, permanent hand encumbrance of 30, and inability to wear gloves. " "You can make up to 3 extra attacks with them. Somewhat decreases wet " "penalties." msgstr "" @@ -82814,7 +83050,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your arms have transformed into eight tentacles, resulting in a bonus of 1 " -"to dexterity, permanent hand encumbrance of 30, and inability to wear " +"to Dexterity, permanent hand encumbrance of 30, and inability to wear " "gloves. You can make up to 7 extra attacks with them. Somewhat decreases " "wet penalties." msgstr "" @@ -82877,7 +83113,7 @@ msgstr "" #. ~ Description for Bird #: lang/json/mutation_from_json.py msgid "" -"You're sure you'll fly someday. In the meantime, there's still nests to " +"You're sure you'll fly someday. In the meantime, there are still nests to " "build." msgstr "" @@ -83270,7 +83506,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You were just through with the administrative formalities for your residency " -"when the cataclysm struck. \"Your\" hospital was overrun and evacuated, but " +"when the Cataclysm struck. \"Your\" hospital was overrun and evacuated, but " "there's always work for a good doctor." msgstr "" @@ -83281,7 +83517,7 @@ msgstr "" #. ~ Description for Skater #: lang/json/mutation_from_json.py msgid "" -"You spent a lot of time actively maneuvering on skates before the cataclysm, " +"You spent a lot of time actively maneuvering on skates before the Cataclysm, " "and are better at staying on your feet when checked or blocked." msgstr "" @@ -83293,7 +83529,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You were shaping up to be a pretty decent student of the martial arts before " -"the Cataclysm struck. Time to see just how good you really were." +"the Cataclysm struck. Time to see just how good you really are." msgstr "" #: lang/json/mutation_from_json.py @@ -83568,11 +83804,24 @@ msgid "" "it." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Survivor Story" +msgstr "" + +#. ~ Description for Survivor Story +#. ~ Description for Survivor +#. ~ Description for Survivor Story #. ~ Description for Survivor +#. ~ Description for Survivor Story #: lang/json/mutation_from_json.py msgid "This NPC could tell you about how they survived the cataclysm" msgstr "" +#. ~ Description for Survivor Story +#: lang/json/mutation_from_json.py +msgid "cop3" +msgstr "" + #: lang/json/mutation_from_json.py msgid "Agriculture Training" msgstr "" @@ -84141,20 +84390,29 @@ msgstr "" msgid "Beggar" msgstr "" -#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py -#: lang/json/npc_from_json.py -msgid "Captive" +#: lang/json/npc_class_from_json.py +msgid "Mercenary" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I got captured by those jerks." +msgid "Fighting for the all-mighty dollar." msgstr "" #: lang/json/npc_class_from_json.py +#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Refugee" msgstr "" +#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py +#: lang/json/npc_from_json.py +msgid "Captive" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I got captured by those jerks." +msgstr "" + #: lang/json/npc_class_from_json.py msgid "I got locked up those yahoos." msgstr "" @@ -84485,6 +84743,14 @@ msgstr "" msgid "Yusuke Taylor" msgstr "" +#: lang/json/npc_from_json.py +msgid "refugee" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Jenny Forcette" +msgstr "" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "" @@ -99437,6 +99703,34 @@ msgstr "" msgid "" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Can I get out and walk? This vehicle is too small." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "How about we make the next vehicle a convertible?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "This vehicle is too small." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I'm not a cortionist!" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I can't fit in your tiny human vehicle." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "This sucks. I'm too big." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I don't like being a mutant crammed into your tiny little vehicle." +msgstr "" + #: lang/json/snippet_from_json.py msgid " Fire in the hole!" msgstr "" @@ -104446,6 +104740,36 @@ msgstr "" msgid "Interesting..." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Mind if we just chat for a bit?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Are you sure? This doesn't seem like a particularly safe place for small " +"talk..." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "It's fine, we've got a moment." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Good point, let's find a more appropriate place." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You're right. Forget I said anything, let's get moving." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you want to talk about?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Actually, never mind." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm not in charge here, you're looking for someone else..." msgstr "" @@ -105768,6 +106092,10 @@ msgstr "" msgid "This is a complex nested test response." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "This is a conditional trial response." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "This is a u_add_effect - infection response" msgstr "" @@ -105824,6 +106152,14 @@ msgstr "" msgid "" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "How did you come to be a merc working for the Free Merchants, anyway?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "So, you got your whisky. Tell me that story." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Before this started, I had a crappy job flipping burgers at Sambal's " @@ -106064,6 +106400,51 @@ msgid "" "some more. And here I am." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Before , I was a cop. I got shot just a couple days before " +"everything went down... I made a bad call in a drug bust and a scumbag got " +"me right in the gut, it was barely stopped by my vest. I took some pretty " +"bad internal bruising. I never thought getting shot would save my life, but " +"I was off duty recuperating when the worst of it hit." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do when you found out about the cataclysm?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"At first I wanted to help. The riots, fighting in the streets, it was too " +"much for me to just sit in my house and hear about it on the news. Then a " +"buddy of mine called me from just off the front lines. He'd been hurt and " +"he wasn't making much sense, but what he told me... well, you can imagine " +"the kind of stuff he told me. Everything the worst of the internet was " +"making up, and more. Instead of packing up to try to volunteer back onto " +"active duty, I took his advice and packed up to leave. My house was on the " +"edge of town and the riots hadn't reached it yet, but from what I'd heard it " +"was smarter to get out than to hold tight. I slipped out that night, took " +"my quad out, and camped a few days in the woods, waiting for it to blow " +"over. It never did." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What was it like, surviving out there with an injury?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Honestly, probably better than it sounds. I had a good bug-out bag, a nice " +"tent, a lot of good stuff. I hadn't suffered any internal organ damage, my " +"stomach muscles were just really badly bruised, and I'd already had some " +"good time to recover. I think it kept me from doing anything too stupid, " +"and believe me there was a high chance of that. For a long time I had these " +"Rambo visions of rushing into town and saving everyone, but I was still too " +"immobile. By the time I had my strength back, it wasn't an option... we " +"were well into the rushing into town for supplies phase. The closest I got " +"to saving any old friends was putting down the monsters wearing their faces." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I was just sittin' in lockup. They took me in the night before, for a " @@ -106089,6 +106470,40 @@ msgid "" "and they kept trying to arrest me." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "How did you keep from getting arrested?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What were you in for in the first place?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Kept outta their line of sight, is a big part of it. Don't let those " +" flyin' cameras get you, you know? If they do, they call for backup " +"from the big guns, and then, well, I hope you like gettin' tazed and shoved " +"in the back of a van. I kept my head down until I got past the worst of it, " +"but then one of the eyebots recognized me and I had to book it. I " +"was just lucky the bots it called had blown their wad on some giant-ass " +"slime beast and were tryin' to get me with their short range shit. I wound " +"up on the edge of town layin' low under an abandoned RV for a few hours, " +"then slipped out in the night." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Bullshit, that's what. The assholes busted me on possession, wasn't even my " +"fuckin' stash. I don't do crack, man, that shit's nasty, I was just " +"carryin' it for my buddy Johnny. Y'know, this might be a hellhole " +"now, but if I've seen the last power-trippin' asshole cop, it might all be " +"worth it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What were you saying before?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I was lucky for . I was squatting in a warehouse out " @@ -106254,6 +106669,38 @@ msgid "" "monsters. I guess I was getting desperate." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "And that's it? You spent months just living off the land?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Not exactly. After a while, I got brave. I started venturing towards the " +"outskirts of town, picking off zombies here and there. I learned about " +"travelling in at night to avoid all but those shadow-zombies, and " +"that got me pretty far. Eventually I cleared out a cozy little nook for " +"myself and started really feeling comfortable. I guess I got a bit " +"complacent." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Complacent?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I thought I had those damned figured out. I got braver, started " +"heading out by day more and more. One of those screamer zombies spotted me " +"and called in a horde, with a giant beasty at the head of it, the " +"size of a volkswagen and all covered in bone plates. I know when I'm " +"outclassed. The big guy was held back by his own horde of buddies, and I " +"managed to book it back to my place. I closed the windows, locked it down, " +"but it was too late. The giant followed me and just started hammering right " +"through the walls. I grabbed what I could and made for the horizon. Last I " +"saw of my squat, it was collapsing on the bastard. For all I know, it died " +"in the crash, but I am not going back to find out." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Same as most people who didn't get killed straight up during the riots. I " @@ -106295,6 +106742,54 @@ msgid "" "to make it out. I never looked back." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "How did you survive after that?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Sheer luck I guess. I went the absolute wrong way, into town, and wound up " +"stuck in the subway system. I spent a few days living off vending machine " +"food. Not the best eating, but I pulled through. At least there weren't so " +"many zombies down there." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What got you out of the subway?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Straight up hunger. I didn't have any great light source down there, and I " +"didn't have much food. I was slipping up and down to the station to buy " +"from the vending machines, but once I ran out of cash I had to make a break " +"for it. I waited until dark and then skipped out." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Straight up hunger. I didn't have any great light source down there, and I " +"didn't have much food. I was slipping up and down to the station to buy " +"from the vending machines, but once I ran out of cash I had to think of " +"something else. I started raiding the surrounding area by night, and built " +"a decent little base under there." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I didn't meet you in the subway though. You left." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Yeah. I had it pretty good there, but eventually I just started going a bit " +"nuts. Always dark, a bit cold, living off scavenged junk food... a soul can " +"only live like that for so long. When the weather above ground got warmer " +"and the daylight hours got longer I decided to get a bit braver. I'd " +"learned enough about the that I was able to live pretty well after " +"that. I've camped a few places, scavenged berries and whatnot, lived a " +"pretty good life compared to those first few months." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "They were shipping me with a bunch of evacuees over to a refugee center, " @@ -106412,7 +106907,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's a story for another day. I don't really like thinking about it." +msgid "Maybe another time. I don't really like thinking about it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -106430,14 +106925,59 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I'm not from around here... You can probably tell from the accent, I'm from " -"the UK. I was a PhD candidate at Dartmouth. I was halfway to MIT for a " -"conference when stopped me. I was staying at a flee-ridden " +"the UK. I was here doing my PhD at Dartmouth. I was halfway to MIT for a " +"conference when stopped me. I was staying at a flea-ridden " "little motel on the side of the road. When I got up for whatever was going " "to pass for breakfast, the fat bloody proprietor was sitting at his desk, " "wearing the same grubby clothes from the night before. I thought he had " "just slept there, but when he looked at me... well, you know what those Zed-" "eyes look like. He lunged, and I reacted without thinking. Smacked him on " -"the head with my tablet." +"the head with my tablet, again and again, until he stopped coming for me. I " +"never thought I had anything like that in me." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do next?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What were you studying?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I wandered for a little while around the grounds, letting the adrenaline " +"fade, hoping for some kind of idea what to do. I was out in the middle of " +"nowhere, and I didn't know the area at all. I wasn't certain if I should " +"head back to Hanover, and try to get my belongings, or stay out where I " +"was. Finally, I decided to rest a while until I knew what was going on. " +"The internet told me most of what I needed; I'm sure you saw Twitter in " +"those days. Even if I'd thought it wise to go back all the way to New " +"Hampshire, I was far too scared." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Something must have driven you out of the motel." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Yes. Simple hunger. The vending machines sold only peanuts and biscuits. " +"I wasn't about to rely on that for survival. I stayed long enough to " +"realize no one was going to come for me, then packed up what I could and " +"drove off. Eventually my car was caught in a downpour of acid rain that " +"stripped the tires and left me to carry on on foot, living the life of a " +"hunter gatherer. Honestly, I think I eat better this way than I did as a " +"grad student." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was in biochemistry. Specifically, if you're interested, I was studying " +"the folding of non-standard nucleic acids into enzyme-like structures. It " +"sounds more interesting than it was; most of my time was spent cursing at " +"computer screens and wishing we had more information on threose chains at " +"unusual temperatures and pressures for modeling." msgstr "" #: lang/json/talk_topic_from_json.py @@ -106657,6 +107197,21 @@ msgid "" "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. For a while there were weird reports, stuff that sounded unbelievable " +"about patients getting back up after dying, but mostly things were business " +"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 was at work at the hospital, when it all went down. It's a bit of a " @@ -106677,10 +107232,18 @@ msgstr "" msgid "Suck it up. If we're going to work together I need to know you." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "What was it that 'broke' you?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "No. I can't. Just, no." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Sorry... I'll let you be." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "A young mother. I know she was a mother, because I delivered her baby. " @@ -107057,7 +107620,21 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Just another tale of love and loss. Not something I like to tell." +"I said, I don't wanna talk about it. How are you not understanding this?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Like I said, it's a story, but I guess it won't kill me to tell it " +"one more time." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Just another tale of love and loss. Not one I like to tell." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You said you lost someone." msgstr "" #: lang/json/talk_topic_from_json.py @@ -107294,10 +107871,6 @@ msgid "" "show." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "What were you saying before?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Who I was is gone. All that stuff burned away in . Got it? " @@ -107556,7 +108129,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "[$2000] You have a deal." +msgid "[$1000] You have a deal." msgstr "" #: lang/json/talk_topic_from_json.py @@ -107579,6 +108152,14 @@ msgstr "" msgid "Thanks! What was it you were saying before?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks! " +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Thanks! " +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice try. You want the maps, you pay up." msgstr "" @@ -107891,6 +108472,163 @@ 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 "" +"I'm not looking for a friend, but I've paid my dues and earned my way. You " +"gotta pony up too. We're stuck with each other for a bit." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Don't mouth off to me. I know where everyone else working for me comes " +"from. If I'm going to let you stand behind me with a loaded gun, you're " +"going to toe the line too." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Is this enough whisky for you?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Fine. Let's talk business, then." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Fine, have it your way." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"No dice. You asked me to come along. This is what you get. If you don't " +"like it, I'll take my fee and go back to the center. Ain't hard to find " +"contracts." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Fine, then. Let's talk about something else." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Have it your way." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I respect where you're coming from, but no. Not interested. If you don't " +"like it, I can find another boss easy enough." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +", you're just gonna keep badgering me about this forever, aintcha. " +"Fine. Bring me a bottle of single malt, we share a drink, I tell you the " +"story." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'll get looking for that. In the meantime there was something else I " +"wanted to talk about." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'll get back to you on that." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Yeah, okay. I can respect that. How about this: bring me a bottle of " +"single malt, we share a drink, I tell you the story." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Oh, yeah, this is a good choice. Hold on to it for me, let's have a drink " +"later. Right now we're practically swimming in good whisky, but some day " +"the last bottle will get drunk. It's gonna be a long time before any of us " +"is brewing nice scotch, and we ain't never gettin' peat from Islay ever " +"again. Makes me shed a tear just thinking about it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You owe me a story." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Mostly I just wanted to get some scotch out of you. There really ain't much " +"of a story. I was in the marines, years ago. After that, did security " +"contract work. I was out guarding some dump of a warehouse when the " +"apocalypse rolled through town. I was out on the edge of town, armed, and " +"know when to not pick a fight, so I didn't get killed. Wound up recruited " +"by the Free Merchants early on, and then the Old Guard for a bit, but I was " +"getting itchy feet when you came by with an offer. Here I am." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Why was a guy with your skillset guarding a warehouse? Must've been some " +"warehouse." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What was working for the Free Merchants like?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What was working for the Old Guard like?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Thanks for that." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Thanks for that. Let's get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Huh. Hadn't thought about it in ages, but now that you mention it, that was " +"a weird job. It was just a boarded up warehouse in the middle of nowhere, " +"and I was not a cheap contractor in those days. Coulda got any fat rent-a-" +"cop to watch it. I had only just started working there when the shit hit " +"the fan, and I kinda forgot about that to be honest." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Fucking dull. Caravan patrols were a bit more fun, for a while, but a guy " +"can only eat so much road dust. Guarding that pile of bricks full of sad-" +"sack pussies who can't even justify surviving ? Well, I " +"dunno. They're not a bad bunch but I'm fine not working for them now." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Why was someone with your skillset guarding a warehouse? Must've been some " +"warehouse." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Good work, and some fun stuff, but risky. Without a few hands at my side " +"that I trust, I wouldn't take more of their work. If I had a solid team, " +"though, I'd happily work for Uncle Sam again." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Before I worked in a lab. Don't look at me like that, it " @@ -108033,10 +108771,6 @@ msgid "" "the graveyard had gotten up and started harassing the party." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "What did you do next?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "You seem surprisingly calm about all this." msgstr "" @@ -108072,6 +108806,312 @@ msgstr "" msgid "What were you saying before that?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hello again." +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 meeting you. What are you doing on that computer?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Hi, Jenny. What are you up to these days?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Nice meeting you. I'd best get going, though." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry Jenny, I can't stay to chat." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Just puttering around. I'm still a bit too shell-shocked to do very much. " +"I used to be an engineer, though... I'm trying to think of some kind of " +"project to get my mind off all this." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What's it like living here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Good luck with that. I'd better get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Living here? Yeah, I guess I live here now. It's... it's weird. We're " +"crowded into this tiny space, I don't know these people, but we're sharing " +"bathrooms and we've all been through the same stuff. It's not great. At " +"night we can hear the outside, and we all just lie there awake, " +"thinking the same things but too scared to talk about it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Can you tell me anything about the other refugees here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I don't know the other folks very well yet. There's Boris, Garry, and Stan, " +"they seem to keep to each other. They've gone through something, but I " +"haven't pried. Dana and her husband lost their baby, that was a big deal " +"right when they arrived. There's that counsellor lady with the unusual " +"name, she's nice enough. Fatima just showed up a little while ago, but I've " +"been trying to get to know her better, I think we've at least got our " +"professional stuff in common a bit. I haven't really spoken much to anyone " +"else." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What was that you said about living here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I recently came into possession of this mold for making high-calibre air " +"rifle bullets. I'm kinda working on a design that would use them to protect " +"the base. Got a long way to go, though." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What are you planning?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well, these things are a standard .30 calibre. They should be compatible " +"with any similar rifle barrel. It would be pretty easy to repurpose some " +"rifle parts into large air weapons that we could use without relying on " +"gunpowder, and without so much noise. I'm still drawing up an actual design " +"though, I have a bunch of features I want. Ask me again in a couple weeks " +"and I'll give you some more info." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's been over a month now, so I guess I'm starting to get used to it. " +"Things were pretty rough after Sean died, but it wasn't our first big loss " +"and it won't be the last I guess. I've made a couple friends, and in a " +"weird way we're all like family. We were all hoping they'd let us " +"downstairs sooner than this though. We're never quite sure if there's going " +"to be enough food to go around. I'm really hoping I can lose myself in this " +"project. Still haven't had a good night's sleep since ." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What was it you said you were planning?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"About a month ago, I got a mold for making high-calibre air rifle bullets. " +"I've been designing some turrets that would use a central air system to " +"power pneumatic rifle turrets around the center. It's a lot easier than " +"trying to make gunpowder!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me more about those turrets." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sounds interesting, talk to you later." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They're pretty big. This isn't something you'd carry around with you. They " +"fire .30 cal bullets using compressed air that we'd make inside the basement " +"and then pipe up to individual storage tanks for the guns that would be good " +"for a few hundred shots each. The design should be capable of auto or semi-" +"auto fire, at a range that's pretty comparable to a gunpowder-based weapon. " +"It takes out some of the most limited parts of ranged weapons: no gunpowder, " +"no brass casings, just lead that we melt into my mold. It's not soundless, " +"but it's not as loud as a chemical weapon. There are tons of advantages. " +"Only trouble is, I can't convince the Free Merchants to give me the parts I " +"need." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Is there some way I can help you get the stuff you need?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's good and there's bad. We're all pretty sick of being cooped up in " +"here for months, never knowing if there's going to be food to eat or not. " +"It's starting to look like they're never going to let us go down to the " +"secure basement, and none of us have slept well since we were brought in. " +"We know we've got it pretty good... we're safe, we're alive. It's just, " +"like, what kind of life are we even living?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's getting bad. We've been stuck in here for months, nothing changing, " +"nothing improving. We can't go outside, we don't have enough to eat, and we " +"didn't choose to be with each other. I don't know how long we can stay like " +"this before somebody snaps." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"For better or worse, we're a community now. Fatima and I work together a " +"fair bit, and I consider Dana, Draco, and Aleesha my friends, and so of " +"course I've gotten to know Dana's husband Pedro too. The Borichenkos are " +"their own sweet brand of messed up, like all of us. The Singhs have each " +"other, and keep mostly to themselves. Vanessa and I don't see eye to eye, " +"but I'm still glad she's here. Uyen and Rhyzaea are always bickering about " +"leadership decisions, as if they made those kind of calls. What did you " +"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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Can you tell me about Fatima?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What has made you friends with Dana, Draco, and Aleesha?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Can you tell me about the Borichenkos?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Can you tell me about the Singhs?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Can you tell me about the others?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What was it you said earlier?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They run this place, and they don't run a charity. We get paid for working " +"around the place, maintaining it, what have you, and we trade cash for " +"food. The thing is, supply and demand and all... there's a lot more cash " +"than food around. It's easier to buy a laptop than a piece of beef jerky, " +"and there's no sign of that getting better. The balance is way off right " +"now, a hard day of work barely gets you enough to fill your belly. I " +"shouldn't bitch too much though. I don't know much better way to run it, " +"although rumour is that the folks living downstairs have it a lot easier " +"than we do. I try not to think too much on that." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Fatima's a sweety, but she's a total dork. I know, I know, it's backwards " +"for the engineer to call the heavy duty mechanic a nerd, but hey. I call it " +"like it is. She and I have been doing some odd jobs around the upstairs " +"here, fixing up old machinery and things." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well, Dana lost her baby right after , in a bus rollover. " +"She was lucky to make it out alive. She and Pedro had one of the rougher " +"trips here, I guess. We just kinda click as friends, I'm grateful there's " +"someone else here I can really get along with. Her husband, Pedro, is still " +"pretty shellshocked. He doesn't talk much. I like him though, when he " +"opens up he's just hilarious. Draco is just a cantankerous old fart who " +"hasn't actually got old yet, give him twenty years and he'll be there. I " +"like grumpy people. We also have pretty similar taste in music. Aleesha's " +"a sweet kid, and we've all kind of adopted her, but she seems to hang out " +"with me and Dana the most. She's a great artist, and she's full of crazy " +"ideas. I guess I like her because of all of us, she seems to have the most " +"hope that there's a future to be had." +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. " +"They kinda kept to themselves. Boris and Garry had just lost their son, you " +"know. It's pretty lucky that Stan was with them, he's Boris' little " +"brother. Together, they're a pretty good team. I feel bad for thinking " +"they were standoffish before. They probably do the most to pull their " +"weight around here whenever there's work to be done." +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 "" +"The Singhs are really shy, and I think they feel pretty bad about making it " +"through this together. They're the only complete family I've seen since " +". That has to feel really weird, and I think it's made them " +"stick really close together. I think... I think they also just don't really " +"like any of us." +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." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Vanessa... I'm doing my best, I really am, but we just do not get along. " +"One of these days one of us is probably going to brain the other with a tire " +"iron, and I'm just grateful I spend more time around the tire irons. Uyen " +"and Rhyzaea are both excellent people, and I genuinely like them, but I " +"can't stand this ongoing political bullshit they've got going on. Alonso is " +"just a... he's... there's no polite word for what he is. A lot of the " +"others are fine with it, and okay, sure, I guess. John is a walking " +"stereotype, but he's a great poker buddy. I admit I kinda like him." +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 "" + #: lang/json/talk_topic_from_json.py msgid "Heya, scav." msgstr "" @@ -113146,6 +114186,10 @@ msgstr "" msgid "Bicycle" msgstr "" +#: lang/json/vehicle_from_json.py +msgid "Dirt bike" +msgstr "" + #: lang/json/vehicle_from_json.py msgid "Electric Bicycle" msgstr "" @@ -113984,6 +115028,13 @@ msgid "" "exposed to the sun. Clouds will slow the recharge speed even more." msgstr "" +#. ~ Description for wind turbine +#: lang/json/vehicle_part_from_json.py +msgid "" +"A small wind turbine. Will slowly recharge the vehicle's electrical power " +"when exposed to the wind." +msgstr "" + #. ~ Description for reinforced solar panel #: lang/json/vehicle_part_from_json.py msgid "" @@ -115093,6 +116144,14 @@ msgstr "" msgid "wheel (steerable)" msgstr "" +#: lang/json/vehicle_part_from_json.py +msgid "racing slick" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "racing slick (steerable)" +msgstr "" + #. ~ Description for armored wheel #: lang/json/vehicle_part_from_json.py msgid "A very strong, armored metal wheel." @@ -115118,6 +116177,14 @@ msgstr "" msgid "bicycle wheel (steerable)" msgstr "" +#: lang/json/vehicle_part_from_json.py +msgid "off-road bicycle wheel" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "off-road bicycle wheel (steerable)" +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "casters" msgstr "" @@ -115138,6 +116205,14 @@ msgstr "" msgid "motorbike wheel (steerable)" msgstr "" +#: lang/json/vehicle_part_from_json.py +msgid "off-road motorbike wheel" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "off-road motorbike wheel (steerable)" +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "small wheel (steerable)" msgstr "" @@ -115165,6 +116240,10 @@ msgstr "" msgid "wide wheel (steerable)" msgstr "" +#: lang/json/vehicle_part_from_json.py +msgid "off-road wide wheel (steerable)" +msgstr "" + #. ~ Description for wooden cart wheel #: lang/json/vehicle_part_from_json.py msgid "A wooden wheel." @@ -116044,7 +117123,7 @@ msgstr "" #. ~ Description for icy sea skimmer #: lang/json/vehicle_part_from_json.py msgid "" -"A living blob, existing in a super-cooled state. It acts as a boat board." +"A living blob, existing in a super-cooled state. It acts as a boat hull." msgstr "" #: lang/json/vehicle_part_from_json.py @@ -116913,6 +117992,10 @@ msgstr "" msgid "This corpse is already field dressed." msgstr "" +#: src/activity_handlers.cpp +msgid "This corpse is already skinned." +msgstr "" + #: src/activity_handlers.cpp msgid "This corpse is too small to quarter without damaging." msgstr "" @@ -117062,6 +118145,26 @@ msgstr "" msgid "You remove guts and excess parts, preparing the corpse for later use." msgstr "" +#: src/activity_handlers.cpp +#, c-format +msgid "You skin the %s." +msgstr "" + +#: src/activity_handlers.cpp +#, c-format +msgid "You carefully remove the hide from the %s" +msgstr "" + +#: src/activity_handlers.cpp +#, c-format +msgid "The %s is challenging to skin, but you get a good hide from it." +msgstr "" + +#: src/activity_handlers.cpp +#, c-format +msgid "With a few deft slices you take the skin from the %s" +msgstr "" + #: src/activity_handlers.cpp #, c-format msgid "You finish dissecting the %s." @@ -117525,6 +118628,41 @@ msgstr "" msgid "You planted all seeds you could." msgstr "" +#: src/activity_handlers.cpp +msgid "Override ready, choose an endpoint to hack." +msgstr "" + +#: src/activity_handlers.cpp src/iuse.cpp +msgid "No enemy robots in range." +msgstr "" + +#: src/activity_handlers.cpp src/game.cpp +msgid "Never mind" +msgstr "" + +#: src/activity_handlers.cpp +#, c-format +msgid "You unleash your override attack on the %s." +msgstr "" + +#: src/activity_handlers.cpp +#, c-format +msgid "You successfully override the %s's IFF protocols!" +msgstr "" + +#: src/activity_handlers.cpp +#, c-format +msgid "The %s short circuits as you attempt to reprogram it!" +msgstr "" + +#: src/activity_handlers.cpp +msgid "...and turns friendly!" +msgstr "" + +#: src/activity_handlers.cpp +msgid "...but the robot refuses to acknowledge you as an ally!" +msgstr "" + #: src/activity_item_handling.cpp #, c-format msgid "You put your %1$s in the %2$s's %3$s." @@ -119631,6 +120769,11 @@ msgstr "" msgid "Feels Like: %s." msgstr "" +#: src/bionics.cpp src/iuse.cpp +#, c-format +msgid "Wind Direction: From the %s." +msgstr "" + #: src/bionics.cpp src/mutation.cpp msgid "Perform which function:" msgstr "" @@ -120368,6 +121511,18 @@ msgstr "" msgid "Year %1$d, %2$s, day %3$d %4$s" msgstr "" +#: src/cata_tiles.cpp +msgid "direct3d" +msgstr "" + +#: src/cata_tiles.cpp +msgid "opengl" +msgstr "" + +#: src/cata_tiles.cpp +msgid "opengles2" +msgstr "" + #: src/cata_utility.cpp src/options.cpp msgid "mph" msgstr "" @@ -122930,6 +124085,13 @@ msgstr "" msgid " %c:%s%.*s %s\n" msgstr "" +#: src/crafting_gui.cpp +msgid "" +"\n" +"You can use arrow keys to go through search history\n" +"\n" +msgstr "" + #: src/crafting_gui.cpp src/newcharacter.cpp #: src/overmap_ui.cpp msgid "Search:" @@ -123595,6 +124757,11 @@ msgstr "" msgid "Remove mission without proper cleanup" msgstr "" +#: src/debug_menu.cpp +#, c-format +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "" + #: src/defense.cpp #, c-format msgid "Please wait as the map generates [ 0%% ]" @@ -128878,7 +130045,7 @@ msgid "Overmap editor" msgstr "" #: src/game.cpp -msgid "Draw benchmark (5 seconds)" +msgid "Draw benchmark (X seconds)" msgstr "" #: src/game.cpp @@ -129055,8 +130222,7 @@ msgid "Set turn to? (One day is %i turns)" msgstr "" #: src/game.cpp -#, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgid "Enter benchmark length (in milliseconds):" msgstr "" #: src/game.cpp @@ -129182,6 +130348,10 @@ msgstr "" msgid "Time: ???" msgstr "" +#: src/game.cpp src/item.cpp +msgid "Location: " +msgstr "" + #: src/game.cpp msgid "Underground" msgstr "" @@ -129194,6 +130364,10 @@ msgstr "" msgid "Temp :" msgstr "" +#: src/game.cpp +msgid "Moon : " +msgstr "" + #: src/game.cpp msgid "Lighting:" msgstr "" @@ -129659,10 +130833,6 @@ msgstr "" msgid "Use which item?" msgstr "" -#: src/game.cpp src/iuse.cpp -msgid "Never mind" -msgstr "" - #: src/game.cpp src/npctalk.cpp msgid "You may be attacked! Proceed?" msgstr "" @@ -130198,6 +131368,14 @@ msgid "" "better effects." msgstr "" +#: src/game.cpp +msgid "" +"Skinning a corpse is an involved and careful process that usually takes some " +"time. You need skill and an appropriately sharp and precise knife to do a " +"good job. Some corpses are too small to yield a full-sized hide and will " +"instead produce scraps that can be used in other ways." +msgstr "" + #: src/game.cpp msgid "Quarter corpse" msgstr "" @@ -130803,6 +131981,11 @@ msgstr "" msgid "You can't drag things up and down stairs." msgstr "" +#: src/game.cpp +#, c-format +msgid "There's a %s in the way!" +msgstr "" + #: src/game.cpp msgid "" "There is a LOT of heat coming out of there, even the stairs have melted " @@ -132284,12 +133467,21 @@ msgid "Clear up that %s?" msgstr "" #: src/iexamine.cpp -msgid "If only you had a crowbar..." +msgid "If only you had something to pry with..." msgstr "" #: src/iexamine.cpp #, c-format -msgid "Pry that %s?" +msgid "The %s is closed tightly." +msgstr "" + +#: src/iexamine.cpp +msgid "Leave it alone" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "Use your %s" msgstr "" #: src/iexamine.cpp @@ -132456,6 +133648,16 @@ msgstr "" msgid "This electronic safe looks too complicated to open." msgstr "" +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked..." +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "Use the %s" +msgstr "" + #: src/iexamine.cpp msgid "Create camp" msgstr "" @@ -134513,10 +135715,6 @@ msgstr "" msgid "Used on: " msgstr "" -#: src/item.cpp -msgid "Location: " -msgstr "" - #: src/item.cpp msgid "Incompatible with mod location: " msgstr "" @@ -135503,6 +136701,22 @@ msgstr "" msgid "You need an UPS to run the %s!" msgstr "" +#: src/item.cpp +#, c-format +msgctxt "item name" +msgid "skinned %s corpse" +msgid_plural "skinned %s corpses" +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +#, c-format +msgctxt "item name" +msgid "skinned %s carcass" +msgid_plural "skinned %s carcasses" +msgstr[0] "" +msgstr[1] "" + #: src/item.cpp #, c-format msgctxt "item name" @@ -135527,6 +136741,22 @@ msgid_plural "%s corpses" msgstr[0] "" msgstr[1] "" +#: src/item.cpp +#, c-format +msgctxt "item name" +msgid "skinned %s corpse of %s" +msgid_plural "skinned %s corpses of %s" +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +#, c-format +msgctxt "item name" +msgid "skinned %s carcass of %s" +msgid_plural "skinned %s carcasses of %s" +msgstr[0] "" +msgstr[1] "" + #: src/item.cpp #, c-format msgctxt "item name" @@ -136568,10 +137798,6 @@ msgstr "" msgid "But you can't touch this." msgstr "" -#: src/iuse.cpp -msgid "There's nothing to pry there." -msgstr "" - #: src/iuse.cpp msgid "" "You attempt to pry open your wallet but alas. You are just too miserly." @@ -136621,6 +137847,15 @@ msgstr "" msgid "You pry, but cannot pry open the window." msgstr "" +#: src/iuse.cpp +msgid "There's nothing to pry there." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "You can't get sufficient leverage to open that with your %s." +msgstr "" + #: src/iuse.cpp msgid "You break the glass." msgstr "" @@ -137874,7 +139109,7 @@ msgid "Welcome to hackPRO!:" msgstr "" #: src/iuse.cpp -msgid "Override IFF protocols" +msgid "Prepare IFF protocol override" msgstr "" #: src/iuse.cpp @@ -137886,34 +139121,7 @@ msgid "Set friendly robots to combat mode" msgstr "" #: src/iuse.cpp -msgid "Choose an endpoint to hack." -msgstr "" - -#: src/iuse.cpp -msgid "No enemy robots in range." -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "You start reprogramming the %s into an ally." -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "You successfully override the %s's IFF protocols!" -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "The %s short circuits as you attempt to reprogram it!" -msgstr "" - -#: src/iuse.cpp -msgid "...and turns friendly!" -msgstr "" - -#: src/iuse.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" +msgid "You start preparing your override." msgstr "" #: src/iuse.cpp @@ -146910,6 +148118,14 @@ msgstr "" msgid "Tell all your allies to guard" msgstr "" +#: src/npctalk.cpp +msgid "Tell all your allies to stay awake" +msgstr "" + +#: src/npctalk.cpp +msgid "Tell all your allies to relax and sleep when tired" +msgstr "" + #: src/npctalk.cpp msgid "Tell all your allies to follow" msgstr "" @@ -146936,6 +148152,14 @@ msgstr "" msgid "Guard here!" msgstr "" +#: src/npctalk.cpp +msgid "Stay awake!" +msgstr "" + +#: src/npctalk.cpp +msgid "We're safe! Take a nap if you're tired." +msgstr "" + #: src/npctalk.cpp msgid "Follow me!" msgstr "" @@ -147116,17 +148340,17 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "Dex %d - %d" +msgid " Dex %d - %d" msgstr "" #: src/npctalk.cpp #, c-format -msgid "Int %d - %d" +msgid " Int %d - %d" msgstr "" #: src/npctalk.cpp #, c-format -msgid "Per %d - %d" +msgid " Per %d - %d" msgstr "" #: src/npctalk.cpp src/sidebar.cpp @@ -147145,6 +148369,34 @@ msgstr "" msgid "Not tired" msgstr "" +#: src/npctalk.cpp +msgid ". Will need sleep in " +msgstr "" + +#: src/npctalk.cpp +msgid "" +"\n" +"Will need water in " +msgstr "" + +#: src/npctalk.cpp +msgid "" +"\n" +"Thirsty" +msgstr "" + +#: src/npctalk.cpp +msgid "" +"\n" +"Will need food in " +msgstr "" + +#: src/npctalk.cpp +msgid "" +"\n" +"Hungry" +msgstr "" + #: src/npctalk.cpp msgid "No, just no..." msgstr "" @@ -147592,7 +148844,7 @@ msgstr "" msgid "Set up pickup rules." msgstr "" -#: src/npctalk.cpp +#: src/npctalk.cpp src/npctalk_funcs.cpp #, c-format msgid "Pickup rules for %s" msgstr "" @@ -147685,16 +148937,18 @@ msgctxt "punctuation" msgid "!" msgstr "" +#. ~ %1$c is an option letter and shouldn't be translated, %2$s is translated response text #: src/npctalk.cpp #, c-format msgctxt "talk option" -msgid "%1$c: [%2$s %3$d%%] %4$s" +msgid "%1$c: %2$s" msgstr "" +#. ~ %1$c is an option letter and shouldn't be translated, %2$s is translated trial type, %3$d is a number, and %4$s is the translated response text #: src/npctalk.cpp #, c-format msgctxt "talk option" -msgid "%1$c: %2$s" +msgid "%1$c: [%2$s %3$d%%] %4$s" msgstr "" #: src/npctalk.cpp @@ -147819,10 +149073,6 @@ msgstr "" msgid "It is too heavy for me to carry." msgstr "" -#: src/npctalk.cpp -msgid "Select a follower" -msgstr "" - #: src/npctalk_funcs.cpp msgid "Reward" msgstr "" @@ -147956,6 +149206,10 @@ msgstr "" msgid "Pay:" msgstr "" +#: src/npctalk_funcs.cpp +msgid "Select a follower" +msgstr "" + #: src/npctrade.cpp msgid "" "TAB key to switch lists, letters to pick items, Enter to finalize, Esc to " @@ -148979,6 +150233,14 @@ msgstr "" msgid "Windowed borderless" msgstr "" +#: src/options.cpp +msgid "Renderer" +msgstr "" + +#: src/options.cpp +msgid "Set which renderer to use. Requires restart." +msgstr "" + #: src/options.cpp msgid "Software rendering" msgstr "" @@ -148999,6 +150261,16 @@ msgid "" "rendering. Requires restart." msgstr "" +#: src/options.cpp +msgid "Use color modulated textures" +msgstr "" + +#: src/options.cpp +msgid "" +"If true, tries to use color modulated textures to speed-up ASCII drawing. " +"Requires restart." +msgstr "" + #: src/options.cpp msgid "Scaling mode" msgstr "" @@ -150635,22 +151907,22 @@ msgstr "" msgid "Final Stats:" msgstr "" -#: src/player.cpp src/sidebar.cpp +#: src/player.cpp #, c-format msgid "Str %d" msgstr "" -#: src/player.cpp src/sidebar.cpp +#: src/player.cpp #, c-format msgid "Dex %d" msgstr "" -#: src/player.cpp src/sidebar.cpp +#: src/player.cpp #, c-format msgid "Int %d" msgstr "" -#: src/player.cpp src/sidebar.cpp +#: src/player.cpp #, c-format msgid "Per %d" msgstr "" @@ -154323,11 +155595,11 @@ msgid "" msgstr "" #: src/sidebar.cpp -msgid "POWER" +msgid "STA " msgstr "" #: src/sidebar.cpp -msgid "Stm" +msgid "STA:" msgstr "" #: src/sidebar.cpp @@ -154463,7 +155735,23 @@ msgid "Pain %d" msgstr "" #: src/sidebar.cpp -msgid "Stm " +#, c-format +msgid "Str %02d" +msgstr "" + +#: src/sidebar.cpp +#, c-format +msgid "Dex %02d" +msgstr "" + +#: src/sidebar.cpp +#, c-format +msgid "Int %02d" +msgstr "" + +#: src/sidebar.cpp +#, c-format +msgid "Per %02d" msgstr "" #: src/sidebar.cpp @@ -154483,6 +155771,10 @@ msgctxt "movement-type" msgid "R" msgstr "" +#: src/sidebar.cpp +msgid "Pwr " +msgstr "" + #: src/sounds.cpp msgid "Your eardrums suddenly ache!" msgstr "" diff --git a/lang/po/de.po b/lang/po/de.po index 2fe8eb6f7a9ff..9cf06f31d8f13 100644 --- a/lang/po/de.po +++ b/lang/po/de.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Pupsi , 2019\n" "Language-Team: German (https://www.transifex.com/cataclysm-dda-translators/teams/2217/de/)\n" @@ -6960,6 +6960,19 @@ msgstr "" "Eine Plastikjacke mit einer Kapuze und zwei sehr tiefen Taschen. Bietet " "Schutz vor Regen." +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -19991,34 +20004,34 @@ msgid "Spice" msgstr "GewÃŒrz" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" +msgid "Riesling" +msgid_plural "Riesling" msgstr[0] "Riesling" -msgstr[1] "Riesling" +msgstr[1] "Rieslinge" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "Ein Schaum- und Weißwein, gemacht aus der weltnobelsten Weintraube." #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" +msgid "Chardonnay" +msgid_plural "Chardonnay" msgstr[0] "Chardonnay" -msgstr[1] "Chardonnay" +msgstr[1] "Chardonnays" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "Amerikas beliebtester Wein, und das aus gutem Grund." #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" msgstr[0] "Cabernet Sauvignon" -msgstr[1] "Cabernet Sauvignon" +msgstr[1] "Cabernet Sauvignons" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -20050,8 +20063,11 @@ msgstr[1] "Whiskys" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "Von, mit und fÃŒr echte Oberste aus dem SÃŒden gemacht!" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "" +"Ein destillierter Getreidealkohol, hergestellt aus, von und fÃŒr echte " +"Oberste des SÃŒdens!" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -20061,8 +20077,10 @@ msgstr[1] "Wodkas" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "In der Sowjetunion trinkt der Wodka dich!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -20072,8 +20090,12 @@ msgstr[1] "Gin" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "Leicht nach Holunderbeeren riechender Alkohol." +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" +"Eine Spirituose, die die Wacholderbeere in ihr aromatisches Zentrum stellt. " +"Riecht schwach nach Wacholder und ÃŒberwiegend nach Alkohol." #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -20083,10 +20105,13 @@ msgstr[1] "Rum" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." msgstr "" -"Wenn du das hier trinkst, fÃŒhlst du dich vielleicht wie ein Pirat. Oder auch" -" nicht." +"Eine destilliertes Spirituose, die aus fermentierter Melasse hergestellt " +"wird. Wenn du das hier trinkst, fÃŒhlst du dich vielleicht wie ein Pirat. " +"Oder auch nicht." #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -20096,8 +20121,10 @@ msgstr[1] "Tequila" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "Iss nicht den Wurm! Warte, da ist kein Wurm in dieser Flasche." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -20200,10 +20227,9 @@ msgstr[1] "Long Island Iced Tea" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." msgstr "" -"Ein Gemisch aus verschiedenen, sehr aromatischen alkoholischen GetrÀnken. " -"Der Geschmack ist jedoch nicht erkennbar." #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -20211,8 +20237,10 @@ msgstr "Screwdriver" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "Des heimlich betrunkenen Mechanikers GetrÀnk der Wahl." +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -20247,10 +20275,9 @@ msgstr[1] "Bier" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." msgstr "" -"Am besten kalt in einem Glas und einer Limone serviert – aber so viel GlÃŒck " -"hast du nicht." #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -20318,11 +20345,10 @@ msgstr[1] "selbstgemachter Schnaps" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." msgstr "" -"Nur der stÀrkste reinste gute alte Fusel. LÀsst dich garantiert dieses ganze" -" Katastrophenzeugs vergessen, oder dich in deinen TagtrÀumereien versenken." #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -20333,11 +20359,9 @@ msgstr[1] "Pilsener" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." msgstr "" -"Ein Pilsener, der aus Europa importiert wurde. Am besten kalt in einem Glas " -"serviert – aber so viel GlÃŒck hast du nicht." #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -20391,11 +20415,9 @@ msgstr[1] "Belgisches Bier" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." msgstr "" -"Ein wÃŒrziges und nahrhaftes Ale, das von Mönchen in Belgien gebraut wird. Am" -" besten in einem Kelch serviert." #: lang/json/COMESTIBLE_from_json.py msgid "imperial stout" @@ -20471,11 +20493,9 @@ msgstr "Calimocho" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." msgstr "" -"Nicht so schlecht, wie einige es sich vorstellen könnten, ist dieses GetrÀnk" -" ziemlich beliebt unter jungen und/oder armen Leuten in einigen LÀndern." #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -21712,8 +21732,11 @@ msgstr[1] "Kaffee" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "Kaffee. Das morgentliche Ritual der vorapokalyptischen Welt." +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -21746,11 +21769,9 @@ msgstr[1] "Kondensmilch" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" -"Kalbsnahrung, aufbereitet fÃŒr erwachsene Menschen. Diese Milch wurde gesÌßt " -"und verdickt, was sie zu einer sÌßen Zugabe zu allen Lebensmitteln macht." #: lang/json/COMESTIBLE_from_json.py msgid "cream soda" @@ -21819,8 +21840,10 @@ msgstr "Energy-Drink" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "Beliebt unter denen, die spÀt fÃŒr die Arbeit wach bleiben mÃŒssen." +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -21949,10 +21972,9 @@ msgstr "Milchkaffee" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." msgstr "" -"Milchkaffee ist sozusagen das offizielle morgentliche GetrÀnk in vielen " -"LÀndern." #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -21960,11 +21982,8 @@ msgstr "Milchtee" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "" -"Milchtee wird ÃŒblicherweise am Morgen konsumiert und ist in vielen LÀndern " -"verbreitet." +msgid "Hot tea with cold milk." +msgstr "Heißer Tee mit kalter Milch." #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -22074,8 +22093,10 @@ msgstr "Tee" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "Tee, das GetrÀnk fÃŒr Gentlemen auf der ganzen Welt." +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -22132,8 +22153,8 @@ msgstr "rote Soße" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "Tomatensauce, mmmh, lecker." +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -22155,8 +22176,10 @@ msgstr[1] "Mayonnaise" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "Gute alte Mayo. Sie schmeckt super auf Sandwichs." +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -22164,8 +22187,8 @@ msgstr "Ketchup" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "Guter alter Ketchup, schmeckt prima auf Hot Dogs." +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -22175,8 +22198,10 @@ msgstr[1] "Senf" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "Guter alter Senf. Er schmeckt super auf Hamburgern." +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -22224,8 +22249,10 @@ msgstr[1] "Essig" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "Schockierend sÀuerlicher weißer Essig." +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -22246,10 +22273,10 @@ msgstr[1] "Sirupe" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." msgstr "" -"Ein extrem zuckeriger teerartiger Sirup, mit einem leicht bitterem " -"Nachgeschmack." #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -23577,8 +23604,10 @@ msgstr[1] "Ahornsirupe" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "SÌß und lecker, echter Vermontener Ahornsirup." +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -23890,14 +23919,13 @@ msgstr "" "verderben." #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" +msgid "deep-fried chicken" msgstr "frittiertes HÀhnchen" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." msgstr "" -"Eine Handvoll mit frittiertem HÃŒhnchen. So schlecht, dass es wieder gut ist." #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -24319,8 +24347,10 @@ msgstr "Aufschnitt" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "Leckerer Aufschnitt. Kann kalt gegessen werden." +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -24329,11 +24359,10 @@ msgstr "Fleischwurst" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." msgstr "" -"Eine Art Aufschnitt, kommt in vorgeschnittener Form. Sein Vorname ist nicht " -"»Oskar«. Kann kalt gegessen werden." #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -24877,11 +24906,9 @@ msgstr "Menschenfleischwurst" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." msgstr "" -"Eine Art Aufschnitt, gemacht aus Menschenfleisch, kommt in vorgeschnittener " -"Form. Sein Vorname könnte »Oskar« gewesen sein. Kann kalt gegessen werden." #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -26252,6 +26279,22 @@ msgstr "" "WiderstandsfÀhigkeit des Körpers gegen sie. Eine Dosis reicht fÃŒr zwölf " "Stunden." +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "" + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -27954,67 +27997,67 @@ msgstr "" "Sehr saure Zitrusfrucht. Kann gegessen werden, wenn du wirklich willst." #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "Blaubeere" -msgstr[1] "Blaubeeren" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Sie sind blau, was aber nicht heißt, dass sie besoffen sind." #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "Erdbeere" -msgstr[1] "Erdbeeren" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Leckere saftige Beere. Oft wild in Feldern gefunden." #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "Cranberry" -msgstr[1] "Cranberrys" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Saure rote Beeren. Gut fÃŒr deine Gesundheit." #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "Himbeere" -msgstr[1] "Himbeeren" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Eine sÌße rote Beere." #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "Heidelbeere" -msgstr[1] "Heidelbeeren" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Heidelbeeren, werden oft mit Blaubeeren verwechselt." #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "Maulbeere" -msgstr[1] "Maulbeeren" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -28024,12 +28067,12 @@ msgstr "" "die geschmacksintensivste Sorten der Welt sein. " #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "Holunderbeere" -msgstr[1] "Holunderbeeren" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -28037,12 +28080,12 @@ msgstr "" "Geschmack. " #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" -msgstr[0] "Hagebutte" -msgstr[1] "Hagebutten" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Die Frucht einer bestÀubten Rose." @@ -28079,12 +28122,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Eine Zitrusfrucht, dessen Gemack von sauer zu halbsÌß reicht." #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "Kirsche" -msgstr[1] "Kirschen" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Eine rote sÌße Frucht, welche in BÀumen wÀchst." @@ -28101,12 +28144,12 @@ msgstr "" "Eine handvoll großer violetter Pflaumen. Gesund und gut fÃŒr deine Verdauung." #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "Traube" -msgstr[1] "Trauben" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Eine Rispe saftiger Weintrauben." @@ -28160,12 +28203,12 @@ msgid "A large and very sweet fruit." msgstr "Eine große und sehr sÌße Frucht." #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "Brombeere" -msgstr[1] "Brombeeren" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Eine dunklere Cousine der Himbeere." @@ -28211,10 +28254,12 @@ msgstr "" "Eine große braune und flauschige Beere. Ihr leckeres Inneres ist grÃŒn." #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "Aprikose" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Eine weichhÀutige Frucht, verwandt zur Pfirsich." @@ -28275,8 +28320,8 @@ msgstr "Kohl" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "Ein herzhafter Kopf aus knusprigem Weißkohl." +msgid "Crisp white cabbage." +msgstr "Knackiger Weißkohl." #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -28373,7 +28418,7 @@ msgstr "Gurke" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." +msgid "Comes from the gourd family. Not tasty but very juicy." msgstr "" "Sie kommt aus der Familie der KÃŒrbisgewÀchse. Nicht sehr lecker, aber sehr " "saftig." @@ -28855,6 +28900,10 @@ msgstr[1] "Brombeersamen" msgid "Some blackberry seeds." msgstr "Einige Brombeersamen." +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "Brombeere" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -28866,6 +28915,10 @@ msgstr[1] "Blaubeersamen" msgid "Some blueberry seeds." msgstr "Ein paar Blaubeersamen." +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "Blaubeere" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -28877,6 +28930,10 @@ msgstr[1] "Cranberrysamen" msgid "Some cranberry seeds." msgstr "Einige Cranberrysamen." +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "Cranberry" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -28888,6 +28945,10 @@ msgstr[1] "Heidelbeersamen" msgid "Some huckleberry seeds." msgstr "Einige Heidelbeersamen." +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "Heidelbeere" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -28899,6 +28960,10 @@ msgstr[1] "Maulbeersamen" msgid "Some mulberry seeds." msgstr "Einige Maulbeersamen" +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "Maulbeere" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -28910,6 +28975,10 @@ msgstr[1] "Holunderbeersamen" msgid "Some elderberry seeds." msgstr "Einige Holunderbeersamen" +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "Holunderbeere" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -28921,6 +28990,10 @@ msgstr[1] "Himbeeresamen" msgid "Some raspberry seeds." msgstr "Einige Himbeeresamen." +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "Himbeere" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -28932,6 +29005,10 @@ msgstr[1] "Erdbeersamen" msgid "Some strawberry seeds." msgstr "Einige Erdbeersamen." +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "Erdbeere" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -28943,6 +29020,10 @@ msgstr[1] "Traubenkerne" msgid "Some grape seeds." msgstr "Einige Traubenkerne" +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "Traube" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -32212,6 +32293,19 @@ msgstr[1] "GefahrenstofffÀsser" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "Ein gelbes Fass, vorgesehen fÃŒr die Aufbewahrung von Gefahrenstoffen." +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -36427,11 +36521,8 @@ msgstr[1] "Steine in Socken" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." +msgid "A pair of nested socks filled with a stone. A true weapon of despair." msgstr "" -"Eine Socke mit einem Stein im Ende davon. Wahrhaft eine Waffe der " -"Verzweiflung." #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -39422,6 +39513,17 @@ msgstr[1] "Zui Quan und du" msgid "A complete guide to Zui Quan." msgstr "Ein vollstÀndiger FÃŒhrer ÃŒber Zui Quan." +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -41739,6 +41841,361 @@ msgid_plural "belt ammo links" msgstr[0] "Munitionsgurtglied" msgstr[1] "Munitionsgurtglieder" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -45564,6 +46021,15 @@ msgstr "" "Ersetzt Schusswaffen mit generischen Typen. Achtung: Kann Probleme mit " "anderen Waffen-Mods bereiten." +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "Manuelle Bionikinstallation" @@ -63165,6 +63631,14 @@ msgid_plural "inactive military robots" msgstr[0] "inaktiver MilitÀrroboter" msgstr[1] "inaktive MilitÀrroboter" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -64254,6 +64728,10 @@ msgstr "Fahrzeuginteraktion abbrechen?" msgid "Stop training?" msgstr "Training abbrechen?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "Erste Hilfe abbrechen?" @@ -64422,10 +64900,18 @@ msgstr "Mit Rasieren aufhören?" msgid "Stop cutting your hair?" msgstr "Mit dem Haarschnitt aufhören?" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "Mit dem Versuch einzuschlafen aufhören?" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express" @@ -67697,6 +68183,17 @@ msgstr "" "KI-Kennzeichen fÃŒr NPCs, die man um Trainingsstunden gebeten hat. Es ist ein" " Bug, wenn du es hast." +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "Info abgefragt" @@ -69092,24 +69589,6 @@ msgstr "Du bist erschöpft." msgid "The ceiling collapses on you!" msgstr "Die Decke bricht auf dich herab!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "Stammzellenbehandlung" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "" -"Du spÃŒrst, wie sich deine GedÀrme in eigenartige Richungen verlagern, sobald" -" die Behandlung beginnt." - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "" -"Dir wird puriertes Knochenmark und Zahnschmelz in deinen Augapfel injiziert." - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "Krampflösende Medizin eingenommen" @@ -69695,6 +70174,15 @@ msgid "You feel incredible! You could take on the world!" msgstr "" "Du fÃŒhlst dich unglaublich! Du könntest es mit der ganzen Welt aufnehmen!" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "" + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "Entladen" @@ -84566,14 +85054,14 @@ msgid "Analyze blood" msgstr "Blut analysieren" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "Mister Stammzelle" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "Stammzellenbehandlung" +msgid "Bonesetting Treatment" +msgstr "" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -86050,6 +86538,36 @@ msgstr "" "+StÀrke Schlagpanzerung, +Geschick SÀurepanzerung, +Intelligenz " "Elektropanzerung, +Wahrnehmung Feuerpanzerung." +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Sōjutsu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "Mittelalterliche Schwertkunst" @@ -89911,6 +90429,10 @@ msgstr "%s genossen" msgid "Enjoyed a hot meal" msgstr "Eine warme Mahlzeit genossen" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "Musik" @@ -90121,6 +90643,10 @@ msgstr "Frisch rasiert" msgid "Barfed" msgstr "Erbrochen" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "Ein Feuer entfachen" @@ -91338,6 +91864,18 @@ msgstr "" "Obwohl du immer noch die negativen Wirkungen von Schmerzen erfÀhrst bringt " "er auch einen einzigartigen Genuss." +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -91491,10 +92029,8 @@ msgstr "Nahkampfwaffentraining" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." msgstr "" -"Du hast den Kampf mit Nahkampfwaffen geÃŒbt. Du beginnt mit deiner Auswahl " -"zwischen Eskrima, Fechten, Pencak Silat oder Niten Ichi-Ryu." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -92251,6 +92787,17 @@ msgstr "" "niedriger als gewöhnlich und du wirst dich viel langsamer heilen. Addiert " "sich zu Glaskinn." +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "Spröde Haut" @@ -97747,6 +98294,10 @@ msgstr "Apis" msgid "I'm bugged - I shouldn't talk to you." msgstr "Ich bin verwanzt – ich sollte nicht mit dir Reden." +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "Bettler" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -98110,6 +98661,30 @@ msgstr "Bandit" msgid "Psycho" msgstr "Psycho" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "Bettler" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "Reena Sandhu" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "Dino Dave" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "Luo Meizhen" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "Brandon Garder" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "Yusuke Taylor" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "PlÃŒnderer" @@ -104942,6 +105517,112 @@ msgstr "" "Zweckentfremden kommerzieller Roboter, aber du hÀttest nie gedacht, dass " "einmal dein Überleben davon abhÀngen wÃŒrde." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -114925,6 +115606,67 @@ msgstr "Wasser 
 Ist hier eine Oase in der NÀhe?" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "Wusstest du, dass Wassermangel schneller tötet als Schlafentzug?" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "verdammt" @@ -116466,6 +117208,18 @@ msgstr "" msgid "You're going to pay for that, !" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "Das hört sich schlecht an." @@ -116482,6 +117236,10 @@ msgstr "Hast du das gehört?" msgid "What's that noise?" msgstr "Was ist das fÃŒr ein LÀrm?" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "Ich höre, dass sich etwas bewegt - es klingt nach" @@ -116491,7 +117249,7 @@ msgid "What's that sound? I heard" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" +msgid "What's there? I heard" msgstr "" #: lang/json/snippet_from_json.py @@ -116499,7 +117257,7 @@ msgid "Did you hear that? Sounded like" msgstr "Hast du das gehört? Es klang wie" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" +msgid "What is making that sound? I can hear the" msgstr "" #: lang/json/snippet_from_json.py @@ -116635,6 +117393,10 @@ msgstr "wandelnde Leiche" msgid " " msgstr " " +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "Untoten" @@ -116647,10 +117409,6 @@ msgstr "Zombies" msgid "Z's" msgstr "Z's" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "Todes" - #: lang/json/snippet_from_json.py msgid " " msgstr " " @@ -120252,6 +121010,42 @@ msgstr "Lass uns handeln!" msgid "I can't leave the shelter without equipment." msgstr "Ich kann den Unterschlupf nicht ohne AusrÃŒstung verlassen." +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "" @@ -121769,6 +122563,268 @@ msgstr "" " eine großarige Möglichkeit, dir selbst einen Namen unter den stÀrksten noch" " lebenden Menschen zu machen." +#: 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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "Nein." + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "Was machst du hier draußen?" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "Kann ich dir helfen, Marshal?" @@ -126403,6 +127459,44 @@ msgstr "Du verpasst %s einen Phasenschlag" msgid " phase-strikes %s" msgstr " verpasst %s einen Phasenschlag" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "versetzen und kontern" @@ -135622,6 +136716,11 @@ msgstr "Du bist fertig mit Warten." msgid "%s finishes with you..." msgstr "%s vollendet es mit dir gemeinsam 
" +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "Du wirfst und drehst dich umher..." @@ -135697,6 +136796,11 @@ msgstr "Du bist fertig mit dem Ausgraben von %s." msgid "You finish filling up %s." msgstr "Du bist fertig mit dem BefÃŒllen von %s." +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "Du öffnest dein Set und rasierst dich." @@ -135705,6 +136809,16 @@ msgstr "Du öffnest dein Set und rasierst dich." msgid "You give your hair a trim." msgstr "Du schneidest dir die Haare." +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "Du demontierst: %s." + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "%s wird entladen." + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "Du hast alle verfÃŒgbaren Ackerbau-Felder abgeerntet." @@ -137007,6 +138121,10 @@ msgstr "" "schrumpft und wÀchst ein ganz kleines bisschen, in einem regelmÀßigem Puls, " "so wie beim Atmen" +#: src/artifact.cpp +msgid "dead" +msgstr "Todes" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "ist vollkommen eiskalt" @@ -139910,12 +141028,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "DATEI BESCHÄDIGT, DRÜCKEN SIE IRGENDEINE TASTE 
" #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." msgstr "" -"Die Maschine injiziert pÃŒriertes Knochenmark und LSD\n" -"in deinen Augapfel." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -141032,6 +142147,62 @@ msgstr "Du ergötzt dich am sÌßen Honig." msgid "You can't finish it all!" msgstr "Du schaffst es aber nicht, alles zu dir zu nehmen." +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "" + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "" + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "" + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "" @@ -141546,13 +142717,10 @@ msgstr "nach eingeprÀgten oder nicht suchen" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"StandardmÀßig wird nach Ergebnisnamen gesucht. Einige Einzelzeichen-PrÀfixe können mit einem Doppelpunkt »:« vorangestellt werden, um dadurch auf eine andere Weise zu suchen.\n" -" \n" -"Beispiele:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -147813,6 +148981,10 @@ msgstr "Debug-Nachricht anzeigen" msgid "Crash game (test crash handling)" msgstr "Spiel-Absturz (Test-Absturz-Handhabung)" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "ZurÃŒck zum HauptmenÃŒ" @@ -148164,22 +149336,25 @@ msgid "Underground" msgstr "Unterirdisch" #: src/game.cpp -msgid "Weather:" -msgstr "Wetter:" - -#: src/game.cpp -msgid "Temperature:" -msgstr "Temperatur:" +msgid "Weather :" +msgstr "" #: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "Mond %s" +msgid "Temp :" +msgstr "" #: src/game.cpp msgid "Lighting:" msgstr "Beleuchtung:" +#: src/game.cpp +msgid "Deaf!" +msgstr "Taub!" + +#: src/game.cpp +msgid "Sound: " +msgstr "" + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -148489,6 +149664,11 @@ msgstr "Alle GegenstÀnde fallenlassen" msgid "Attach bag" msgstr "Tasche anbringen" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "" + #: src/game.cpp msgid "Untie" msgstr "Abbinden" @@ -148563,6 +149743,11 @@ msgstr "%1$s ist ÃŒberlastet. Du kannst %2$s nicht transferieren." msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "DafÃŒr gibt es keinen in deines %1$s %2$s, es ist zu sperrig!" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "Den Zombiesklaven wirklich töten?" @@ -149362,64 +150547,6 @@ msgstr "Du hast nichts zum Entladen." msgid "You're not wielding anything." msgstr "Du hÀlst nichts." -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "Du legst %s in dein Inventar." - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "%s ist schon leer!" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "" -"Die FlÃŒssigkeit kann in ihrem aktuellen Zustand nicht ausgeleert werden!" - -#: src/game.cpp -msgid "Unload what?" -msgstr "Was entladen?" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "Du kannst ein %s nicht entladen!" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "Du kannst ein wiederaufladbares %s nicht entladen!" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "Dein %s ist nicht aufgeladen." - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "Dein %s ist nicht geladen." - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "Du demontierst: %s." - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "%s wird entladen." - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "Du verwertest %i unbenutztes Plutonium wieder." - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "Du kannst teilweise verbrauchtes Plutonium nicht entfernen!" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -150955,10 +152082,6 @@ msgstr "Ja." msgid "Yes, and save game before sleeping." msgstr "Ja, und ich will davor auch das Spiel speichern." -#: src/handle_action.cpp -msgid "No." -msgstr "Nein." - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "Vielleicht möchtest du Nachfolgendes vor dem Schlafen ausschalten:" @@ -157511,13 +158634,8 @@ msgid "No music on device" msgstr "Keine Musik auf dem GerÀt" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "Rezept: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" -msgstr "Rezept auf dem E-Ink-Bildschirm betrachten" +msgid "View recipes on E-ink screen" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters" @@ -157586,13 +158704,8 @@ msgid "You turned on music on your %s." msgstr "Du hast die Musik von %s eingeschaltet." #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "Rezept zum Betrachten wÀhlen:" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "Du lÀsst den E-Ink-Bildschirm ein Rezept fÃŒr %s anzeigen." +msgid "List recipes:" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -160932,6 +162045,10 @@ msgstr "Zerschmetterbar. " msgid "Diggable. " msgstr "Grabbar. " +#: src/map.cpp +msgid "Plowable. " +msgstr "" + #: src/map.cpp msgid "Rough. " msgstr "Uneben. " @@ -167724,7 +168841,7 @@ msgstr "Hier gibt es kein Fraktionslager, das ÃŒbernommen werden könnte." msgid "%s has abandoned the camp." msgstr "%s hat das Lager aufgegeben." -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "FÀuste" @@ -167962,6 +169079,16 @@ msgstr "%s gibt dir eine gute Frisur." msgid "%s gives you a decent shave..." msgstr "%s gibt dir eine gute Rasur." +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "" + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -170250,13 +171377,13 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "Beispiel: »-Rohr,-stÃŒck,-blech«" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" -msgstr "Nach [c]:Kategorie, [m]:Material oder [q]:QualitÀt suchen." +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" +msgstr "" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "Beispiele: »c:Essen«, »m:Leder«, »q:HÀmmerqualitÀt«" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "" #: src/output.cpp msgid "unknown" @@ -170602,6 +171729,10 @@ msgstr "Fang oder befrei eine Kreatur" msgid "Load or unload a vehicle" msgstr "Fahrzeug be- oder entladen" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -171166,6 +172297,14 @@ msgstr "dich laut schreien!" msgid "The sound of your voice is almost completely muffled!" msgstr "Der Ton deiner Stimme ist fast vollstÀndig gedÀmpft!" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "Der Ton deiner Stimme ist deutlich gedÀmpft!" @@ -171848,10 +172987,6 @@ msgstr "Warum verfolgst du mich?" msgid "This place is dangerous, you shouldn't be here." msgstr "Dieser Ort ist gefÀhrlich, du solltest nicht hier sein." -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "Was machst du hier draußen?" - #: src/player.cpp msgid "That's not true, is it?" msgstr "Das ist nicht wahr, oder?" @@ -172787,6 +173922,54 @@ msgstr "Du kannst hier keine GegenstÀnde platzieren!" msgid " can't place items here!" msgstr " kann hier keine GegenstÀnde platzieren!" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "Du legst %s in dein Inventar." + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "%s ist schon leer!" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "" +"Die FlÃŒssigkeit kann in ihrem aktuellen Zustand nicht ausgeleert werden!" + +#: src/player.cpp +msgid "Unload what?" +msgstr "Was entladen?" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "Du kannst ein %s nicht entladen!" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "Du kannst ein wiederaufladbares %s nicht entladen!" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "Dein %s ist nicht aufgeladen." + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "Dein %s ist nicht geladen." + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "Du verwertest %i unbenutztes Plutonium wieder." + +#: src/player.cpp +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." @@ -173281,6 +174464,10 @@ msgstr "Du merkst, dass %s-Aufgaben dieser Stufe trivial werden." msgid "You resume your task." msgstr "Du setzt deine TÀtigkeit fort." +#: src/player.cpp +msgid "Weapon : fists" +msgstr "" + #: src/player.cpp msgid "Wield what?" msgstr "Was halten?" @@ -174079,16 +175266,6 @@ msgstr "Erlag einem Asthmaanfall." msgid "You wheeze and gasp for air." msgstr "Du ringst nach Luft." -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "" -"Deine Knochen fÃŒhlen sich wie Gummi an, wÀhrend sie schmelzen und sich neu " -"zusammensetzen." - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "Deine Knochen fÃŒhlen sich an, als wÃŒrden sie zerbröckeln." - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "Dein Kopf tut leicht weh." @@ -174887,15 +176064,6 @@ msgstr "Sehr kalt!%s" msgid "Freezing!%s" msgstr "Frierend!%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "Taub!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "LÀrm %d" - #: src/sidebar.cpp msgid "Parched" msgstr "Verdurstend" @@ -176581,10 +177749,10 @@ msgstr "You repair %2$s von %1$s." msgid "Lost connection with the vehicle due to distance!" msgstr "Verbindung zum Fahrzeug aufgrund der Entfernung verloren!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "»BÄNG!«" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -177299,18 +178467,23 @@ msgstr "Sieht so aus, als hÀtte %1$s keinen %2$s mehr." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "%s macht einen langen Piepston." +msgid "the %s bang as it starts" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "%s macht ein vereinzeltes KlickgerÀusch" +msgid "the %s clicking once" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "%s macht ein schnelles KlickgerÀusch." +msgid "the %s rapidly clicking" +msgstr "" #: src/vehicle_use.cpp #, c-format @@ -177319,8 +178492,8 @@ msgstr "%s stottert rasch aus." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "%s macht ein grÀssliches ScheppergerÀusch." +msgid "the %s clanking and grinding" +msgstr "" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -177340,6 +178513,11 @@ msgstr "»Möööööp!«." msgid "You honk the horn, but nothing happens." msgstr "Du betÀtigst die Hupe, aber nichts passiert." +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "eine einfache Melodie, die aus den Lautsprechern plÀrrt." diff --git a/lang/po/es_AR.po b/lang/po/es_AR.po index af24d722005ea..9a938be1fcf8c 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.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+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" @@ -6854,6 +6854,21 @@ msgstr "" "Un abrigo de plástico con una capucha y dos bolsillos grandes. Protege de la" " lluvia." +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "parka de piel de tripas" +msgstr[1] "parkas de piel de tripas" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" +"Es un abrigo complicado hecho de intestinos abiertos y procesados cosidos, " +"valorado por los aborígenes del ártico por ser liviano e impermeable." + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -19796,34 +19811,34 @@ msgid "Spice" msgstr "Condimento" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" -msgstr[0] "riesling" -msgstr[1] "riesling" +msgid "Riesling" +msgid_plural "Riesling" +msgstr[0] "Riesling" +msgstr[1] "Riesling" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "Vino blanco espumante, hecho de la uva más noble del mundo." #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" -msgstr[0] "chardonnay" -msgstr[1] "chardonnay" +msgid "Chardonnay" +msgid_plural "Chardonnay" +msgstr[0] "Chardonnay" +msgstr[1] "Chardonnay" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "El vino más popular de Estados Unidos, y con razón." #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" -msgstr[0] "cabernet sauvignon" -msgstr[1] "cabernet sauvignon" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" +msgstr[0] "Cabernet Sauvignon" +msgstr[1] "Cabernet Sauvignon" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -19855,8 +19870,11 @@ msgstr[1] "whisky" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "¡Hecho de, por y para los verdaderos coroneles sureños!" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "" +"¡Es alcohol destilado de grano hecho de, por y para los verdaderos coroneles" +" sureños!" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -19866,8 +19884,12 @@ msgstr[1] "vodka" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "En la Rusia soviética, ¡el vodka te tomaba a vos!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" +"Es una bebida con alcohol, agua y no mucho más. En Estados Unidos, los " +"hombres hacen el vodka, pero en la Unión Soviética, el vodka hace al hombre." #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -19877,8 +19899,12 @@ msgstr[1] "gin" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "Tiene un olorcito a bayas del saúco, pero más que nada a alcohol." +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" +"Es una bebida con alcohol con gusto a bayas de enebro. Tiene poco aroma a " +"baya, y más que nada a alcohol." #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -19888,8 +19914,12 @@ msgstr[1] "ron" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "Si tomás esto te vas a sentir como un pirata. O no." +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "" +"Es alcohol destilado hecho de melaza fermentada. Si tomás esto te vas a " +"sentir como un pirata. O por ahí no." #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -19899,8 +19929,12 @@ msgstr[1] "tequila" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "¡No te comas el gusano! Pará, esta botella no tiene gusano." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "" +"Es una bebida alcohólica destilada, hecha con una suculenta planta de hojas " +"espinosas. ¡No te comas el gusano! Ah, pará, no hay gusano en esta botella." #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -20002,10 +20036,12 @@ msgstr[1] "té helado Long Island" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." msgstr "" -"Una mezcla de licores de sabor increíble y fuerte, que de alguna manera, " -"termina no teniendo el gusto de ninguno de ellos." +"Es una mezcla de licores de sabor increíble y fuerte, que de alguna manera, " +"termina no teniendo el gusto de ninguno de ellos. No contiene te, pero la " +"inclusión de bebida cola le da ese color parecido al te." #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -20013,8 +20049,12 @@ msgstr "trago destornillador" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "El trago favorito del mecánico borracho subrepticio." +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "" +"Es una mezcla de jugo de naranja y vodka. El trago favorito del mecánico " +"borracho subrepticio." #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -20048,10 +20088,11 @@ msgstr[1] "cerveza" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." msgstr "" -"Mejor tomarla fría, en un vaso de vidrio, con una lima... pero no tenés " -"tanta suerte." +"Es alcohol de grano con sabor a lúpulo. Es mejor tomarla fría, en un vaso de" +" vidrio, con una lima - pero no tenés tanta suerte." #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -20119,12 +20160,13 @@ msgstr[1] "aguardiente casero" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." msgstr "" -"El más fuerte, el más puro, el mejor aguardiente a la vieja escuela. " -"Garantiza que le hará olvidar todo acerca del cataclismo, o le devolvemos su" -" visión." +"El más fuerte, el más puro, el mejor aguardiente a la vieja escuela., " +"destilado de maíz y azúcar. Garantizamos que olvidará todo acerca del " +"cataclismo, o le devolvemos su visión." #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -20135,11 +20177,11 @@ msgstr[1] "cerveza pilsen europea" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." msgstr "" -"Una pilsener importada de Europa. Mejor tomarla fría, en vaso de vidrio - " -"pero no tenés tanta suerte." +"Es una cerveza lager importada de Europa. Mejor tomarla fría, en vaso de " +"vidrio - pero no tenés tanta suerte." #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -20193,7 +20235,7 @@ msgstr[1] "cerveza belga" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." msgstr "" "Es una cerveza sabrosa y sustanciosa elaborada por monjes en Bélgica. Mejor " @@ -20274,11 +20316,12 @@ msgstr "jote" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." msgstr "" -"Es vino con cola. No es tan feo como te podrías imaginar. Esta bebida es " -"bastante popular entre los jóvenes y/o los pobres en algunos países." +"Es una mezcla de vino con cola en partes iguales. No es tan feo como algunos" +" imaginan, y es muy popular entre los jóvenes y/o los pobres en algunos " +"países." #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -21510,8 +21553,15 @@ msgstr[1] "café" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "Es café. El ritual mañanero del mundo pre-apocalíptico." +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" +"El ritual mañanero del mundo preapocalíptico, que es creado desde los granos" +" de café con un proceso complejo de quitado de semillas, tostado, molido y " +"destilado. El café es sustancialmente más rico en cafeína que su rival, el " +"té." #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -21544,12 +21594,11 @@ msgstr[1] "leche condensada" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" -"Comida de terneros, apropiada para humanos adultos. Esta leche ha sido " -"endulzada y espesada, convirtiéndola en un ingrediente dulce para cualquier " -"comida." +"Es leche de vaca que ha sido endulzada y parcialmente deshidratada para " +"incrementar mucho su vida útil." #: lang/json/COMESTIBLE_from_json.py msgid "cream soda" @@ -21616,8 +21665,12 @@ msgstr "bebida energizante" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "Popular entre aquellos que necesitan quedarse hasta tarde trabajando." +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" +"Es una bebida con mucha cafeína. Las bebidas energizantes son populares " +"entre aquellos que necesitan quedarse hasta tarde trabajando." #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -21745,9 +21798,11 @@ msgstr "café con leche" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." msgstr "" -"El café con leche es casi la bebida oficial de la mañana en varios países." +"Es una mezcla de café y leche. Ha sido la bebida estatal de Rhode Island " +"desde 1993." #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -21755,11 +21810,8 @@ msgstr "té con leche" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "" -"Usualmente, se consume a la mañana, el té con leche es común en varios " -"países." +msgid "Hot tea with cold milk." +msgstr "Es té caliente con leche fría." #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -21871,8 +21923,12 @@ msgstr "té" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "Es té, la bebida de los caballeros, siempre." +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "" +"La bebida del caballero, hecha aplicando agua caliente a hojas de la planta " +"del té, Camellia sinensis." #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -21927,8 +21983,8 @@ msgstr "salsa de tomate" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "Es salsa de tomate, rica rica." +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "Es una salsa muy poco condimentada, hecha de tomates cocidos." #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -21949,8 +22005,12 @@ msgstr[1] "mayonesa" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "La vieja y querida mayonesa. Queda muy bien en los sánguches." +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "" +"Es una mezcla pegajosa de huevo, aceite y sal, tradicionalmente utilizada " +"para humedecer sánguches." #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -21958,8 +22018,8 @@ msgstr "ketchup" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "El viejo y querido ketchup. Queda muy bien en los panchos." +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "Es una pasta viscosa de tomate, sal y vinagre." #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -21969,8 +22029,12 @@ msgstr[1] "mostaza" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "La vieja y querida mostaza. Queda muy bien en las hamburguesas." +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" +"Es un condimento hecho con las semillas de la planta mostaza (Brassica o " +"Sinapsis), con vinagre, sal y especias." #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -22017,8 +22081,12 @@ msgstr[1] "vinagre" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "Un vinagre blanco muy agrio." +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" +"Es vinagre blanco y muy agrio. Esto es lo que obtenés si dejás fermentando " +"el alcohol por demasiado tiempo." #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -22039,10 +22107,13 @@ msgstr[1] "melazas" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." msgstr "" -"Un jarabe extremadamente azucarado que tiene el aspecto de la brea, con un " -"pequeño regusto amargo." +"Es un jarabe extremadamente azucarado, producido al hervir reiteradamente el" +" jugo de la caña de azúcar o de la remolacha azucarera. Tiene un pequeño " +"regusto amargo." #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -23356,8 +23427,11 @@ msgstr[1] "jarabe de arce" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "Dulce y delicioso, verdadero jarabe de arce de Vermont." +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" +"Al hervir la savia de un arce, se concentra en un jarabe delicioso y dulce." #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -23665,13 +23739,13 @@ msgstr "" "rápido." #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" +msgid "deep-fried chicken" msgstr "pollo frito" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "Un puñado de pollo frito. Tan mal que es bueno." +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "Es pollo cocinado al sumergerse en aceite. Es grasiento y delicioso." #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -24086,8 +24160,12 @@ msgstr "fiambre" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "Deliciosos pedazos de fiambre. Se puede comer frío." +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" +"Es carne cocida, preservada y cortada en rebanadas finas para ser " +"convenientes para el armado de sánguches. Está bueno frío." #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -24096,11 +24174,12 @@ msgstr "bologna" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." msgstr "" -"Un fiambre que viene cortado en fetas. Su primer nombre no es Oscar. Se " -"puede comer frío." +"Antes conocido como salchicha Bologna, es carne preservada picada fina, en " +"rebanadas circulares. Su nombre de pila no es Oscar. Se puede comer fría." #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -24638,11 +24717,11 @@ msgstr "bologna especial" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." msgstr "" -"Un fiambre hecho con carne humana que viene en fetas. Su primer nombre " -"podría haber sido Oscar. Se puede comer frío." +"Es carne humana preservada y rebanada. Su nombre de pila podría haber sido " +"Oscar. Se puede comer fría... fría como el caníbal de sangre fría que sos." #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -25991,6 +26070,25 @@ msgstr "" " infecciones completamente, pero puede fortalecer la resistencia del cuerpo." " Una dosis dura doce horas." +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "antiácido" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "Te tomás un poco de antiácido." + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" +"Es un jarabe para la acidez, cremoso y rosa, que calma los estómagos " +"molestos y sofoca las ganas de vomitar; con una tapa a rosca que también " +"funciona como vasito de dosis." + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -27682,67 +27780,67 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Cítrico muy agrio. Se puede comer si querés." #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "mora azul" -msgstr[1] "moras azules" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "puñado de moras azules" +msgstr[1] "puñado de moras azules" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Son azules, pero eso no significa que sean de la realeza." #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "frutilla" -msgstr[1] "frutillas" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "puñado de frutillas" +msgstr[1] "puñado de frutillas" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Es una baya sabrosa y jugosa. A menudo crece silvestre en los campos." #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "arándano" -msgstr[1] "arándanos" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "puñado de arándanos" +msgstr[1] "puñado de arándanos" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Arándanos rojos y agrios. Buenos para la salud." #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "frambuesa" -msgstr[1] "frambuesas" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "puñado de frambuesas" +msgstr[1] "puñado de frambuesas" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Una frambuesa roja y dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "arándano agrio" -msgstr[1] "arándanos agrios" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "puñado de arándanos agrios" +msgstr[1] "puñado de arándanos agrios" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Son arándanos agrios, a menudo confundidos con las moras azules." #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "mora" -msgstr[1] "moras" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "puñado de moras" +msgstr[1] "puñado de moras" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -27752,12 +27850,12 @@ msgstr "" " por tener el sabor más fuerte de todas las variedades del mundo." #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "baya del saúco" -msgstr[1] "bayas del saúco" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "puñado de bayas del saúco" +msgstr[1] "puñado de bayas del saúco" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -27765,12 +27863,12 @@ msgstr "" "buenísimas cuando se cocinan." #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" -msgstr[0] "escaramujo" -msgstr[1] "escaramujos" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" +msgstr[0] "puñado de escaramujos" +msgstr[1] "puñado de escaramujos" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Es el fruto de una flor de rosa polinizada." @@ -27807,12 +27905,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Una fruta cítrica, cuyo gusto va desde lo agrio hasta lo semidulce." #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "cereza" -msgstr[1] "cerezas" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "puñado de cerezas" +msgstr[1] "puñado de cerezas" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Una fruta dulce y roja que crece en árboles." @@ -27830,12 +27928,12 @@ msgstr "" "digestión." #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "uva" -msgstr[1] "uvas" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "puñado de uvas" +msgstr[1] "puñado de uvas" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Es un racimo de jugosas uvas." @@ -27888,12 +27986,12 @@ msgid "A large and very sweet fruit." msgstr "Una fruta grande y muy dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "zarzamora" -msgstr[1] "zarzamoras" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "puñado de zarzamoras" +msgstr[1] "puñado de zarzamoras" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Un primo oscuro de la frambuesa." @@ -27940,10 +28038,12 @@ msgstr "" " delicioso." #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "damasco" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "puñado de damascos" +msgstr[1] "puñado de damascos" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Una fruta de cáscara suave, parecida al durazno." @@ -28005,8 +28105,8 @@ msgstr "repollo" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "Es el cogollo sustancioso de un crocante repollo blanco." +msgid "Crisp white cabbage." +msgstr "Es un repollo blanco y crujiente." #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -28102,8 +28202,8 @@ msgstr "pepino" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "Es de la familia de las calabazas, no es sabroso pero es muy jugoso." +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "Es de la familia de las calabazas. No es sabroso pero es muy jugoso." #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -28587,6 +28687,10 @@ msgstr[1] "semillas de zarzamora" msgid "Some blackberry seeds." msgstr "Son unas semillas de zarzamora." +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "zarzamora" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -28598,6 +28702,10 @@ msgstr[1] "semillas de mora azul" msgid "Some blueberry seeds." msgstr "Son unas semillas de mora azul." +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "mora azul" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -28609,6 +28717,10 @@ msgstr[1] "semillas de arándano" msgid "Some cranberry seeds." msgstr "Son unas semillas de arándano." +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "arándano" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -28620,6 +28732,10 @@ msgstr[1] "semillas de arándano agrio" msgid "Some huckleberry seeds." msgstr "Son unas semillas de arándano agrio." +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "arándano agrio" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -28631,6 +28747,10 @@ msgstr[1] "semillas de mora" msgid "Some mulberry seeds." msgstr "Son unas semillas de mora." +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "mora" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -28642,6 +28762,10 @@ msgstr[1] "semillas de bayas del saúco" msgid "Some elderberry seeds." msgstr "Son unas semillas de bayas del saúco." +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "baya del saúco" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -28653,6 +28777,10 @@ msgstr[1] "semillas de frambuesa" msgid "Some raspberry seeds." msgstr "Son unas semillas de frambuesa." +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "frambuesa" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -28664,6 +28792,10 @@ msgstr[1] "semillas de frutilla" msgid "Some strawberry seeds." msgstr "Son unas semillas de frutilla." +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "frutilla" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -28675,6 +28807,10 @@ msgstr[1] "semillas de uva" msgid "Some grape seeds." msgstr "Son unas semillas de uva." +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "uva" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -31919,6 +32055,21 @@ msgstr[1] "tambores de residuos peligrosos" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "Es un tambor amarillo hecho para almacenar las sustancias peligrosas." +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "maceta para huerta" +msgstr[1] "macetas para huerta" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" +"Es una maceta especial para plantar, con palitos que mantienen la planta en " +"condiciones confortables para obtener su máxima producción." + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -36100,11 +36251,10 @@ msgstr[1] "piedras en medias" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." +msgid "A pair of nested socks filled with a stone. A true weapon of despair." msgstr "" -"Es una media con una piedra atada en la punta. Una verdadera arma de último " -"recurso." +"Son un par de medias juntas, con una piedra adentro. Una verdadera arma en " +"momentos de desesperación." #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -39059,6 +39209,17 @@ msgstr[1] "Zui Quan y Vos" msgid "A complete guide to Zui Quan." msgstr "Una guía completa para el Zui Quan." +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "El Camino de la Lanza" +msgstr[1] "El Camino de la Lanza" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "Es una guía completa para el Sōjutsu." + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -41358,6 +41519,409 @@ msgid_plural "belt ammo links" msgstr[0] "unión metálica de cinta cargadora" msgstr[1] "uniones metálicas de cinta cargadora" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "maceta para huerta (con tomate)" +msgstr[1] "maceta para huerta (con tomates)" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "¡Los tomates están listos para cosechar!" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "Está creciendo rápidamente." + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando tomates. Cuando están maduros, " +"necesitás usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "maceta para huerta (con tomate maduro)" +msgstr[1] "macetas para huerta (con tomates maduros)" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" +"Es una maceta para huerta con tomate listo para ser cosechado. Desarmalo " +"para cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "maceta para huerta (con trigo)" +msgstr[1] "maceta para huerta (con trigo)" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "El trigo está listo para cosechar." + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "El trigo está creciendo rápidamente." + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando trigo. Cuando esté maduro, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "macetas para huerta (con trigo maduro)" +msgstr[1] "maceta para huerta (con trigo maduro)" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" +"Es una maceta para huerta con trigo listo para cosechar. Desarmalo para " +"cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "maceta para huerta (con lúpulo)" +msgstr[1] "maceta para huerta (con lúpulo)" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "¡El lúpulo está listo para cosechar!" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando lúpulo. Cuando esté maduro, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "maceta para huerta (con lúpulo maduro)" +msgstr[1] "macetas para huerta (con lúpulo maduro)" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" +"Es una maceta para huerta con lúpulo listo para ser cosechado. Desarmalo " +"para cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "maceta para huerta (con alforfón)" +msgstr[1] "maceta para huerta (con alforfón)" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando alforfón. Cuando esté maduro, necesitás" +" usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "maceta para huerta (con alforfón maduro)" +msgstr[1] "macetas para huerta (con alforfón maduro)" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" +"Es una maceta para huerta con alforfón listo para ser cosechado. Desarmalo " +"para cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "maceta para huerta (con brócoli)" +msgstr[1] "maceta para huerta (con brócoli)" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando brócoli. Cuando esté maduro, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "maceta para huerta (con brócoli maduro)" +msgstr[1] "macetas para huerta (con brócoli maduro)" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" +"Es una maceta para huerta con brócoli listo para ser cosechado. Desarmalo " +"para cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "maceta para huerta (con avena)" +msgstr[1] "maceta para huerta (con avena)" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando avena. Cuando esté madura, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "maceta para huerta (con avena madura)" +msgstr[1] "macetas para huerta (con avena madura)" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" +"Es una maceta para huerta con avena lista para ser cosechada. Desarmala para" +" cosecharla." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "maceta para huerta (con cebada)" +msgstr[1] "maceta para huerta (con cebada)" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando cebada. Cuando esté madura, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "maceta para huerta (con cebada madura)" +msgstr[1] "macetas para huerta (con cebada madura)" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" +"Es una maceta para huerta con cebada lista para ser cosechada. Desarmala " +"para cosecharla." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "maceta para huerta (con zanahoria)" +msgstr[1] "maceta para huerta (con zanahoria)" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando zanahoria. Cuando esté madura, " +"necesitás usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "maceta para huerta (con zanahoria madura)" +msgstr[1] "macetas para huerta (con zanahoria madura)" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" +"Es una maceta para huerta con zanahoria lista para ser cosechada. Desarmala " +"para cosecharla." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "maceta para huerta (con algodón)" +msgstr[1] "maceta para huerta (con algodón)" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando algodón. Cuando esté maduro, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "maceta para huerta (con algodón maduro)" +msgstr[1] "macetas para huerta (con algodón maduro)" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" +"Es una maceta para huerta con algodón listo para ser cosechado. Desarmalo " +"para cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "maceta para huerta (con repollo)" +msgstr[1] "maceta para huerta (con repollo)" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando repollo. Cuando esté maduro, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "maceta para huerta (con repollo maduro)" +msgstr[1] "macetas para huerta (con repollo maduro)" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" +"Es una maceta para huerta con repollo listo para ser cosechado. Desarmalo " +"para cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "maceta para huerta (con pepino)" +msgstr[1] "maceta para huerta (con pepino)" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando pepino. Cuando esté maduro, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "maceta para huerta (con pepino maduro)" +msgstr[1] "macetas para huerta (con pepino maduro)" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" +"Es una maceta para huerta con pepino listo para ser cosechado. Desarmalo " +"para cosecharlo." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "maceta para huerta (con ajo)" +msgstr[1] "maceta para huerta (con ajo)" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"Es una maceta para huerta cultivando ajo. Cuando esté madura, necesitás " +"usarla para prepararla para cosechar." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "maceta para huerta (con ajo maduro)" +msgstr[1] "macetas para huerta (con ajo maduro)" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" +"Es una maceta para huerta con ajo listo para ser cosechado. Desarmalo para " +"cosecharlo." + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -45176,6 +45740,15 @@ msgstr "" "Reemplaza armas y municiones por genéricos. Atención: puede tener problema " "con otros mods." +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "macetas para cultivo" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "Te permite cultivar algunas semillas en macetas." + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "Instalación Manual de Biónico" @@ -62861,6 +63434,17 @@ msgid_plural "inactive military robots" msgstr[0] "militaribot inactivo" msgstr[1] "militaribots inactivos" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" +"Es un militaribot sin energía con un arma 7.62mm y una picana eléctrica " +"integradas. Activá este objeto, con munición en tu inventario, para cargar y" +" desplegar el robot." + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -63968,6 +64552,10 @@ msgstr "¿Dejás de interactuar con el vehículo?" msgid "Stop training?" msgstr "¿Dejás de entrenar?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "¿Dejás de socializar?" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "¿Dejás de usar los primeros auxilios?" @@ -64136,10 +64724,18 @@ msgstr "¿Querés dejar de afeitarte?" msgid "Stop cutting your hair?" msgstr "¿Querés dejar de cortarte el pelo?" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "¿Dejás de jugar con tu mascota?" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "¿Dejás de intentar dormirte?" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "¿Dejás de descargar?" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express" @@ -67371,6 +67967,19 @@ msgstr "" "Etiqueta de IA para preguntar si queremos que un PNJ nos entrene. Si te " "aparece, esto es un bug." +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "Preguntar para socializar" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" +"Etiqueta de IA por prefuntarle recientemente a un PNJ para socializar. Si te" +" aparece, esto es un bug." + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "Pedir Información" @@ -68763,24 +69372,6 @@ msgstr "Te falta el aire." msgid "The ceiling collapses on you!" msgstr "¡El techo se te cae encima!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "Tratamiento de células madre" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "" -"Tus tripas se están moviendo de maneras extrañas a medida que el tratamiento" -" va haciendo efecto." - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "" -"Recibiste una inyección de puré de hueso y esmalte en tu globo ocular." - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "Tomaste anticonvulsivo" @@ -69357,6 +69948,15 @@ msgstr "Panacea" msgid "You feel incredible! You could take on the world!" msgstr "¡Te sentís increíble! ¡Podías apoderarte del mundo!" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "Estómago aliviado" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "Estás bajo los efectos de tener el estómago aliviado." + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "Descarga" @@ -84004,14 +84604,14 @@ msgid "Analyze blood" msgstr "Analizar sangre" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "Sr. Célula Madre" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "Tratamiento de Células Madre" +msgid "Bonesetting Treatment" +msgstr "Tratamiento de Huesero" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -85475,6 +86075,39 @@ msgstr "" "+Inteligencia armadura contra electricidad, +Percepción armadura contra " "fuego." +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Sōjutsu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" +"Sōjutsu, \"El Camino de la Lanza\", es el arte marcial japonés de luchar con" +" una lanza. El Sōjutsu se enfoca en mantener a los oponentes a la distancia " +"necesaria para mantener la ventaja en el combate." + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "Postura de Sōjutsu" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "Bloqueo adicional con armas de alcance mientras estás quieto" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "Ráfaga de Sōjutsu" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "Incrementa el daño cuando en movimiento pero sin bonus en el bloqueo" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "Manejo de Espada Medieval" @@ -89306,6 +89939,10 @@ msgstr "Disfrutaste %s" msgid "Enjoyed a hot meal" msgstr "Disfrutaste una comida caliente" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "Disfrutaste la conversación" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "Música" @@ -89516,6 +90153,10 @@ msgstr "Recién Afeitado" msgid "Barfed" msgstr "Vomitado" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "Pasaste tiempo jugando con tu mascota" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "Encender un fuego" @@ -90717,6 +91358,21 @@ msgstr "" "Aunque igual vas a sufrir las penalidades por el dolor, a la vez vas a " "sentir placer." +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "Psicosis con Estimulantes" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" +"Tenés una historia única con los estimulantes (como el café o las " +"anfetaminas). Tolerás mucho más sin llegar a la sobredosis, pero si te " +"entregás demasiado, empezás a ver cosas..." + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -90871,10 +91527,10 @@ msgstr "Armas Cuerpo a cuerpo" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." msgstr "" "Has practicado luchar con armas. Empezás eligiendo una de estas prácticas: " -"Eskrima, Esgrima, Pencak Silat o Niten Ichi-Ryu." +"Eskrima, Esgrima, Pencak Silat, Niten Ichi-Ryu o Sōjutsu." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -91618,6 +92274,20 @@ msgstr "" "Tu cuerpo es extremadamente frágil. Tus máximos PV son un 75% menor que lo " "usual, y te curás mucho más lento. Es acumulativo con Mandíbula de Cristal." +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "Espiral Descendente Genético" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" +"Los sucesos del Cataclismo te han dañado el ADN a puntos irreparables. Mutás" +" de frecuentemente, y todas las mutaciones que recibís (de cualquier fuente)" +" serán negativas." + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "Piel Dura" @@ -97059,6 +97729,10 @@ msgstr "Apis" msgid "I'm bugged - I shouldn't talk to you." msgstr "Soy un error, un bug - No debería hablar con vos." +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "Mendigo" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -97420,6 +98094,30 @@ msgstr "Bandido" msgid "Psycho" msgstr "Psicópata" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "mendigo" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "Reena Sandhu" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "Dino Dave" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "Luo Meizhen" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "Brandon Garder" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "Yusuke Taylor" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "Saqueador" @@ -104207,6 +104905,134 @@ msgstr "" "robots comerciales, pero nunca pensaste que tu supervivencia iba a depender " "de eso." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "Ingeniero en Robótica" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"Eras uno de los ingenieros de nivel bajo en una fábrica de robótica. La " +"administración siempre te decía que poner lanzallamas o manhacks era " +"'innecesario' o 'muy peligroso', pero ahora no hay nadie que te detenga." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "Ingeniera en Robótica" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"Eras uno de los ingenieros de nivel bajo en una fábrica de robótica. La " +"administración siempre te decía que poner lanzallamas o manhacks era " +"'innecesario' o 'muy peligroso', pero ahora no hay nadie que te detenga." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "Prodigio en Robótica" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" +"Has estado construyendo robots desde que aprendiste a sostener una " +"soldadora, y no pensás dejar que el fin del mundo evite que eso siga " +"sucediendo." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "Prodigio en Robótica" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" +"Has estado construyendo robots desde que aprendiste a sostener una " +"soldadora, y no pensás dejar que el fin del mundo evite que eso siga " +"sucediendo." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "Adoptado por Robot" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" +"Durante los disturbios, un robot militar salió de la nada a rescatarte. Tal " +"vez piense que sos alguien importante, quién sabe." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "Adoptada por Robot" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" +"Durante los disturbios, un robot militar salió de la nada a rescatarte. Tal " +"vez piense que sos alguien importante, quién sabe." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "Robot Cazador" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" +"Le pagaste al hacker de tu barrio para que te construya un perro cazador " +"robótico. Es casi tan bueno como el real, aunque no responde bien a las " +"caricias." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "Robot Cazador" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" +"Le pagaste al hacker de tu barrio para que te construya un perro cazador " +"robótico. Es casi tan bueno como el real, aunque no responde bien a las " +"caricias." + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -114162,6 +114988,73 @@ msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "" "¿Sabías que la falta de agua te mata más rápido que la falta de descanso?" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" +"Sí, claro, ¡no pude evitar darme cuenta que tenés cerveza! Abramos una y " +"charlemos, , ¿cómo va?" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" +"Ah, definitivamente. ¿Qué tal una de esas cervezas que tenés encima? ¿Qué " +"onda vos?" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" +"¡Sí, convidame alguna de esas birras que veo que tenés y podemos conversar " +"todo lo que quieras! Es joda, ¿cómo va, ?" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "Ey, dale, , así descanso un rato, ¿cómo andás?" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "Sí dale, , ¿cómo va?" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "¡Dale, vamos a charlar un rato! ¿Todo bien?" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "¿Por qué no? ¿Cómo te va?" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "Me parece bien, ¿cómo va?" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "Puedo tomarme unos minutos, ¿cómo andan las cosas?" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "Dale,, ¿vos bien?" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "Bueno, ¿necesitas descargarte sobre algo?" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "¡Siempre dispuesto a una buena charla! Pero ¿por qué, estás bien?" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "OK, , así nos conocemos un poco más, ¿cómo la vas llevando?" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "Definitivamente, buena idea. ¿Cómo te trata esto?" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "maldición" @@ -115705,6 +116598,18 @@ msgstr "¿Esto es Reno? ¡Porque necesito verte morir!" msgid "You're going to pay for that, !" msgstr "¡Vas a pagar por eso, !" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "¡Callense ahí!" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "¿Escuchaste a alguien hablando?" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "¿Quién dijo eso?" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "Qué feo suena eso." @@ -115721,6 +116626,10 @@ msgstr "¿Escuchaste eso?" msgid "What's that noise?" msgstr "¿Qué es ese ruido?" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "¿Hay algo ahí?" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "Escucho algo moviéndose - parece un/a " @@ -115730,16 +116639,16 @@ msgid "What's that sound? I heard" msgstr "¿Qué es ese sonido? Escuché un/a " #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" -msgstr "¿Quién anda ahí? Escuché un/a " +msgid "What's there? I heard" +msgstr "¿Qué hay ahí? Escuché" #: lang/json/snippet_from_json.py msgid "Did you hear that? Sounded like" msgstr "¿Escuchaste eso? Parecía un/a " #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" -msgstr "¿Quién está haciendo ruido? Puedo escuchar el " +msgid "What is making that sound? I can hear the" +msgstr "¿Qué está haciendo ese ruido? Puedo escuchar el" #: lang/json/snippet_from_json.py msgid "Tell me about how you survived the cataclysm." @@ -115874,6 +116783,10 @@ msgstr "cadáver ambulante" msgid " " msgstr " " +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "muerto viviente" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "muerto vivo" @@ -115886,10 +116799,6 @@ msgstr "zombis" msgid "Z's" msgstr "Zs" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "muerto" - #: lang/json/snippet_from_json.py msgid " " msgstr " " @@ -119467,6 +120376,42 @@ msgstr "Vamos a intercambiar objetos." msgid "I can't leave the shelter without equipment." msgstr "No puedo salir del refugio sin equipamiento." +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +msgstr "Relajate y charlá conmigo un rato..." + +#: 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 " +"goes it ?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "No sé, buscar suministros o a otros supervivientes, supongo." @@ -120975,6 +121920,268 @@ msgstr "" "trabajo disponible. Completar misiones como contratista es una buena forma " "de hacerte conocido entre los hombres más poderosos que quedan en el mundo." +#: 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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "No." + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "¿Qué estás haciendo acá afuera?" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "¿Te puedo ayudar, alguacil?" @@ -125854,6 +127061,44 @@ msgstr "Le das un golpe de fase %s" msgid " phase-strikes %s" msgstr " le da un golpe de fase %s" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "desviar y contraatacar" @@ -134915,6 +136160,11 @@ msgstr "Terminaste de esperar." msgid "%s finishes with you..." msgstr "%s termina por vos..." +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "Das vueltas en la cama..." @@ -134990,6 +136240,11 @@ msgstr "Terminás de desenterrar %s." msgid "You finish filling up %s." msgstr "Terminás de rellenar %s." +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "Abrís tu equipo y te afeitás." @@ -134998,6 +136253,16 @@ msgstr "Abrís tu equipo y te afeitás." msgid "You give your hair a trim." msgstr "Te cortás un poco el pelo." +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "Desarmaste tu %s." + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "Descargás tu %s." + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "" @@ -136300,6 +137565,10 @@ msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "" "se achica y se agranda muy ligeramente a un ritmo regular, como si respirara" +#: src/artifact.cpp +msgid "dead" +msgstr "muerto" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "está muy frío al tacto" @@ -139179,12 +140448,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "ARCHIVO DAÑADO, PRESIONE UNA TECLA..." #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." msgstr "" -"La máquina te inyecta en el ojo la solución\n" -"de hueso molido y LSD." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -140283,6 +141549,62 @@ msgstr "Te hacés un festín con la dulce miel." msgid "You can't finish it all!" msgstr "¡No te lo podés terminar todo!" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "" + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "" + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "" + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "Te atiborrás de comida, preparándote para hibernar." @@ -140800,13 +142122,10 @@ msgstr "recetas que están memorizadas o no" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"Se busca por nombres por defecto. Algunos prefijos de un caracter se pueden usar con dos puntos (:) para buscar de otras maneras.\n" -"\n" -"Ejemplos:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -147102,6 +148421,10 @@ msgstr "Mostrar mensaje debug" msgid "Crash game (test crash handling)" msgstr "Error del juego (prueba de manejo de fallos)" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "Salir al Menú Principal" @@ -147452,22 +148775,25 @@ msgid "Underground" msgstr "Bajo tierra" #: src/game.cpp -msgid "Weather:" -msgstr "Clima:" - -#: src/game.cpp -msgid "Temperature:" -msgstr "Temperatura:" +msgid "Weather :" +msgstr "" #: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "Luna %s" +msgid "Temp :" +msgstr "" #: src/game.cpp msgid "Lighting:" msgstr "Luz: " +#: src/game.cpp +msgid "Deaf!" +msgstr "¡Sordo!" + +#: src/game.cpp +msgid "Sound: " +msgstr "" + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -147775,6 +149101,11 @@ msgstr "Tirar todos los objetos" msgid "Attach bag" msgstr "Conectar bolso" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "" + #: src/game.cpp msgid "Untie" msgstr "Desatar" @@ -147850,6 +149181,11 @@ msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "" "No hay espacio para eso en el %2$s de tu %1$s, ¡es demasiado voluminoso!" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "¿Seguro? ¿Matar al zombi esclavo?" @@ -148637,63 +149973,6 @@ msgstr "No tenés nada para descargar." msgid "You're not wielding anything." msgstr "No estás empuñando nada." -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "Ponés el/a %s en tu inventario." - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "¡El %s ya está vacío!" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "¡El líquido no puede ser descargado en su estado actual!" - -#: src/game.cpp -msgid "Unload what?" -msgstr "¿Qué querés descargar?" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "¡No podés descargar un %s!" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "¡No podés decargar un %s recargable!" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "Tu %s no tiene carga." - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "Tu %s no está cargado." - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "Desarmaste tu %s." - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "Descargás tu %s." - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "Recuperás %i de plutonio sin utilizar." - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "¡No podés quitar plutonio parcialmente agotado!" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -150215,10 +151494,6 @@ msgstr "Sí." msgid "Yes, and save game before sleeping." msgstr "Sí, y guardar el juego antes de dormir." -#: src/handle_action.cpp -msgid "No." -msgstr "No." - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "Por ahí quieras desactivar estos antes de dormirte." @@ -156708,13 +157983,8 @@ msgid "No music on device" msgstr "No hay música en el dispositivo" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "Receta: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" -msgstr "Ver receta en pantalla de tinta electrónica" +msgid "View recipes on E-ink screen" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters" @@ -156783,13 +158053,8 @@ msgid "You turned on music on your %s." msgstr "Encendés la música de tu %s." #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "Elegir receta para ver:" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "Cambiás la pantalla de tinta electrónica para ver la receta de %s." +msgid "List recipes:" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -160084,6 +161349,10 @@ msgstr "Destrozable. " msgid "Diggable. " msgstr "Cavable. " +#: src/map.cpp +msgid "Plowable. " +msgstr "" + #: src/map.cpp msgid "Rough. " msgstr "Irregular. " @@ -166805,7 +168074,7 @@ msgstr "¡Acá no hay un campamento de bando para recuperar!" msgid "%s has abandoned the camp." msgstr "%s ha abandonado el campamento." -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "puños" @@ -167043,6 +168312,16 @@ msgstr "%s te hizo un corte de pelo decente..." msgid "%s gives you a decent shave..." msgstr "%s te dio una afeitada decente..." +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "" + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -169320,13 +170599,13 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "Ejemplo: -caño,-pedazo,-acero" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" -msgstr "Buscar [c]ategoría, [m]aterial, o [q]-cualidad:" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" +msgstr "" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "Ejemplo: c:comida,m:hierro,q:martillar" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "" #: src/output.cpp msgid "unknown" @@ -169672,6 +170951,10 @@ msgstr "Capturar o liberar criatura" msgid "Load or unload a vehicle" msgstr "Cargar o descargar vehículo" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -170239,6 +171522,14 @@ msgstr "a vos mismo gritando!" msgid "The sound of your voice is almost completely muffled!" msgstr "¡El sonido de tu voz está casi totalmente amortiguado!" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "¡El sonido de tu voz está significativamente amortiguado!" @@ -170915,10 +172206,6 @@ msgstr "¿Por qué me estás siguiendo?" msgid "This place is dangerous, you shouldn't be here." msgstr "Este lugar es peligroso, no deberías estar acá." -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "¿Qué estás haciendo acá afuera?" - #: src/player.cpp msgid "That's not true, is it?" msgstr "Eso no es verdad, ¿o sí?" @@ -171850,6 +173137,53 @@ msgstr "¡No podés poner objetos acá!" msgid " can't place items here!" msgstr "¡ no puede poner los objetos acá!" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "Ponés el/a %s en tu inventario." + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "¡El %s ya está vacío!" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "¡El líquido no puede ser descargado en su estado actual!" + +#: src/player.cpp +msgid "Unload what?" +msgstr "¿Qué querés descargar?" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "¡No podés descargar un %s!" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "¡No podés decargar un %s recargable!" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "Tu %s no tiene carga." + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "Tu %s no está cargado." + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "Recuperás %i de plutonio sin utilizar." + +#: src/player.cpp +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." @@ -172330,6 +173664,10 @@ msgstr "Sentís que las tareas de %s de este nivel se han vuelto algo trivial." msgid "You resume your task." msgstr "Retomás tu tarea." +#: src/player.cpp +msgid "Weapon : fists" +msgstr "" + #: src/player.cpp msgid "Wield what?" msgstr "¿Qué querés empuñar?" @@ -173134,16 +174472,6 @@ msgstr "Sucumbiste a un ataque de asma." msgid "You wheeze and gasp for air." msgstr "Resoplás y jadeás intentando respirar." -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "" -"Sentis como si tus huesos fueron de goma mientras se van derritiendo y " -"armando nuevamente." - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "Sentís como si tus huesos se estuvieran derrumbando." - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "Te duele ligeramente la cabeza." @@ -173935,15 +175263,6 @@ msgstr "¡Mucho frío!%s" msgid "Freezing!%s" msgstr "¡Helando!%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "¡Sordo!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "Ruido %d" - #: src/sidebar.cpp msgid "Parched" msgstr "Muerto/a de sed" @@ -175602,10 +176921,10 @@ msgstr "Reparás el %2$s del %1$s." msgid "Lost connection with the vehicle due to distance!" msgstr "¡Perdiste conexión con el vehículo debido a la distancia!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "¡BANG!" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -176317,18 +177636,23 @@ msgstr "Parece que el/a %1$s se quedó sin %2$s." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "El %s hace un pitido largo." +msgid "the %s bang as it starts" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "El %s hace un chasquido solo." +msgid "the %s clicking once" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "El %s hace unos chasquidos rápidos." +msgid "the %s rapidly clicking" +msgstr "" #: src/vehicle_use.cpp #, c-format @@ -176337,8 +177661,8 @@ msgstr "El %s parece tartamudear y se apaga." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "El %s hace un terrible ruido metálico." +msgid "the %s clanking and grinding" +msgstr "" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -176358,6 +177682,11 @@ msgstr "¡BIIIP!" msgid "You honk the horn, but nothing happens." msgstr "Tocaste la bocina, pero no pasó nada." +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "una melodía simple resonando de los parlantes." diff --git a/lang/po/es_ES.po b/lang/po/es_ES.po index b6e70d5f60023..e6be9c0566222 100644 --- a/lang/po/es_ES.po +++ b/lang/po/es_ES.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Miguel de Dios Matias , 2019\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/es_ES/)\n" @@ -1652,6 +1652,8 @@ msgid "" "High purity methanol suitable for use in chemical reactions. Could be used " "in alcohol-burning stoves. Very toxic." msgstr "" +"Es metanol de alta pureza, útil para usar en reacciones químicas. Puede ser " +"utilizado como combustible en cocinas de alcohol. Muy tóxico." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "diesel" @@ -2375,6 +2377,8 @@ msgid "" "Jacketed .357 SIG ammunition. The .357 SIG round is a high velocity pistol " "cartridge, giving it a flatter trajectory than many handgun rounds." msgstr "" +"Es munición .357 SIG recubierta. El .357 SIG es un cartucho de pistola de " +"alta velocidad, lo que le da una trayectoria más recta que otras balas." #: lang/json/AMMO_from_json.py msgid ".357 SIG JHP" @@ -6755,6 +6759,19 @@ msgstr "" "Un abrigo de plástico con una capucha y dos bolsillos grandes. Protege de la" " lluvia." +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -19458,34 +19475,34 @@ msgid "Spice" msgstr "Condimento" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" -msgstr[0] "riesling" -msgstr[1] "rieslings" +msgid "Riesling" +msgid_plural "Riesling" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "Vino blanco espumante, hecho de la uva más noble del mundo." #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" -msgstr[0] "chardonnay" -msgstr[1] "chardonnays" +msgid "Chardonnay" +msgid_plural "Chardonnay" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "El vino más popular de Estados Unidos, y con razón." #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" -msgstr[0] "cabernet sauvignon" -msgstr[1] "cabernet sauvignons" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -19517,8 +19534,9 @@ msgstr[1] "whisky" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "¡Hecho de, por y para los verdaderos coroneles sureños!" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -19528,8 +19546,10 @@ msgstr[1] "vodka" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "En la Rusia soviética, ¡el vodka te tomaba a ti!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -19539,8 +19559,10 @@ msgstr[1] "gins" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "Tiene un olorcito a bayas del saúco, pero más que nada a alcohol." +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -19550,8 +19572,10 @@ msgstr[1] "ron" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "Si tomas esto te vas a sentir como un pirata. O no." +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -19561,8 +19585,10 @@ msgstr[1] "tequilas" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "¡No te comas el gusano! Espera, esta botella no tiene gusano." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -19664,10 +19690,9 @@ msgstr[1] "tés helados Long Island" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." msgstr "" -"Una mezcla de licores de sabor increíble y fuerte, que de alguna manera, " -"termina no teniendo el gusto de ninguno de ellos." #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -19675,8 +19700,10 @@ msgstr "cóctel destornillador" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "La bebida favorito del mecánico borracho subrepticio." +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -19710,10 +19737,9 @@ msgstr[1] "cervezas" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." msgstr "" -"Mejor beberla fría, en un vaso de cristal, con una lima... pero no tienes " -"tanta suerte." #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -19781,12 +19807,10 @@ msgstr[1] "aguardientes caseros" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." msgstr "" -"El más fuerte, el más puro, el mejor aguardiente a la vieja escuela. " -"Garantiza que le hará olvidar todo acerca del cataclismo, o le devolvemos su" -" visión." #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -19797,11 +19821,9 @@ msgstr[1] "cervezas pilsen europea" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." msgstr "" -"Una pilsener importada de Europa. Mejor beberla fría, en vaso de cristal - " -"pero no tienes tanta suerte." #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -19855,11 +19877,9 @@ msgstr[1] "cervezas belgas" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." msgstr "" -"Es una cerveza sabrosa y abundante elaborada por monjes en Bélgica. Mejor " -"beberla en un cáliz." #: lang/json/COMESTIBLE_from_json.py msgid "imperial stout" @@ -19936,12 +19956,9 @@ msgstr "kalimotxo" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." msgstr "" -"Es vino con refresco de cola. No es tan cutre como te podrías imaginar. Esta" -" bebida es bastante popular entre los jóvenes y/o los pobres en algunos " -"países." #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -21125,8 +21142,11 @@ msgstr[1] "café" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "Es café. El ritual mañanero del mundo pre-apocalíptico." +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -21159,8 +21179,8 @@ msgstr[1] "leche condensada" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -21230,8 +21250,10 @@ msgstr "bebida energética" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "Popular entre aquellos que necesitan quedarse hasta tarde trabajando." +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -21357,9 +21379,9 @@ msgstr "café con leche" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." msgstr "" -"El café con leche es casi la bebida oficial de la mañana en varios países." #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -21367,11 +21389,8 @@ msgstr "té con leche" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." +msgid "Hot tea with cold milk." msgstr "" -"Usualmente, se consume a la mañana, el té con leche es común en varios " -"países." #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -21482,8 +21501,10 @@ msgstr "te" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "Es té, la bebida de los caballeros, siempre." +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -21538,8 +21559,8 @@ msgstr "salsa de tomate" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "Es salsa de tomate, rica rica." +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -21560,8 +21581,10 @@ msgstr[1] "mayonesa" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "La vieja y querida mayonesa. Queda muy bien en los sandwiches." +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -21569,8 +21592,8 @@ msgstr "ketchup" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "El viejo y querido ketchup. Queda muy bien en los perritos calientes." +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -21580,8 +21603,10 @@ msgstr[1] "mostaza" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "La vieja y querida mostaza. Queda muy bien en las hamburguesas." +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -21628,8 +21653,10 @@ msgstr[1] "vinagre" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "Un vinagre blanco muy agrio." +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -21650,10 +21677,10 @@ msgstr[1] "melazas" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." msgstr "" -"Un jarabe extremadamente azucarado que tiene el aspecto de la brea, con un " -"pequeño regusto amargo." #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -21696,7 +21723,7 @@ msgstr "huevo de gallina" #: lang/json/COMESTIBLE_from_json.py msgid "grouse egg" -msgstr "" +msgstr "huevo de urogallo" #: lang/json/COMESTIBLE_from_json.py msgid "crow egg" @@ -22943,8 +22970,10 @@ msgstr[1] "jarabe de arce" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "Dulce y delicioso, verdadero jarabe de arce de Vermont." +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -23243,13 +23272,13 @@ msgstr "" "rápido." #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" -msgstr "pollo bien frito" +msgid "deep-fried chicken" +msgstr "" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "Un puñado de pollo frito. Tan mal que es bueno." +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -23656,8 +23685,10 @@ msgstr "fiambre" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "Deliciosos pedazos de fiambre. Se puede comer frío." +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -23666,11 +23697,10 @@ msgstr "bolonia" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." msgstr "" -"Un fiambre que viene cortado en lochas. Su primer nombre no es Oscar. Se " -"puede comer frío." #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -24202,11 +24232,9 @@ msgstr "bolonia especial" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." msgstr "" -"Un fiambre hecho con carne humana que viene en lochas. Su primer nombre " -"podría haber sido Oscar. Se puede comer frío." #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -25539,6 +25567,22 @@ msgid "" "it boosts the body's resistance against them. One dose lasts twelve hours." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "" + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -27166,67 +27210,67 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Cítrico muy agrio. Se puede comer si quieres." #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "arándano" -msgstr[1] "arándanos" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Son azules, pero eso no significa que sean de la realeza." #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "fresa" -msgstr[1] "fresas" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Es una baya sabrosa y jugosa. A menudo crece silvestre en los campos." #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "arándanos rojos" -msgstr[1] "arándanos rojos" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Arándanos rojos y agrios. Buenos para la salud." #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "frambuesa" -msgstr[1] "frambuesas" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Una frambuesa roja y dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -27234,23 +27278,23 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "baya del saúco" -msgstr[1] "bayas del saúco" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" msgstr[0] "" msgstr[1] "" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "" @@ -27287,12 +27331,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Una fruta cítrica, cuyo gusto va desde lo agrio hasta lo semidulce." #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "cereza" -msgstr[1] "cerezas" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Una fruta dulce y roja que crece en árboles." @@ -27310,12 +27354,12 @@ msgstr "" "digestión." #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "uva" -msgstr[1] "uvas" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "" @@ -27368,12 +27412,12 @@ msgid "A large and very sweet fruit." msgstr "Una fruta grande y muy dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "zarzamora" -msgstr[1] "zarzamoras" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Un primo oscuro de la frambuesa." @@ -27420,10 +27464,12 @@ msgstr "" " delicioso." #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "albaricoque" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Una fruta de cáscara suave, parecida al melocotón." @@ -27485,8 +27531,8 @@ msgstr "repollo" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "Es el cogollo abundante de un crujiente repollo blanco." +msgid "Crisp white cabbage." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -27582,8 +27628,8 @@ msgstr "pepino" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "Es de la familia de las calabazas, no es sabroso pero es muy jugoso." +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -28066,6 +28112,10 @@ msgstr[1] "semillas de zarzamora" msgid "Some blackberry seeds." msgstr "Algunas semillas de zarzamora." +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -28077,6 +28127,10 @@ msgstr[1] "semillas de arándano" msgid "Some blueberry seeds." msgstr "Son unas semillas de arándano." +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -28088,6 +28142,10 @@ msgstr[1] "semillas de arándanos rojos" msgid "Some cranberry seeds." msgstr "Son unas semillas de arándano rojo." +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -28099,6 +28157,10 @@ msgstr[1] "" msgid "Some huckleberry seeds." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -28110,6 +28172,10 @@ msgstr[1] "" msgid "Some mulberry seeds." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -28121,6 +28187,10 @@ msgstr[1] "" msgid "Some elderberry seeds." msgstr "Son unas semillas de bayas del saúco." +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -28132,6 +28202,10 @@ msgstr[1] "semillas de frambuesa" msgid "Some raspberry seeds." msgstr "Algunas semillas de frambuesa." +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -28143,6 +28217,10 @@ msgstr[1] "semillas de fresa" msgid "Some strawberry seeds." msgstr "Algunas semillas de fresa." +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -28154,6 +28232,10 @@ msgstr[1] "semillas de uva" msgid "Some grape seeds." msgstr "Algunas semillas de uva." +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -31297,6 +31379,19 @@ msgstr[1] "" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -35371,11 +35466,8 @@ msgstr[1] "piedras en calcetines" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." +msgid "A pair of nested socks filled with a stone. A true weapon of despair." msgstr "" -"Es una calcetín con una piedra atada en la punta. Una verdadera arma de " -"último recurso." #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -38234,6 +38326,17 @@ msgstr[1] "Zui Quan y tú" msgid "A complete guide to Zui Quan." msgstr "Una guía completa para el Zui Quan." +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -38297,8 +38400,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "sourdough starter" msgid_plural "sourdough starters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "masa madre" +msgstr[1] "masas madre" #. ~ Description for sourdough starter #: lang/json/GENERIC_from_json.py @@ -39864,7 +39967,7 @@ msgstr[1] "" #. ~ Description for lead battery plate #: lang/json/GENERIC_from_json.py msgid "An electrode plate from a lead-acid battery." -msgstr "" +msgstr "Es una placa de electrodos de una batería de plomo y ácido." #: lang/json/GENERIC_from_json.py msgid "forged sword" @@ -40416,6 +40519,361 @@ msgid_plural "belt ammo links" msgstr[0] "unión metálica de cinta cargadora" msgstr[1] "uniones metálicas de cinta cargadora" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -41390,8 +41848,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "broken assassin robot" msgid_plural "broken assassin robots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "asesinobot roto" +msgstr[1] "asesinobots rotos" #. ~ Description for broken assassin robot #: lang/json/GENERIC_from_json.py @@ -41676,8 +42134,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "broken advanced robot" msgid_plural "broken advanced robots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "robot avanzado roto" +msgstr[1] "robots avanzados rotos" #. ~ Description for broken advanced robot #: lang/json/GENERIC_from_json.py @@ -44085,6 +44543,15 @@ msgid "" "other gun mods." msgstr "" +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "" @@ -50034,6 +50501,9 @@ msgid "" "releases a puff of fungal spores. Who in their right mind would build such " "a thing?" msgstr "" +"Es un drone reconvertido para esparcir contaminantes alienígenas. Libera " +"periódicamente una nube de esporas fúngicas. ¿Quién en su sano juicio " +"querría construir esto?" #: lang/json/MONSTER_from_json.py msgid "watercannon turret" @@ -50502,6 +50972,10 @@ msgid "" "limit the effective range and accuracy. It makes for a good close range " "bodyguard." msgstr "" +"Es un robot militar reconvertido con un par de armas 9mm integradas. Las " +"múltiples armas le brindan alta velocidad de disparo, pero los sensores " +"atados con alambre limitan el rango efectivo y la precisión. Es un buen " +"guardaespaldas de corto alcance." #: lang/json/MONSTER_from_json.py msgid "robote deluxe" @@ -50769,6 +51243,8 @@ msgid "" "A battery compartment mod that allows using vehicle batteries and small " "storage batteries in regular tools." msgstr "" +"Es una modificación de compartimiento para batería que te permite utilizar " +"las baterías de vehículos y baterías pequeñas en herramientas comunes." #: lang/json/TOOL_ARMOR_from_json.py msgid "mining helmet" @@ -61073,6 +61549,14 @@ msgid_plural "inactive military robots" msgstr[0] "militaribot inactivo" msgstr[1] "militaribots inactivos" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -62132,6 +62616,10 @@ msgstr "¿Parar de interactuar con el vehículo?" msgid "Stop training?" msgstr "¿Parar de entrenar?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "¿Parar de usar los primeros auxilios?" @@ -62300,10 +62788,18 @@ msgstr "" msgid "Stop cutting your hair?" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "¿Dejás de intentar dormirte?" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express" @@ -62664,6 +63160,8 @@ msgid "" "The flesh on your head has been surgically replaced by a strong armor, " "protecting both your head and jaw regions." msgstr "" +"La carne de tu cabeza ha sido reemplazada quirúrgicamente con placas " +"resistentes, protegiéndote tanto la cabeza como la mandíbula." #: lang/json/bionic_from_json.py msgid "Alloy Plating - Legs" @@ -65435,6 +65933,17 @@ msgstr "" "Etiqueta de IA para preguntar si queremos que un PNJ nos entrene. Si te " "aparece, esto es un bug." +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "Pedir Información" @@ -66817,24 +67326,6 @@ msgstr "Te falta el aire." msgid "The ceiling collapses on you!" msgstr "¡El techo se te cae encima!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "Tratamiento de células madre" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "" -"Tus tripas se están moviendo de maneras extrañas a medida que el tratamiento" -" va haciendo efecto." - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "" -"Recibiste una inyección de puré de hueso y esmalte en tu globo ocular." - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "" @@ -67242,6 +67733,8 @@ msgid "" "You are under the influence of analgesic substances to relieve pain, but " "they may numb you a bit." msgstr "" +"Estás bajo los efectos de sustancias analgésicas para aliviar el dolor, pero" +" te pueden adormecer un poco." #: lang/json/effects_from_json.py msgid "Happy" @@ -67394,6 +67887,15 @@ msgstr "Panacea" msgid "You feel incredible! You could take on the world!" msgstr "" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "" + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "Descarga" @@ -67535,6 +68037,9 @@ msgid "" " never to be seen again. Attempts to locate him were called off when one of" " the searchers disappeared without a trace." msgstr "" +"Se convirtió en cazador y trampeador. Eventualmente se fue en un viaje de " +"caza y nunca se lo volvió a ver. Los intentos por localizarlo fueron " +"suspendidos cuando uno de los que lo buscaban desapareció sin dejar rastro." #: lang/json/epilogue_from_json.py msgid "" @@ -70393,8 +70898,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "RM120c shotgun" msgid_plural "RM120c shotguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "escopeta RM120c" +msgstr[1] "escopetas RM120c" #: lang/json/gun_from_json.py msgid "" @@ -72024,8 +72529,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 P90" #: lang/json/gun_from_json.py msgid "" @@ -73163,8 +73668,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "handheld laser cannon" msgid_plural "handheld laser cannons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "cañón láser de mano" +msgstr[1] "cañones láser de mano" #: lang/json/gun_from_json.py msgid "" @@ -73869,8 +74374,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "general purpose machine gun" msgid_plural "general purpose machine guns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "subfusil de uso general" +msgstr[1] "subfusiles de uso general" #: lang/json/gun_from_json.py msgid "" @@ -76224,6 +76729,8 @@ msgid "" "A simple telescopic sight intended for use on a handgun. Increases weight " "but improves accuracy greatly." msgstr "" +"Es una simple mira telescópica diseñada para usar en pistolas. Incrementa el" +" peso pero mejora mucho la precisión." #: lang/json/gunmod_from_json.py msgid "LW red dot sight" @@ -79044,6 +79551,8 @@ msgid "" "This clothing is large enough to accommodate abnormally large mutated " "anatomy." msgstr "" +"Esta ropa es lo suficientemente grande como para acomodar tu anatomía " +"mutada anormalmente grande ." #: lang/json/json_flag_from_json.py msgid "" @@ -81143,7 +81652,7 @@ msgstr " Jardín Comunitario" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Community Garden. Grow your own food!" -msgstr "" +msgstr "Jardín Comunitario de . ¡Cultivá tu propia comida!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -81261,14 +81770,14 @@ msgid "Analyze blood" msgstr "Analizar sangre" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "Sr. Célula Madre" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "Tratamiento de Células Madre" +msgid "Bonesetting Treatment" +msgstr "" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -82455,7 +82964,7 @@ msgstr "Mayor daño a causa de la inteligencia." #: lang/json/martial_art_from_json.py msgid "Dragon's Flight" -msgstr "" +msgstr "Vuelo del Dragón" #. ~ Description of buff 'Dragon's Flight' for martial art 'Dragon Kung Fu' #: lang/json/martial_art_from_json.py @@ -82712,6 +83221,36 @@ msgstr "" "+Inteligencia armadura contra electricidad, +Percepción armadura contra " "fuego." +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "Manejo de Espada Medieval" @@ -83617,6 +84156,8 @@ msgid "" "I know it isn't pressing but the big corporations didn't get a chance to " "destroy the evidence yet." msgstr "" +"Ya sé que no es urgente pero las grandes corporaciones no tuvieron " +"oportunidad de destruir la evidencia." #: lang/json/mission_def_from_json.py msgid "" @@ -84562,6 +85103,8 @@ msgstr "" msgid "" "I'm sure you could find the design for the stills in home brewing books." msgstr "" +"Estoy seguro de que puedes encontrar el diseño para los destiladores en los " +"libros de destilación casera." #: lang/json/mission_def_from_json.py msgid "Do you have the stills?" @@ -85955,6 +86498,10 @@ msgstr "Disfrutaste %s" msgid "Enjoyed a hot meal" msgstr "Disfrutaste una comida caliente" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "Música" @@ -86165,6 +86712,10 @@ msgstr "Recién Afeitado" msgid "Barfed" msgstr "Vomitado" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "" @@ -87349,6 +87900,18 @@ msgstr "" "Aunque igual vas a sufrir las penalidades por el dolor, a la vez vas a " "sentir placer." +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -87503,10 +88066,8 @@ msgstr "Armas Cuerpo a cuerpo" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." msgstr "" -"Has practicado luchar con armas. Empiezas eligiendo una de estas prácticas: " -"Eskrima, Esgrima, Pencak Silat o Niten Ichi-Ryu." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -88236,6 +88797,17 @@ msgstr "" "Tu cuerpo es extremadamente frágil. Tus máximos PV son un 75% menor que lo " "usual, y te curas mucho más lento. Es acumulativo con Mandíbula de Cristal." +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "Piel Dura" @@ -91955,6 +92527,8 @@ msgid "" "You've *finally* sprouted a pair of arms from your midsection. They flail " "more-or-less uncontrollably, making you feel rather larval." msgstr "" +"Te han salido, por fin, unos brazos desde el abdomen. Se agitan más o menos " +"descontroladamente, lo que te hace sentir bastante como una larva." #: lang/json/mutation_from_json.py msgid "Insect Arms" @@ -93485,6 +94059,10 @@ msgstr "Apis" msgid "I'm bugged - I shouldn't talk to you." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -93818,6 +94396,30 @@ msgstr "Bandido" msgid "Psycho" msgstr "Psicópata" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "Saqueador" @@ -95363,7 +95965,7 @@ msgstr "cloaca abierta" #: lang/json/overmap_terrain_from_json.py msgid "private park" -msgstr "" +msgstr "parque privado" #: lang/json/overmap_terrain_from_json.py msgid "small dump" @@ -100533,6 +101135,112 @@ msgstr "" "robots comerciales, pero nunca pensaste que tu supervivencia iba a depender " "de eso." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -101505,6 +102213,8 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "A pantry will allow our cooks to store more non-perishables." msgstr "" +"Una despensa les permitirá a nuestros cocineros guardar más alimentos no " +"perecederos." #: lang/json/recipe_from_json.py msgid "" @@ -101580,6 +102290,7 @@ msgstr "Una forja expandida nos permitirá trabajar en proyectos más grandes." #: lang/json/recipe_from_json.py msgid "Proper steel work requires a bellows and quenching setup." msgstr "" +"El trabajo apropiado del acero necesita un fuelle y un equipo de templado." #: lang/json/recipe_from_json.py msgid "A separate workshop will allow us to do the most basic of machining." @@ -101789,7 +102500,7 @@ msgstr "" #: lang/json/recipe_group_from_json.py msgid " Craft: Sword, Crude" -msgstr "" +msgstr "Fabricar: Espada, Simple" #: lang/json/recipe_group_from_json.py msgid " Craft: Pot, Copper" @@ -101961,7 +102672,7 @@ msgstr "Fabricar: Armadura de Placas" #: lang/json/recipe_group_from_json.py msgid " Craft: Sword, Broadsword" -msgstr "" +msgstr "Fabricar: Espada, Ancha" #: lang/json/recipe_group_from_json.py msgid " Craft: Sword, Scimitar" @@ -110128,6 +110839,67 @@ msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "" "¿Sabías que la falta de agua te mata más rápido que la falta de descanso?" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "maldición" @@ -111670,6 +112442,18 @@ msgstr "" msgid "You're going to pay for that, !" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "Eso no suena bien." @@ -111686,6 +112470,10 @@ msgstr "¿Escuchaste eso?" msgid "What's that noise?" msgstr "¿Qué es ese ruido?" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "" @@ -111695,15 +112483,15 @@ msgid "What's that sound? I heard" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" -msgstr "¿Quién anda ahí? Escuché un/a " +msgid "What's there? I heard" +msgstr "" #: lang/json/snippet_from_json.py msgid "Did you hear that? Sounded like" msgstr "¿Escuchaste eso? Parecía un/a " #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" +msgid "What is making that sound? I can hear the" msgstr "" #: lang/json/snippet_from_json.py @@ -111839,6 +112627,10 @@ msgstr "" msgid " " msgstr " " +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "muerto vivo" @@ -111851,10 +112643,6 @@ msgstr "zombis" msgid "Z's" msgstr "Z's" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "muerto" - #: lang/json/snippet_from_json.py msgid " " msgstr " " @@ -114252,7 +115040,7 @@ msgstr "\"Ohh.\"" #: lang/json/speech_from_json.py msgid "\"Critical error.\"" -msgstr "" +msgstr "\"Error crítico.\"" #: lang/json/speech_from_json.py msgid "\"Shutting down.\"" @@ -115384,6 +116172,42 @@ msgstr "Vamos a intercambiar objetos." msgid "I can't leave the shelter without equipment." msgstr "No puedo salir del refugio sin equipamiento." +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "No sé, buscar suministros o a otros supervivientes, supongo." @@ -116826,6 +117650,268 @@ msgstr "" "trabajo disponible. Completar misiones como contratista es una buena forma " "de hacerte conocido entre los hombres más poderosos que quedan en el mundo." +#: 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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "No." + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "¿Qué estás haciendo acá afuera?" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "" @@ -120936,7 +122022,7 @@ msgstr "Brutalidad Silat" #: lang/json/technique_from_json.py #, python-format msgid "You send %s reeling backwards" -msgstr "" +msgstr "Mandás al %s dando vueltas hacia atrás" #: lang/json/technique_from_json.py msgid "Dirty Hit" @@ -121389,6 +122475,44 @@ msgstr "Le das un golpe de fase %s" msgid " phase-strikes %s" msgstr " le da un golpe de fase %s" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "desviar y contraatacar" @@ -123258,6 +124382,10 @@ msgid "" "the squirrels haven't gotten yet. You could cut it down with the right " "tools." msgstr "" +"Es un enorme árbol de hojas marchitas que pertenece al género 'Quercus', " +"comúnmente visto por toda la región de New England. Si lo mirás de cerca " +"puedes ver que tiene algunas bellotas que las ardillas no agarraron. Podrías" +" talarlo con las herramientas adecuadas." #. ~ Description for oak tree #: lang/json/terrain_from_json.py @@ -125591,7 +126719,7 @@ msgstr "Camión Militar" #: lang/json/vehicle_from_json.py msgid "Engine Test" -msgstr "" +msgstr "Prueba de Motor" #: lang/json/vehicle_from_json.py msgid "Rapid Destruction" @@ -126127,7 +127255,7 @@ msgstr "controles" #. ~ Description for controls #: lang/json/vehicle_part_from_json.py msgid "A steering wheel and accelerator and brake pedals." -msgstr "" +msgstr "Es un volante y pedales para acelerar y frenar." #. ~ Description for dashboard #: lang/json/vehicle_part_from_json.py @@ -126434,6 +127562,8 @@ msgid "" "A recharger for UPS devices. When turned on, it charges any UPS devices in " "the cargo space." msgstr "" +"Es un cargador para dispositivos UPS. Cuando está encendido, cargará " +"cualquier UPS que está en el compartimiento." #: lang/json/vehicle_part_from_json.py msgid "wing mirror" @@ -129195,7 +130325,7 @@ msgstr "¿Te vas a animar a profanar los restos mortales de otro ser humano?" #: src/activity_handlers.cpp msgid "You clench your teeth at the prospect of this gruesome job." -msgstr "" +msgstr "Apretás los dientes pensando en este desagradable trabajo." #: src/activity_handlers.cpp msgid "This will haunt you in your dreams." @@ -129677,6 +130807,11 @@ msgstr "Terminaste de esperar." msgid "%s finishes with you..." msgstr "%s termina contigo..." +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "" @@ -129752,6 +130887,11 @@ msgstr "Terminás de desenterrar %s." msgid "You finish filling up %s." msgstr "" +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "Abres tu equipo y te afeitás." @@ -129760,6 +130900,16 @@ msgstr "Abres tu equipo y te afeitás." msgid "You give your hair a trim." msgstr "Te cortas un poco el pelo." +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "Desmontar tu %s." + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "Descargás tu %s." + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "" @@ -131036,6 +132186,10 @@ msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "" "se achica y se agranda muy ligeramente a un ritmo regular, como si respirara" +#: src/artifact.cpp +msgid "dead" +msgstr "muerto" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "está muy frío al tacto" @@ -133256,7 +134410,7 @@ msgstr "Cosas: Biónicos" #: src/clzones.cpp msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "" +msgstr "Lugar para Módulos Compactos de Biónicos, también conocidos como MCB." #: src/clzones.cpp msgid "Loot: V.Parts" @@ -133867,12 +135021,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "ARCHIVO DAÑADO, PRESIONE UNA TECLA..." #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." msgstr "" -"La máquina te inyecta en el ojo la solución\n" -"de hueso molido y LSD." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -134937,6 +136088,62 @@ msgstr "Te haces un festín con la dulce miel." msgid "You can't finish it all!" msgstr "¡No te lo puedes terminar todo!" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "" + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "" + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "" + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "Te atiborrás de comida, preparándote para hibernar." @@ -135438,7 +136645,7 @@ msgstr "" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" @@ -141512,6 +142719,10 @@ msgstr "Mostrar mensaje de depuración" msgid "Crash game (test crash handling)" msgstr "" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "Salir al Menú Principal" @@ -141820,22 +143031,25 @@ msgid "Underground" msgstr "Bajo tierra" #: src/game.cpp -msgid "Weather:" -msgstr "Clima:" - -#: src/game.cpp -msgid "Temperature:" -msgstr "Temperatura:" +msgid "Weather :" +msgstr "" #: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "Luna %s" +msgid "Temp :" +msgstr "" #: src/game.cpp msgid "Lighting:" msgstr "Luz: " +#: src/game.cpp +msgid "Deaf!" +msgstr "¡Sordo!" + +#: src/game.cpp +msgid "Sound: " +msgstr "" + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -142143,6 +143357,11 @@ msgstr "Tirar todos los objetos" msgid "Attach bag" msgstr "Conectar bolso" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "" + #: src/game.cpp msgid "Untie" msgstr "Desatar" @@ -142218,6 +143437,11 @@ msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "" "No hay espacio para eso en el %2$s de tu %1$s, ¡Es demasiado voluminoso!" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "¿Seguro? ¿Matar al zombi esclavo?" @@ -142979,63 +144203,6 @@ msgstr "No tienes nada para descargar." msgid "You're not wielding anything." msgstr "No estás empuñando nada." -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "Pones el/la %s en tu inventario." - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "¡El %s ya está vacío!" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "" - -#: src/game.cpp -msgid "Unload what?" -msgstr "¿Qué quieres descargar?" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "¡No puedes descargar un %s!" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "¡No puedes decargar un %s recargable!" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "Tu %s no tiene carga." - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "Tu %s no está cargado." - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "Desmontar tu %s." - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "Descargás tu %s." - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "Recuperas %i de plutonio sin utilizar." - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "¡No puedes quitar plutonio parcialmente agotado!" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -144549,10 +145716,6 @@ msgstr "Sí." msgid "Yes, and save game before sleeping." msgstr "Sí, y guardar el juego antes de dormir." -#: src/handle_action.cpp -msgid "No." -msgstr "No." - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "Por ahí quieras desactivar estos antes de dormirte." @@ -145515,7 +146678,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "It should take about %d minutes to finish burning." -msgstr "" +msgstr "Debería tardar unos %d minutos en terminar de arder." #: src/iexamine.cpp #, c-format @@ -150940,13 +152103,8 @@ msgid "No music on device" msgstr "No hay música en el dispositivo" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "Receta: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" -msgstr "Ver receta en pantalla de tinta electrónica" +msgid "View recipes on E-ink screen" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters" @@ -151015,13 +152173,8 @@ msgid "You turned on music on your %s." msgstr "Enciendes la música de tu %s." #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "Elegir receta para ver:" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "Cambias la pantalla de tinta electrónica para ver la receta de %s." +msgid "List recipes:" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -154310,6 +155463,10 @@ msgstr "Destrozable. " msgid "Diggable. " msgstr "Cavable. " +#: src/map.cpp +msgid "Plowable. " +msgstr "" + #: src/map.cpp msgid "Rough. " msgstr "Irregular. " @@ -154707,6 +155864,7 @@ msgid "" "* Will attack your target and another one behind " "it" msgstr "" +"* Vas a atacar a tu objetivo y a otro detrás de él" #: src/martialarts.cpp #, c-format @@ -156215,6 +157373,8 @@ msgstr "No tienes ningún compañero para enviar..." msgid "" "Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" msgstr "" +"¿A quién querés enviar? [ COMBATE : SUPERVIVENCIA : " +"INDUSTRIA ]" #: src/mission_companion.cpp msgid "You choose to send no one..." @@ -159497,7 +160657,7 @@ msgstr "Varias heridas en los miembros" #: src/newcharacter.cpp msgid "No starting NPC" -msgstr "" +msgstr "Sin PNJ al comienzo" #: src/newcharacter.cpp msgid "Search by scenario name." @@ -160982,7 +162142,7 @@ msgstr "" msgid "%s has abandoned the camp." msgstr "" -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "puños" @@ -161220,6 +162380,16 @@ msgstr "%s te hizo un corte de pelo decente..." msgid "%s gives you a decent shave..." msgstr "%s te dio un afeitado decente..." +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "" + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -163454,13 +164624,13 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "Ejemplo: -tubo,-pedazo,-acero" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" msgstr "" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "Ejemplo: c:comida,m:hierro,q:martillar" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "" #: src/output.cpp msgid "unknown" @@ -163804,6 +164974,10 @@ msgstr "" msgid "Load or unload a vehicle" msgstr "Cargar o descargar vehículo" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -164162,7 +165336,7 @@ msgstr "%1$s era %2$s cuando sucedió el apocalipsis." #: src/player.cpp #, c-format msgid "%1$s died on %2$s." -msgstr "" +msgstr "%1$s murió el %2$s." #: src/player.cpp #, c-format @@ -164369,6 +165543,14 @@ msgstr "a ti mismo gritando!" msgid "The sound of your voice is almost completely muffled!" msgstr "" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "¡El sonido de tu voz está significativamente amortiguado!" @@ -165040,10 +166222,6 @@ msgstr "" msgid "This place is dangerous, you shouldn't be here." msgstr "" -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "¿Qué estás haciendo acá afuera?" - #: src/player.cpp msgid "That's not true, is it?" msgstr "Eso no es verdad, ¿o sí?" @@ -165967,6 +167145,53 @@ msgstr "¡No puedes poner objetos aquí!" msgid " can't place items here!" msgstr "¡ no puede poner los objetos aquí!" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "Pones el/la %s en tu inventario." + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "¡El %s ya está vacío!" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "" + +#: src/player.cpp +msgid "Unload what?" +msgstr "¿Qué quieres descargar?" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "¡No puedes descargar un %s!" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "¡No puedes decargar un %s recargable!" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "Tu %s no tiene carga." + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "Tu %s no está cargado." + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "Recuperas %i de plutonio sin utilizar." + +#: src/player.cpp +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." @@ -166444,6 +167669,10 @@ msgstr "" msgid "You resume your task." msgstr "Retomas tu tarea." +#: src/player.cpp +msgid "Weapon : fists" +msgstr "" + #: src/player.cpp msgid "Wield what?" msgstr "¿Qué quieres empuñar?" @@ -167241,16 +168470,6 @@ msgstr "Sucumbiste a un ataque de asma." msgid "You wheeze and gasp for air." msgstr "Resoplas y jadeas intentando respirar." -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "" -"Sientes como si tus huesos fueron de goma mientras se van derritiendo y " -"armando nuevamente." - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "Sientes como si tus huesos se estuvieran derrumbando." - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "Te duele ligeramente la cabeza." @@ -167609,7 +168828,7 @@ msgstr "'%c' para apuntar y disparar." #: src/ranged.cpp msgid "Regular Aim" -msgstr "" +msgstr "Apuntado Normal" #: src/ranged.cpp msgid "Careful Aim" @@ -168039,15 +169258,6 @@ msgstr "¡Mucho frío!%s" msgid "Freezing!%s" msgstr "¡Congelado!%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "¡Sordo!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "Ruido %d" - #: src/sidebar.cpp msgid "Parched" msgstr "Muerto de sed" @@ -168126,7 +169336,7 @@ msgstr "" #: src/sounds.cpp msgid "Your alarm clock finally wakes you up." -msgstr "" +msgstr "Tu reloj alarma consigue despertarte finalmente." #: src/sounds.cpp msgid "Your alarm clock wakes you up." @@ -169257,7 +170467,7 @@ msgstr "Elige miembro del grupo" #: src/veh_interact.cpp msgid "Clear assignment" -msgstr "" +msgstr "Quitar tareas" #: src/veh_interact.cpp msgid "There are no parts here to label." @@ -169700,10 +170910,10 @@ msgstr "Reparas el %2$s del %1$s." msgid "Lost connection with the vehicle due to distance!" msgstr "¡Perdiste conexión con el vehículo debido a la distancia!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "¡BANG!" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -170414,18 +171624,23 @@ msgstr "Parece que el/la %1$s se quedó sin %2$s." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "El %s hace un pitido largo." +msgid "the %s bang as it starts" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "El %s hace un chasquido solo." +msgid "the %s clicking once" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "El %s hace unos chasquidos rápidos." +msgid "the %s rapidly clicking" +msgstr "" #: src/vehicle_use.cpp #, c-format @@ -170434,8 +171649,8 @@ msgstr "El %s parece tartamudear y se apaga." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "El %s hace un terrible ruido metálico." +msgid "the %s clanking and grinding" +msgstr "" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -170455,6 +171670,11 @@ msgstr "¡BIIIP!" msgid "You honk the horn, but nothing happens." msgstr "Tocaste la bocina, pero no pasó nada." +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "una melodía simple resonando de los parlantes." diff --git a/lang/po/hu.po b/lang/po/hu.po index abe296bfe967f..e8f2195e5d3d5 100644 --- a/lang/po/hu.po +++ b/lang/po/hu.po @@ -1,13 +1,13 @@ # Translators: -# Daniel Szollosi-Nagy , 2018 +# Daniel Szollosi-Nagy , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Daniel Szollosi-Nagy , 2018\n" +"Last-Translator: Daniel Szollosi-Nagy , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/cataclysm-dda-translators/teams/2217/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1346,8 +1346,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "formaldehyde" msgid_plural "formaldehyde" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "formaldehid" +msgstr[1] "formaldehid" #. ~ Description for formaldehyde #: lang/json/AMMO_from_json.py @@ -1357,6 +1357,10 @@ msgid "" "embalming agent. Easily identifiable by its pungent odor. Terribly toxic, " "carcinogenic, and volatile." msgstr "" +"Az itt vízben oldott formaldehided a Kataklizma előtt széles körben " +"használták számos vegyi anyag gyártásánál, valamint holttestek " +"tartósításánál. Erős szagáról könnyen felismerhető. RendkívÃŒl mérgező, rákot" +" okoz, és illékony." #: lang/json/AMMO_from_json.py msgid "thermite" @@ -1478,8 +1482,8 @@ msgstr "Népszerű márkájú, kataklizma előtti mosópor." #: lang/json/AMMO_from_json.py msgid "nanomaterial canisters" msgid_plural "nanomaterial canisters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nanoanyag tok" +msgstr[1] "nanoanyag tok" #. ~ Description for nanomaterial canisters #: lang/json/AMMO_from_json.py @@ -1488,6 +1492,9 @@ msgid "" " in specifically engineered atomic scale configurations. A nanofabricator " "can assemble them into usable items." msgstr "" +"Szenet, vasat, titánt, rezet és egyéb elemeket tartalmazó acéltok, amelyet " +"kifejezetten atomi méretű konfigurációkhoz terveztek. Egy nanofabrikátor " +"hasznos tárgyakat készíthet belőle." #: lang/json/AMMO_from_json.py msgid "wood ash" @@ -1622,7 +1629,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "methanol" -msgstr "" +msgstr "metanol" #. ~ Description for methanol #: lang/json/AMMO_from_json.py @@ -1630,6 +1637,8 @@ msgid "" "High purity methanol suitable for use in chemical reactions. Could be used " "in alcohol-burning stoves. Very toxic." msgstr "" +"Vegyi reakcióknál használható, nagy tisztaságú metanol. Alkoholos tűzhelyben" +" is elégethető. RendkívÃŒl mérgező." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "diesel" @@ -3747,8 +3756,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "platinum" msgid_plural "platinum" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "platina" +msgstr[1] "platina" #: lang/json/AMMO_from_json.py msgid "lead" @@ -5599,8 +5608,8 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "light nomad gear" msgid_plural "light nomad gears" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "könnyű nomád viselet" +msgstr[1] "könnyű nomád viselet" #. ~ Description for light nomad gear #: lang/json/ARMOR_from_json.py @@ -5609,6 +5618,9 @@ msgid "" "summer travels. It offers less storage space and armor compared to regular " "nomad gear." msgstr "" +"A kataklizma előtti időkből származó hevenyészett, hosszú utazásra szánt " +"könnyű ruha. A hagyományos nomád viselethez képest kevesebb minden fél el " +"benne, és kevésbé is páncélozott." #: lang/json/ARMOR_from_json.py msgid "plated leather armor" @@ -6096,12 +6108,12 @@ msgstr[1] "szado-mazo maszk" #. ~ Use action menu_text for bondage mask. #: lang/json/ARMOR_from_json.py msgid "Zip up" -msgstr "" +msgstr "Becipzároz" #. ~ Use action msg for bondage mask. #: lang/json/ARMOR_from_json.py msgid "You zip the eyes and mouth of the bondage mask closed." -msgstr "" +msgstr "Becipzározod a szado-mazo maszk száját és szemnyílásait." #. ~ Description for bondage mask #: lang/json/ARMOR_from_json.py @@ -6115,18 +6127,18 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "bondage mask (zipped)" msgid_plural "bondage masks (zipped)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szado-mazo maszk (becipzározott)" +msgstr[1] "szado-mazo maszk (becipzározott)" #. ~ Use action menu_text for bondage mask (zipped). #: lang/json/ARMOR_from_json.py msgid "Unzip" -msgstr "" +msgstr "Kicipzároz" #. ~ Use action msg for bondage mask (zipped). #: lang/json/ARMOR_from_json.py msgid "You unzip the eyes and mouth of the bondage mask." -msgstr "" +msgstr "Kinyitod a szado-mazo maszk száját és szemnyílásait bezáró cipzárt." #. ~ Description for bondage mask (zipped) #: lang/json/ARMOR_from_json.py @@ -6134,6 +6146,8 @@ msgid "" "A tight mask made of black leather. The eyes and mouth have been zipped " "closed." msgstr "" +"Fekete bőrből készÃŒlt, szűk maszk. A szemnyílásokat és a szájat cipzárral " +"zárták be." #: lang/json/ARMOR_from_json.py msgid "bondage suit" @@ -6697,6 +6711,8 @@ msgid "" "A garishly-colored faux fur coat with a couple small pockets. Although not " "as warm as the natural fur, it gives you some of that unique flair." msgstr "" +"Rikító színű műszőrme kabát néhány zsebbel. Bár nem olyan meleg, mint a " +"természetes szőrme, ilyet más biztosan nem hord." #: lang/json/ARMOR_from_json.py msgid "sable coat" @@ -6741,6 +6757,21 @@ msgid "" msgstr "" "Műanyag kabát két nagy zsebbel és kapucnival. Védelmet nyújt az eső ellen." +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "bélbőr parka" +msgstr[1] "bélbőr parka" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" +"Cserzett és összevart belekből készített kabát, amelyet a sarkvidéken élők " +"könnyű súlya és vízhatlansága miatt kedvelnek." + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -7103,15 +7134,15 @@ msgstr "Teljes hosszúságú duster kabát szőrből, számos tároló zsebbel." #: lang/json/ARMOR_from_json.py msgid "faux fur duster" msgid_plural "faux fur dusters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "műszőrme duster kabát" +msgstr[1] "műszőrme duster kabát" #. ~ Description for faux fur duster #: lang/json/ARMOR_from_json.py msgid "" "A thick faux fur duster, falling below your knees. Has many pockets for " "storing things." -msgstr "" +msgstr "Térdig érő vastag duster kabát műszőrből, számos tároló zsebbel." #: lang/json/ARMOR_from_json.py msgid "leather duster" @@ -7660,6 +7691,9 @@ msgid "" "sightedness. The concave lenses diffuse the sunlight, rendering them " "useless for starting fires." msgstr "" +"Egy gentleman öltözékének elengedhetetlen kelléke. A rövidlátást is " +"korrigálja. A konkáv lencse szétszórja a napfényt, így tűzgyújtásra nem " +"használható." #: lang/json/ARMOR_from_json.py msgid "pair of reading glasses" @@ -8302,8 +8336,8 @@ msgstr "Állatok bundájából készített sapka. Extrém mértékben melegít." #: lang/json/ARMOR_from_json.py msgid "faux fur hat" msgid_plural "faux fur hats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "műszőrme sapka" +msgstr[1] "műszőrme sapka" #. ~ Description for faux fur hat #: lang/json/ARMOR_from_json.py @@ -8311,6 +8345,9 @@ msgid "" "A stylish hat made of faux fur. Like real fur, but without the suffering, " "if the tag is to be believed. Very warm." msgstr "" +"Műszőrméből készített divatos sapka. Olyan, mint ha igazi szőrméből készÃŒlt " +"volna, csak állati szenvedés nélkÃŒl - legalábbis ha az ember elhiszi, amit a" +" címkére írtak. Nagyon meleg." #: lang/json/ARMOR_from_json.py msgid "hard hat" @@ -10313,13 +10350,13 @@ msgstr "Szőrmével bélelt nagy nadrág." #: lang/json/ARMOR_from_json.py msgid "faux fur pants" msgid_plural "faux fur pantss" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "műszőrme nadrág" +msgstr[1] "műszőrme nadrág" #. ~ Description for faux fur pants #: lang/json/ARMOR_from_json.py msgid "A pair of long cotton pants lined with warm imitation fur." -msgstr "" +msgstr "Meleg műszőrmével bélelt textil nadrág." #: lang/json/ARMOR_from_json.py msgid "leather pants" @@ -11025,12 +11062,12 @@ msgstr[1] "hálózsák" #. ~ Use action menu_text for fur sleeping bag. #: lang/json/ARMOR_from_json.py msgid "Roll up" -msgstr "" +msgstr "Felteker" #. ~ Use action msg for sleeping bag. #: lang/json/ARMOR_from_json.py msgid "You roll up the sleeping bag, preparing it for transport." -msgstr "" +msgstr "Feltekered a hálózsákot és így az már szállítható." #. ~ Description for sleeping bag #: lang/json/ARMOR_from_json.py @@ -11040,19 +11077,19 @@ msgstr "Ez a nagyméretű hálózsák a fejed búbjáig betakar." #: lang/json/ARMOR_from_json.py msgid "rolled sleeping bag" msgid_plural "rolled sleeping bags" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "feltekert hálózsák" +msgstr[1] "feltekert hálózsák" #. ~ Use action menu_text for rolled sleeping bag. #. ~ Use action menu_text for rolled fur sleeping bag. #: lang/json/ARMOR_from_json.py msgid "Unroll" -msgstr "" +msgstr "Kiteker" #. ~ Use action msg for rolled sleeping bag. #: lang/json/ARMOR_from_json.py msgid "You unroll the sleeping bag." -msgstr "" +msgstr "Kitekered a hálózsákot." #. ~ Description for rolled sleeping bag #: lang/json/ARMOR_from_json.py @@ -11060,6 +11097,7 @@ msgid "" "A large sleeping bag rolled up for transport. It has a strap to carry it " "with." msgstr "" +"Szállításra alkalmas, feltekert hálózsák. A szállításhoz pánt van rajta." #: lang/json/ARMOR_from_json.py msgid "fur sleeping bag" @@ -11070,7 +11108,7 @@ msgstr[1] "szőrme hálózsák" #. ~ Use action msg for fur sleeping bag. #: lang/json/ARMOR_from_json.py msgid "You roll up the fur sleeping bag, preparing it for transport." -msgstr "" +msgstr "Feltekered a szőrme hálózsákot és így az már szállítható." #. ~ Description for fur sleeping bag #: lang/json/ARMOR_from_json.py @@ -11080,13 +11118,13 @@ msgstr "Nagyméretű, szőrmebélésű hálózsák. Kinek kell egyáltalán sát #: lang/json/ARMOR_from_json.py msgid "rolled fur sleeping bag" msgid_plural "rolled fur sleeping bags" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "feltekert szőrme hálózsák" +msgstr[1] "feltekert szőrme hálózsák" #. ~ Use action msg for rolled fur sleeping bag. #: lang/json/ARMOR_from_json.py msgid "You unroll up the fur sleeping bag." -msgstr "" +msgstr "Kitekered a szőrme hálózsákot." #. ~ Description for rolled fur sleeping bag #: lang/json/ARMOR_from_json.py @@ -11094,6 +11132,8 @@ msgid "" "A large sleeping bag lined with fur, rolled for transport. It has a strap " "to carry it with." msgstr "" +"Szállításra alkalmas, szőrmével bélelt, feltekert hálózsák. A szállításhoz " +"pánt van rajta." #: lang/json/ARMOR_from_json.py msgid "sleeveless duster" @@ -11128,8 +11168,8 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "sleeveless faux fur duster" msgid_plural "sleeveless faux fur dusters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ujjatlan műszőrme duster kabát" +msgstr[1] "ujjatlan műszőrme duster kabát" #. ~ Description for sleeveless faux fur duster #: lang/json/ARMOR_from_json.py @@ -11137,6 +11177,7 @@ msgid "" "A thick, sleeveless faux fur duster, falling below your knees. Has many " "pockets for storing things." msgstr "" +"Térdig érő, ujjatlan, vastag duster kabát műszőrből, számos tároló zsebbel." #: lang/json/ARMOR_from_json.py msgid "sleeveless leather duster" @@ -11201,8 +11242,8 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "sleeveless faux fur trenchcoat" msgid_plural "sleeveless faux fur trenchcoats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ujjatlan műszőrme viharkabát" +msgstr[1] "ujjatlan műszőrme viharkabát" #. ~ Description for sleeveless faux fur trenchcoat #: lang/json/ARMOR_from_json.py @@ -11210,6 +11251,8 @@ msgid "" "A thick faux fur trenchcoat without sleeves. Has plenty of storage space, " "and looks pretty good." msgstr "" +"Vastag műszőrmekabát, levágott ujjakkal. A sok zsebének köszönhetően " +"rengeteg a tárolóhelye, és még jól is néz ki." #: lang/json/ARMOR_from_json.py msgid "sleeveless leather trenchcoat" @@ -11947,8 +11990,8 @@ msgstr "Vastag szőrmekabát, számos zsebbel. Tárolásra nagyon jó." #: lang/json/ARMOR_from_json.py msgid "faux fur trenchcoat" msgid_plural "faux fur trenchcoats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "műszőrme viharkabát" +msgstr[1] "műszőrme viharkabát" #. ~ Description for faux fur trenchcoat #: lang/json/ARMOR_from_json.py @@ -11956,6 +11999,8 @@ msgid "" "A thick faux fur trenchcoat, lined with pockets. Great for storage, and " "makes you the talk of the town." msgstr "" +"Vastag műszőrme kabát, számos zsebbel. Tárolásra nagyon jó, és mindenki " +"megjegyzi, hogy milyen jól nézel ki benne." #: lang/json/ARMOR_from_json.py msgid "leather trenchcoat" @@ -12571,8 +12616,8 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "XL pot helmet" msgid_plural "XL pot helmets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "XL lábos sisak" +msgstr[1] "XL lábos sisak" #. ~ Description for XL pot helmet #: lang/json/ARMOR_from_json.py @@ -12580,6 +12625,8 @@ msgid "" "A huge makeshift helmet made from a canning pot. For the truly desperate " "man-bear-pig." msgstr "" +"Befőző lábosból hevenyészett, hatalmas méretű sisak. Az igazán kétségbeesett" +" ember-medve-disznó számára." #: lang/json/ARMOR_from_json.py msgid "survivor utility belt" @@ -15434,6 +15481,9 @@ msgid "" "allow you to make automated precise cuts and can 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_ITEM_from_json.py msgid "Anti-Glare Compensators CBM" @@ -15702,6 +15752,11 @@ msgid "" "creating fires as it moves and an explosion on impact. Close range use is " "highly discouraged." msgstr "" +"A törzsedbe egy magas teljesítményű iongenerátor kerÃŒlt beépítésre, amely " +"egy egyre jobban szétterjedő energiatöltetet vet ki. Az ebből létrejövő " +"robbanás lángra lobbantja a légköri oxigént, ezért mozgása közben tÃŒzeket " +"gyújt, valamint becsapódáskor felrobbant. A rövid távra való alkalmazása " +"ezért nem javasolt." #: lang/json/BIONIC_ITEM_from_json.py msgid "Synaptic Regeneration System CBM" @@ -18679,8 +18734,8 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Friendly, Humane Fashion" msgid_plural "Friendly, Humane Fashions" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ember- és állatbarát divat" +msgstr[1] "Ember- és állatbarát divat" #. ~ Description for Friendly, Humane Fashion #: lang/json/BOOK_from_json.py @@ -18690,6 +18745,10 @@ msgid "" "cover proudly states that the book is printed and distributed by the Gryphon" " Animal Rights Organization." msgstr "" +"A műszőrme felhasználási módjairól, valamint előnyeiről és hátrányairól " +"értekező oktatási könyv. Meglehetősen lelkes stílusban írták, a borító " +"pedig bÃŒszkén hirdeti, hogy a könyvet kiadja és terjeszti a Griffin " +"Állatvédelmi és -jogi Szervezet." #: lang/json/BOOK_from_json.py msgid "Sewing Techniques for Designers" @@ -19371,8 +19430,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "ether" msgid_plural "ether" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "éter" +msgstr[1] "éter" #. ~ Description for ether #: lang/json/COMESTIBLE_from_json.py @@ -19381,40 +19440,43 @@ msgid "" "anesthetic due to ether's more favorable therapeutic index, that is, a " "greater difference between an effective dose and a potentially toxic dose." msgstr "" +"A dietil éter általános használatú altatóként nagyrészt leváltotta a " +"kloroformot, mivel kedvezőbb a terapeutikus indexe, azaz nagyobb a kÃŒlönbség" +" a hatékony dózis és a mérgező dózis között." #: lang/json/COMESTIBLE_from_json.py msgid "Spice" msgstr "fűszer" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" -msgstr[0] "rizling" -msgstr[1] "rizling" +msgid "Riesling" +msgid_plural "Riesling" +msgstr[0] "Rizling" +msgstr[1] "Rizling" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "Gyöngyöző fehérbor, a világ legnemesebb szőlőjéből." #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" -msgstr[0] "chardonnay" -msgstr[1] "chardonnay" +msgid "Chardonnay" +msgid_plural "Chardonnay" +msgstr[0] "Chardonnay" +msgstr[1] "Chardonnay" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "Amerika legnépszerűbb fehérbora, és nem véletlenÃŒl." #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" -msgstr[0] "cabernet sauvignon" -msgstr[1] "cabernet sauvignon" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" +msgstr[0] "Cabernet Sauvignon" +msgstr[1] "Cabernet Sauvignon" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -19446,10 +19508,11 @@ msgstr[1] "whiskey" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" msgstr "" -"Igazi déli ezredeseknek, igazi déli ezredesekből, igazi déli ezredesek " -"által!" +"Igazi déli ezredeseknek főzött ital, igazi déli ezredesekből, igazi déli " +"ezredesek által!" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -19459,8 +19522,13 @@ msgstr[1] "vodka" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "Szovjet Oroszországban a vodka iszik meg téged!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" +"Alkoholból, vízből, és nem sok minden másból álló ital. Amerikában az " +"embertől származik a vodka, de Szovjet Oroszországban a vodkától lesz az " +"ember." #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -19470,8 +19538,12 @@ msgstr[1] "gin" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "Némi borókabogyó illata is van, de nagyrészt csak pia." +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" +"Borókabogyókkal ízesített alkoholos ital. Kevésbé bogyószagú, sokkal inkább " +"piaszagú." #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -19481,8 +19553,12 @@ msgstr[1] "rum" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "Ha ezt iszod, kalóznak érzed magad tőle. Vagy nem." +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "" +"Melasz fermentálásával készített égetett szesz. Ha ezt iszod, kalóznak " +"érzezheted magad tőle. Vagy nem." #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -19492,8 +19568,12 @@ msgstr[1] "tequila" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "Ne edd meg a kukacot! Ja, ebben az ÃŒvegben nincs is." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "" +"Húsos és tÃŒskés levelű növényből készített égetett szesz. A kukacot ne edd " +"meg! Várjál, ebben nincs is kukac." #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -19593,10 +19673,11 @@ msgstr[1] "Long Island iced tea" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." msgstr "" "HihetetlenÃŒl erős ízesítésű égetett szeszek egyvelege, de az egyik ízére sem" -" hasonlít." +" hasonlít. Tea ugyan nincs benne, de a kólától tea színe lett." #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -19604,8 +19685,11 @@ msgstr "screwdriver koktél" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "A burkoltan részeges iparos kedvenc itala." +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "" +"Narancslé és vodka keveréke. A rejtetten részeges melós kedvenc itala." #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -19638,9 +19722,11 @@ msgstr[1] "sör" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." msgstr "" -"Legjobb hidegen, pohárból és egy szelet limettával - de nincs ekkora mázlid." +"Komlóval ízesített búza alkohol. Legjobb hidegen, pohárból és egy szelet " +"limettával - de nincs ekkora mázlid." #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -19706,12 +19792,14 @@ msgstr[1] "moonshine" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." msgstr "" -"Csakis a legerősebb és legtisztább amerikai házipálinka az igazi. " -"Garantáltan elfeledteti veled ezt az egész kataklizma dolgot, de ha mégsem, " -"akkor visszajár a látásod." +"Csakis a legerősebb és legtisztább, kizárólag kukoricából és cukorból " +"égetett amerikai házipálinka az igazi. Garantáltan elfeledteti veled ezt az " +"egész kataklizma dolgot. Ha mégsem, akkor számla ellenében visszajár a " +"látásod." #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -19722,11 +19810,11 @@ msgstr[1] "európai pilzeni sör" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." msgstr "" -"Európából importált pilzeni sör. Legjobb hidegen, pohárból - de nincs ekkora" -" mázlid." +"Európából importált lager sör. Legjobb hidegen, pohárból - de nincs ekkora " +"mázlid." #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -19780,10 +19868,10 @@ msgstr[1] "belga sör" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." msgstr "" -"Belga szerzetesek által főzött világos, fehér ale. Serlegben illik " +"Belga szerzetesek által főzött ízletes és laktató sör. Serlegben illik " "felszolgálni." #: lang/json/COMESTIBLE_from_json.py @@ -19860,11 +19948,12 @@ msgstr "kalimotxo" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." msgstr "" -"Nem is olyan rossz, mint egyesek gondolnák, bizonyos országokban a fiatalok " -"vagy a szegények körében népszerű ez az ital." +"Bor és kóla egyenlő keveréke. Nem is olyan rossz, mint egyesek gondolnák, " +"bizonyos országokban a fiatalok vagy a szegények körében népszerű ez az " +"ital." #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -19932,7 +20021,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "sourdough bread" -msgstr "" +msgstr "kovászos kenyér" #. ~ Description for sourdough bread #: lang/json/COMESTIBLE_from_json.py @@ -19940,6 +20029,8 @@ msgid "" "Healthy and filling, with a sharper taste and thicker crust than yeast-only " "bread." msgstr "" +"Egészséges és laktató, a csak élesztőből készített kenyérnél élesebb ízzel " +"és vastagabb héjjal." #: lang/json/COMESTIBLE_from_json.py msgid "flatbread" @@ -20290,21 +20381,21 @@ msgstr "Frissen lemészárolt hús. Nyersen is meg lehet enni, de jobb megsÃŒtni #: lang/json/COMESTIBLE_from_json.py msgid "scrap of meat" msgid_plural "scraps of meat" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "húscafat" +msgstr[1] "húscafat" #. ~ Description for scrap of meat #: lang/json/COMESTIBLE_from_json.py msgid "" "This is a tiny scrap of edible meat. It's not much, but it'll do in a " "pinch." -msgstr "" +msgstr "Egy apró darab ehető húscafat. Nem sok, de jobb híján megteszi." #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vágóhídi hulladék" +msgstr[1] "vágóhídi hulladék" #. ~ Description for butchery refuse #: lang/json/COMESTIBLE_from_json.py @@ -20314,6 +20405,10 @@ msgid "" " isn't even worth thinking about, but disposing of it might be a concern as " "it could attract vermin." msgstr "" +"Fujj... Ez a koszból, bélsárból, kötőszövetből, és egyéb ehetetlen " +"részekből, például szőrből és karomból álló trutyi maradt a mészárlási " +"folyamat után. Nem is érdemes arra gondolni, hogy ehető lenne, viszont nem " +"ártana megszabadulni tőle, mert vonzza a kártevőket." #: lang/json/COMESTIBLE_from_json.py msgid "cooked meat" @@ -20325,12 +20420,14 @@ msgid "" "This is a chunk of freshly cooked meat. It's filling and nutritious, but " "unseasoned and a bit bland." msgstr "" +"Egy darab frissen sÃŒl hús. Laktató és tápláló, bár sótlan és ezért egy " +"kicsit ízetlen." #: lang/json/COMESTIBLE_from_json.py msgid "cooked scrap of meat" msgid_plural "cooked scraps of meat" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sÃŒlt húscafat" +msgstr[1] "sÃŒlt húscafat" #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" @@ -20343,6 +20440,9 @@ msgid "" "vitamins, but most people consider it a bit gross unless very carefully " "prepared." msgstr "" +"A belsőség nyers belső szervekből és belekből áll. Tele van nélkÃŒlözhetetlen" +" vitaminnal, ugyanakkor gondos feldolgozás nélkÃŒl az emberek nagy része " +"gusztustalannak tartja." #: lang/json/COMESTIBLE_from_json.py msgid "cooked offal" @@ -20357,6 +20457,9 @@ msgid "" "vitamins, but most people consider it a bit gross unless very carefully " "prepared." msgstr "" +"Frissen főtt belső szervek és belek. Tele van nélkÃŒlözhetetlen vitaminnal, " +"ugyanakkor gondos feldolgozás nélkÃŒl az emberek nagy része gusztustalannak " +"tartja." #: lang/json/COMESTIBLE_from_json.py msgid "pickled offal" @@ -20371,6 +20474,9 @@ msgid "" "essential vitamins, and although it looks like a lab specimen, it actually " "tastes pretty palatable." msgstr "" +"Sós vízben tartósított belső szervek és belek. Tele van nélkÃŒlözhetetlen " +"vitaminnal, ugyanakkor úgy néz ki, mint valami laborba való szövetminta. Bár" +" ronda, egészen ehető." #: lang/json/COMESTIBLE_from_json.py msgid "canned offal" @@ -20384,6 +20490,8 @@ msgid "" "Freshly cooked organ meat and entrails, preserved by canning. Unappetizing," " but filled with essential vitamins." msgstr "" +"Konzervált, frissen főzött zsigerek és egyéb állati belsőségek. Nem egy " +"élmény megenni, de teli van nélkÃŒlözhetetlen vitaminokkal." #: lang/json/COMESTIBLE_from_json.py msgid "stomach" @@ -20454,6 +20562,8 @@ msgid "" "Tasty meat that has been heavily smoked for preservation. It could be " "further smoked to dehydrate it completely." msgstr "" +"Ízletesre fÃŒstölt hús, jó sokáig eláll. Meg tovább lehetne fÃŒstölni az " +"összes nedvesség eltávolításához." #: lang/json/COMESTIBLE_from_json.py msgid "smoked fish" @@ -20467,6 +20577,8 @@ msgid "" "Tasty fish that has been heavily smoked for long term preservation. It " "could be further smoked to dehydrate it completely." msgstr "" +"Ízletesre fÃŒstölt hal, jó sokáig eláll. Meg tovább lehetne fÃŒstölni az " +"összes nedvesség eltávolításához." #: lang/json/COMESTIBLE_from_json.py msgid "smoked sucker" @@ -20478,12 +20590,14 @@ msgid "" "A heavily smoked portion of human flesh. Lasts for a long time and tastes " "pretty good, if you like that sort of thing." msgstr "" +"Egy erősen fÃŒstölt adag emberi hús. Nagyon sokáig megőrzi a minőségét, és " +"még az íze is elég jó, ha eszel ilyet." #: lang/json/COMESTIBLE_from_json.py msgid "piece of raw lung" msgid_plural "pieces of raw lung" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nyers tÃŒdődarab" +msgstr[1] "nyers tÃŒdődarab" #. ~ Description for piece of raw lung #: lang/json/COMESTIBLE_from_json.py @@ -20492,12 +20606,15 @@ msgid "" "quickly. It can be a delicacy if properly prepared - but if improperly " "prepared, it's a chewy lump of flavourless connective tissue." msgstr "" +"Egy állat tÃŒdejének egy része. Szivacsos, rózsaszín, és nagyon gyorsan " +"megromlik. Megfelelően elkészítve finomság is lehet belőle, egyébként " +"ízetlen kötőszövetek rágós masszája lesz." #: lang/json/COMESTIBLE_from_json.py msgid "cooked piece of lung" msgid_plural "cooked pieces of lung" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "főtt tÃŒdődarab" +msgstr[1] "főtt tÃŒdődarab" #. ~ Description for cooked piece of lung #: lang/json/COMESTIBLE_from_json.py @@ -20506,10 +20623,13 @@ msgid "" "tissue. It doesn't look any tastier than it did raw, but the parasites are " "all cooked out." msgstr "" +"Így elkészítve ez csupán ízetlen kötőszövetek rágós masszája. Semmivel se " +"néz ki jobban, mint amilyen nyersen volt, de legalább az összes parazitát " +"kisÃŒtötték belőle." #: lang/json/COMESTIBLE_from_json.py msgid "raw liver" -msgstr "" +msgstr "nyers máj" #. ~ Description for raw liver #: lang/json/COMESTIBLE_from_json.py @@ -20518,10 +20638,13 @@ msgid "" "the more vitamin rich parts of the animal. It is very good in sausages, but" " maybe a little less appetizing when cooked on its own." msgstr "" +"Egy állat mája. Bár sokan nem szeretik a mintázata miatt, a máj az állat " +"egyik leginkább vitamindús szerve. Kolbászba töltve nagyon jó, önmagában " +"kisÃŒtve talán kevésbé." #: lang/json/COMESTIBLE_from_json.py msgid "cooked liver" -msgstr "" +msgstr "főtt máj" #. ~ Description for cooked liver #: lang/json/COMESTIBLE_from_json.py @@ -20530,23 +20653,25 @@ msgid "" " you feel about the texture, but this is probably the least fancy way to do " "it." msgstr "" +"Teli B-vitaminnal! A főtt máj nem is rossz, ha túl tudod magadat tenni a " +"mintázatán, ugyanakkor ennél unalmasabban nem is lehet elkészíteni." #: lang/json/COMESTIBLE_from_json.py msgid "raw brains" msgid_plural "raw brains" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nyers agy" +msgstr[1] "nyers agy" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "" +msgstr "Egy állat agya. Nyersen talán nem kellene megenni..." #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" msgid_plural "cooked brains" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "főtt agy" +msgstr[1] "főtt agy" #. ~ Description for cooked brains #: lang/json/COMESTIBLE_from_json.py @@ -20554,10 +20679,12 @@ msgid "" "Now you can emulate those zombies you love so much! Preparing brain for " "eating is challenging, and this doesn't seem to be the best way to do it." msgstr "" +"Most már utánozhatod a zombikat, ha már annyira bírod őket! Nehéz ehetőre " +"elkészíteni az agyat, és talán ez nem is a legjobb módja." #: lang/json/COMESTIBLE_from_json.py msgid "raw kidney" -msgstr "" +msgstr "nyers vese" #. ~ Description for raw kidney #: lang/json/COMESTIBLE_from_json.py @@ -20565,19 +20692,21 @@ msgid "" "The kidney from an animal. Preparing it for cooking is a challenge unless " "you want the kitchen to smell strongly of urine." msgstr "" +"Egy állat veséje. Nehéz előkészíteni a főzésre, hacsak nem szeretnéd, hogy " +"az egész konyhának húgyszaga legyen." #: lang/json/COMESTIBLE_from_json.py msgid "cooked kidney" -msgstr "" +msgstr "főtt vese" #. ~ Description for cooked kidney #: lang/json/COMESTIBLE_from_json.py msgid "No, this is not beans." -msgstr "" +msgstr "Nem, ez nem bab." #: lang/json/COMESTIBLE_from_json.py msgid "raw sweetbread" -msgstr "" +msgstr "nyers borjúmirigy" #. ~ Description for raw sweetbread #: lang/json/COMESTIBLE_from_json.py @@ -20585,15 +20714,17 @@ msgid "" "Sweetbreads are the thymus or pancreas of an animal. These are a delicacy, " "if prepared properly." msgstr "" +"A borjúmirigy egy állat csecsemőmirigye vagy hasnyálmirigye. Megfelelően " +"elkészítve ínyencség." #: lang/json/COMESTIBLE_from_json.py msgid "cooked sweetbread" -msgstr "" +msgstr "főtt borjúmirigy" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py msgid "Normally a delicacy, it needs a little... something." -msgstr "" +msgstr "Általában ínyencség, de ebből valami hiányzik." #: lang/json/COMESTIBLE_from_json.py msgid "blood" @@ -20673,6 +20804,9 @@ msgid "" "used to make some stuff, like charcoal or glue. You could eat it, but it " "will poison you." msgstr "" +"Egy valamiféle természetellenes lény rothadt és törékeny csontja. Valamire " +"még jó lehet, például faszénnek vagy ragasztónak. Meg is tudnád enni, de " +"mérgező." #: lang/json/COMESTIBLE_from_json.py msgid "tainted fat" @@ -21013,8 +21147,11 @@ msgstr[1] "kávé" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "Kávé. A kataklizma előtti világ reggeli szertartása." +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -21047,8 +21184,8 @@ msgstr[1] "sűrített tej" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -21115,8 +21252,10 @@ msgstr "energiaital" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "Népszerű azok között, akik késő éjszakáig dolgoznak." +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -21238,8 +21377,9 @@ msgstr "tejeskávé" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." -msgstr "A tejeskávé gyakorlatilag több ország hivatalos reggeli itala." +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -21247,9 +21387,8 @@ msgstr "tejestea" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "Általában reggel isszák, a tejes tea sok országban népszerű." +msgid "Hot tea with cold milk." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -21357,8 +21496,10 @@ msgstr "tea" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "Tea, az úriemberek mindenkori itala." +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -21413,8 +21554,8 @@ msgstr "paradicsomszósz" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "Paradicsomból főzött szósz, de finom." +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -21435,8 +21576,10 @@ msgstr[1] "majonéz" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "Jó öreg majonéz, remek íze van a szendvicseken." +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -21444,8 +21587,8 @@ msgstr "ketchup" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "Jó öreg ketchup, remek íze van a hot-dogon." +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -21455,8 +21598,10 @@ msgstr[1] "mustár" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "Jó öreg mustár, remek íze van a hamburgeren." +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -21503,8 +21648,10 @@ msgstr[1] "ecet" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "Megrázóan savanyú fehér ecet." +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -21525,8 +21672,10 @@ msgstr[1] "melasz" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." -msgstr "RendkívÃŒl cukros, kátrányszerű szirup, némileg kesernyés utóízzel." +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -22837,8 +22986,10 @@ msgstr[1] "juharszirup" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "Édes és finom, igazi vermonti juharszirup." +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -23140,13 +23291,13 @@ msgstr "" "táplálóbb, de gyorsan meg fog romlani." #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" -msgstr "rántott csirke" +msgid "deep-fried chicken" +msgstr "" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "Egy papírvödörnyi rántott csirke. Annyira rossz, hogy az már jó." +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -23551,8 +23702,10 @@ msgstr "löncshús" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "Ízletes löncshús. Hidegen is fogyasztható." +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -23561,11 +23714,10 @@ msgstr "parizer" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." msgstr "" -"Egyfajta felvágott, előre szeletelve. Tuti nem kutyából készÃŒlt, és a kutya " -"neve sem volt Borzas. Hidegen is fogyasztható." #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -24092,11 +24244,9 @@ msgstr "párizsi parizer" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." msgstr "" -"Emberhúsból készÃŒlt felvágott, előre szeletelve. Lehet, hogy pont egy " -"francia srác volt, nem mindegy? Hidegen is fogyasztható." #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -25426,6 +25576,22 @@ msgstr "" "megakadályozására szolgál. Ahhoz nem elég erős, hogy a fertőzéseket teljesen" " megszÃŒntesse, de növeli a szervezet ellenállását. Egy dózis 12 órán át hat." +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "" + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -27006,34 +27172,34 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Nagyon savanyú citrusféle. Ha annyira szeretnéd, megeheted." #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "áfonya" -msgstr[1] "áfonya" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Kicsit fanyar, de legalább a miénk." #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "eper" -msgstr[1] "eper" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Ízes és zamatos bogyó, gyakran nő a vadonban is." #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "cranberry" -msgstr[1] "cranberry" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "" @@ -27041,34 +27207,34 @@ msgstr "" "egészséges." #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "málna" -msgstr[1] "málna" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Édes piros bogyó." #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "huckleberry" -msgstr[1] "huckleberry" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "A huckleberry-t gyakran keverik össze a kék áfonyával." #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "faeper" -msgstr[1] "faeper" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -27078,24 +27244,24 @@ msgstr "" "összes faepre közÃŒl ennek a legerősebb az íze." #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "bodza" -msgstr[1] "bodza" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" "Az amerikai bodza gyÃŒmölcse nyersen mérgező, de főzés után nagyon finom." #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" -msgstr[0] "csipkebogyó" -msgstr[1] "csipkebogyó" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "A beporzott rózsavirág gyÃŒmölcse." @@ -27132,12 +27298,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Citrusféle, íze a savanykástól a félédesig terjed." #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "cseresznye" -msgstr[1] "cseresznye" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Vörös és édes gyÃŒmölcs, fán terem." @@ -27154,12 +27320,12 @@ msgstr "" "Egy maréknyi nagy szemű lila szilva. Egészséges és jót tesz az emésztésnek." #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "szőlő" -msgstr[1] "szőlő" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Egy fÃŒrt lédús szőlő." @@ -27212,12 +27378,12 @@ msgid "A large and very sweet fruit." msgstr "Nagyméretű és nagyon édes gyÃŒmölcs." #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "szeder" -msgstr[1] "szeder" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "A málna sötétebb tesója." @@ -27260,10 +27426,12 @@ msgid "" msgstr "Nagy, barna bőrű és szőrös bogyó. A finom belseje zöld színű." #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "sárgabarack" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Sima héjú gyÃŒmölcs, az őszibarack rokona." @@ -27323,8 +27491,8 @@ msgstr "káposzta" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "Egy ropogós fehér káposztafej." +msgid "Crisp white cabbage." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -27419,8 +27587,8 @@ msgstr "uborka" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "A tökfélék családjából származik, nem túl ízletes, de nagyon lédús." +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -27885,6 +28053,10 @@ msgstr[1] "szeder mag" msgid "Some blackberry seeds." msgstr "Néhány szeder vetőmag." +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -27896,6 +28068,10 @@ msgstr[1] "áfonya mag" msgid "Some blueberry seeds." msgstr "Egy marék fekete áfonya mag." +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -27907,6 +28083,10 @@ msgstr[1] "cranberry mag" msgid "Some cranberry seeds." msgstr "Néhány cranberry vetőmag." +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -27918,6 +28098,10 @@ msgstr[1] "huckleberry vetőmag" msgid "Some huckleberry seeds." msgstr "Néhány huckleberry vetőmag." +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -27929,6 +28113,10 @@ msgstr[1] "eperfa vetőmag" msgid "Some mulberry seeds." msgstr "Néhány eperfa vetőmag." +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -27940,6 +28128,10 @@ msgstr[1] "bodza mag" msgid "Some elderberry seeds." msgstr "Néhány bodza vetőmag." +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -27951,6 +28143,10 @@ msgstr[1] "málna mag" msgid "Some raspberry seeds." msgstr "Néhány málna vetőmag." +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -27962,6 +28158,10 @@ msgstr[1] "epermag" msgid "Some strawberry seeds." msgstr "Egy marék epermag" +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -27973,6 +28173,10 @@ msgstr[1] "szőlőmag" msgid "Some grape seeds." msgstr "Néhány szőlőmag." +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -31135,6 +31339,19 @@ msgstr[1] "veszélyes hulladéktároló hordó" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "Veszélyes anyagok tárolására szánt sárga színû hordó." +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -35187,9 +35404,8 @@ msgstr[1] "köves zokni" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." -msgstr "Zokni végébe rakott kő. Az igazi kétségbeesés fegyvere." +msgid "A pair of nested socks filled with a stone. A true weapon of despair." +msgstr "" #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -38062,6 +38278,17 @@ msgstr[1] "A cuj csÃŒn és te" msgid "A complete guide to Zui Quan." msgstr "A cuj csÃŒn összes fogását bemutató könyv." +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -40205,6 +40432,361 @@ msgid_plural "belt ammo links" msgstr[0] "heveder kapocs" msgstr[1] "heveder kapocs" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -43846,6 +44428,15 @@ msgstr "" "Általános típusokkal váltja fel a lőfegyvereket és lőszereket. Figyelem: más" " fegyver moddal egyÃŒtt használva problémákat okozhat." +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "Bionika kézi beÃŒltetése" @@ -60453,6 +61044,14 @@ msgid_plural "inactive military robots" msgstr[0] "" msgstr[1] "" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -61430,6 +62029,10 @@ msgstr "Abbahagyod a jármű kezelését?" msgid "Stop training?" msgstr "Abbahagyod a képzést?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "Abbahagyod az elsősegélyt?" @@ -61598,10 +62201,18 @@ msgstr "" msgid "Stop cutting your hair?" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express" @@ -64717,6 +65328,17 @@ msgstr "" msgid "AI tag for asking to NPCs to train you. This is a bug if you have it." msgstr "" +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "" @@ -66063,23 +66685,6 @@ msgstr "Kifulladtál." msgid "The ceiling collapses on you!" msgstr "Rád szakad a mennyezet!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "Őssejt kezelés" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "" -"A belsőségeid furcsa módon mocorognak, ahogy a kezelés elkezdi éreztetni a " -"hatását." - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "A szemgolyódba pépesített csont és zománc oltást kapsz." - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "" @@ -66631,6 +67236,15 @@ msgstr "" msgid "You feel incredible! You could take on the world!" msgstr "" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "" + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "" @@ -79948,13 +80562,13 @@ msgid "Analyze blood" msgstr "" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" +msgid "Bonesetting Treatment" msgstr "" #. ~ Sign @@ -81387,6 +82001,36 @@ msgid "" "armor, +Perception fire armor." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "Középkori kardforgatás " @@ -84502,6 +85146,10 @@ msgstr "Élvezte a(z) %st" msgid "Enjoyed a hot meal" msgstr "Élvezte a forró ételt" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "Zene" @@ -84712,6 +85360,10 @@ msgstr "Frissen borotvált" msgid "Barfed" msgstr "Okádott" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "" @@ -85883,6 +86535,18 @@ msgstr "" "Bár a fájdalom negatív hatásai továbbra is érvényesÃŒlnek, a fájdalom " "egyedÃŒlálló élményt is nyújt." +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -86035,10 +86699,8 @@ msgstr "Közelharci fegyver képzés" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." msgstr "" -"Gyakrolatod van a fegyverforgatásban. A játékot az eskrima, a vívás, a " -"pentjak silat vagy a ni ten icsi-rjú ismeretével kezded." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -86765,6 +87427,17 @@ msgstr "" "75%-kal alacsonyabb, és lassabban is gyógyulsz. Az Üvegállú hatásával " "összeadódik." +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "Durva bőr" @@ -91965,6 +92638,10 @@ msgstr "Apis" msgid "I'm bugged - I shouldn't talk to you." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -92284,6 +92961,30 @@ msgstr "Bandita" msgid "Psycho" msgstr "ŐrÃŒlt" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "Rabló" @@ -99011,6 +99712,112 @@ msgstr "" "A vég előtt az volt a hobbid, hogy illegálisan programoztál át ipari " "robotokat, de sose gondoltad volna, hogy valaha a túlélésed fÃŒgg majd ettől." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -107392,6 +108199,67 @@ msgstr "" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "" @@ -108932,6 +109800,18 @@ msgstr "" msgid "You're going to pay for that, !" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "" @@ -108948,6 +109828,10 @@ msgstr "" msgid "What's that noise?" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "" @@ -108957,7 +109841,7 @@ msgid "What's that sound? I heard" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" +msgid "What's there? I heard" msgstr "" #: lang/json/snippet_from_json.py @@ -108965,7 +109849,7 @@ msgid "Did you hear that? Sounded like" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" +msgid "What is making that sound? I can hear the" msgstr "" #: lang/json/snippet_from_json.py @@ -109101,6 +109985,10 @@ msgstr "" msgid " " msgstr "" +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "" @@ -109113,10 +110001,6 @@ msgstr "" msgid "Z's" msgstr "" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "" - #: lang/json/snippet_from_json.py msgid " " msgstr "" @@ -112535,6 +113419,42 @@ msgstr "" msgid "I can't leave the shelter without equipment." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "Nem tudom, gondolom keressÃŒnk használható cuccokat meg más túlélőket." @@ -113802,6 +114722,268 @@ msgid "" "yourself among the most powerful men left in the world." 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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "Nem." + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "" @@ -118255,6 +119437,44 @@ msgstr "" msgid " phase-strikes %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "" @@ -126236,6 +127456,11 @@ msgstr "Befejezed a várakozást." msgid "%s finishes with you..." msgstr "%s veled fejezi be..." +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "" @@ -126311,6 +127536,11 @@ msgstr "" msgid "You finish filling up %s." msgstr "" +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "" @@ -126319,6 +127549,16 @@ msgstr "" msgid "You give your hair a trim." msgstr "" +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "" + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "" + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "" @@ -127569,6 +128809,10 @@ msgstr "lélegző" msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "" +#: src/artifact.cpp +msgid "dead" +msgstr "" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "" @@ -130364,12 +131608,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "SÉRÜLT ADAT, A FOLYTATÁSHOZ NYOMJON EGY GOMBOT..." #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." msgstr "" -"A gép a szemgolyódba fecskendezi \n" -"a csontpÃŒré és az LSD oldatát." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -131461,6 +132702,62 @@ msgstr "Lakomázol az édes mézből." msgid "You can't finish it all!" msgstr "Nem tudod mind elfogyasztani!" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "" + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "" + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "" + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "Korlátlanul zabálsz, hogy így készÃŒlj fel a téli álomra." @@ -131961,7 +133258,7 @@ msgstr "" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" @@ -137933,6 +139230,10 @@ msgstr "" msgid "Crash game (test crash handling)" msgstr "" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "" @@ -138278,22 +139579,25 @@ msgid "Underground" msgstr "Föld alatt" #: src/game.cpp -msgid "Weather:" -msgstr "Időjárás:" - -#: src/game.cpp -msgid "Temperature:" -msgstr "Hőmérséklet:" +msgid "Weather :" +msgstr "" #: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "Hold %s" +msgid "Temp :" +msgstr "" #: src/game.cpp msgid "Lighting:" msgstr "Fény:" +#: src/game.cpp +msgid "Deaf!" +msgstr "SÃŒket!" + +#: src/game.cpp +msgid "Sound: " +msgstr "" + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -138599,6 +139903,11 @@ msgstr "" msgid "Attach bag" msgstr "" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "" + #: src/game.cpp msgid "Untie" msgstr "" @@ -138673,6 +139982,11 @@ msgstr "" msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "" @@ -139454,63 +140768,6 @@ msgstr "" msgid "You're not wielding anything." msgstr "" -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "" - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "" - -#: src/game.cpp -msgid "Unload what?" -msgstr "" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "" - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "" - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "" - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "" - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -140987,10 +142244,6 @@ msgstr "Igen." msgid "Yes, and save game before sleeping." msgstr "Igen, és alvás előtt készÃŒljön mentés." -#: src/handle_action.cpp -msgid "No." -msgstr "Nem." - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "Ezeket talán nem ártana alvás előtt kikapcsolni." @@ -147279,12 +148532,7 @@ msgid "No music on device" msgstr "" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" +msgid "View recipes on E-ink screen" msgstr "" #: src/iuse.cpp @@ -147354,12 +148602,7 @@ msgid "You turned on music on your %s." msgstr "" #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." +msgid "List recipes:" msgstr "" #: src/iuse.cpp @@ -150543,6 +151786,10 @@ msgstr "Szétverhető. " msgid "Diggable. " msgstr "Felásható. " +#: src/map.cpp +msgid "Plowable. " +msgstr "" + #: src/map.cpp msgid "Rough. " msgstr "Durva. " @@ -157074,7 +158321,7 @@ msgstr "" msgid "%s has abandoned the camp." msgstr "" -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "" @@ -157312,6 +158559,16 @@ msgstr "" msgid "%s gives you a decent shave..." msgstr "" +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "" + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -159436,12 +160693,12 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" msgstr "" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" msgstr "" #: src/output.cpp @@ -159777,6 +161034,10 @@ msgstr "" msgid "Load or unload a vehicle" msgstr "" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -160338,6 +161599,14 @@ msgstr "" msgid "The sound of your voice is almost completely muffled!" msgstr "" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "" @@ -161002,10 +162271,6 @@ msgstr "" msgid "This place is dangerous, you shouldn't be here." msgstr "" -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "" - #: src/player.cpp msgid "That's not true, is it?" msgstr "" @@ -161927,6 +163192,53 @@ msgstr "" msgid " can't place items here!" msgstr "" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "" + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "" + +#: src/player.cpp +msgid "Unload what?" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "" + +#: src/player.cpp +msgid "You can't remove partially depleted plutonium!" +msgstr "" + #: src/player.cpp #, c-format msgid "Your %s needs %d charge from some UPS." @@ -162398,6 +163710,10 @@ msgstr "" msgid "You resume your task." msgstr "" +#: src/player.cpp +msgid "Weapon : fists" +msgstr "" + #: src/player.cpp msgid "Wield what?" msgstr "" @@ -163192,15 +164508,6 @@ msgstr "Asztmás rohamtól halt meg." msgid "You wheeze and gasp for air." msgstr "Sípolva, fuldokolva próbálsz levegőt venni." -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "" -"Csontjaid mintha gumiból lennének, ahogyan megolvadnak és újra megkötnek." - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "Úgy érzed, mintha a csontjaid elporladnának." - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "Egy kicsit fáj a fejed." @@ -163973,15 +165280,6 @@ msgstr "Nagyon fázik!%s" msgid "Freezing!%s" msgstr "Fagyos!%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "SÃŒket!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "Hang %d" - #: src/sidebar.cpp msgid "Parched" msgstr "Kiszáradt" @@ -165630,10 +166928,10 @@ msgstr "Megszereled a(z) %1$s %2$st." msgid "Lost connection with the vehicle due to distance!" msgstr "A távolság miatt a járművel megszakadt a kapcsolat!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "BANG!" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -166344,18 +167642,23 @@ msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "A(z) %s hosszú csipogó hangot ad ki." +msgid "the %s bang as it starts" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "A(z) %s egyetlen kattanásnyi hangot ad ki." +msgid "the %s clicking once" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "A(z) %s gyorsan kattogó hangot ad ki." +msgid "the %s rapidly clicking" +msgstr "" #: src/vehicle_use.cpp #, c-format @@ -166364,8 +167667,8 @@ msgstr "A(z) %s köhögve leáll." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "A(z) %s rettenetes csattogó hangot ad ki." +msgid "the %s clanking and grinding" +msgstr "" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -166385,6 +167688,11 @@ msgstr "TÅ°Å°!" msgid "You honk the horn, but nothing happens." msgstr "Rátenyerelsz a dudára, de semmi sem történik." +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "a hangszórókból egy egyszerű nóta szól." diff --git a/lang/po/ja.po b/lang/po/ja.po index aaa5f967e8855..15fd3925e4258 100644 --- a/lang/po/ja.po +++ b/lang/po/ja.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Pigmentblue15, 2019\n" "Language-Team: Japanese (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ja/)\n" @@ -5649,7 +5649,7 @@ msgid "" "A simple hazardous materials handling suit. Though somewhat restrictive and" " fragile, wearing it will provide excellent protection against ambient " "radiation." -msgstr "シンプルな危険物取扱甚防護服です。しかしながら若干動きづらく砎れやすいです、着甚するず攟射胜汚染環境で玠晎らしい防護性胜を発揮したす。" +msgstr "シンプルな危険物取扱甚防護服です。若干動きづらく砎れやすいですが、着甚するず攟射胜汚染環境で玠晎らしい防護性胜を発揮したす。" #: lang/json/ARMOR_from_json.py msgid "cloak" @@ -5762,6 +5762,18 @@ msgid "" "from rain." msgstr "プラスチック補のフヌドずポケットが付いたコヌトです。雚を防ぎ、酞性雚に察しお倚少の耐性がありたす。" +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "腞補衣" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "北極圏の先䜏民族が着甚する、掗浄した動物の腞を瞫い合わせお䜜ったコヌトです。軜量性ず防氎性に優れおいたす。" + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -6497,7 +6509,7 @@ msgid "" "with a layer of aluminum coating. They allow safe viewing of extremely " "bright and harmful sources of light, like the sun during a solar eclipse." msgstr "" -"アルミでコヌティングされた厚玙のフレヌムに、玫倖線ず赀倖線をカットするレンズがはめ蟌たれたサングラスです。日食などの際に、倪陜のような非垞に匷く有害な光を安党に芳察できたす。" +"アルミでコヌティングされた段ボヌルのフレヌムに、玫倖線ず赀倖線をカットするレンズがはめ蟌たれたサングラスです。日食などの際に、倪陜のような非垞に匷く有害な光を安党に芳察できたす。" #: lang/json/ARMOR_from_json.py msgid "pair of bifocal glasses" @@ -16252,31 +16264,31 @@ msgid "Spice" msgstr "銙蟛料" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" +msgid "Riesling" +msgid_plural "Riesling" msgstr[0] "ワむン(リヌスリング)" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "䞖界で最も高貎な葡萄から䜜られた発泡性の癜ワむンです。" #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" +msgid "Chardonnay" +msgid_plural "Chardonnay" msgstr[0] "ワむン(シャルドネ)" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "米囜で最も人気のあるワむンです。評刀通りのおいしさ。" #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" msgstr[0] "ワむン(カベルネ・゜ヌビニペン)" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -16302,8 +16314,9 @@ msgstr[0] "りむスキヌ" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "南郚で育たれた南郚の為の飲み物です。" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "南郚の土地で南郚人によっお造られた、南郚の名将のための蒞留酒です" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -16312,8 +16325,10 @@ msgstr[0] "りォッカ" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "米囜では貎方がりォッカを飲む。゜ビ゚トロシアではりォッカが貎方を飲む" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "アルコヌルず氎分以倖の䜕物でもない飲み物です。アメリカでは人間がりォッカを造りたすが、゜ビ゚トロシアではりォッカが人間を造りたす。" #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -16322,8 +16337,10 @@ msgstr[0] "ゞン" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "埮かにニワトコの実の銙りがしたすが、ほがビヌルのような飲み物です。" +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "ゞュニパヌベリヌの颚味を付けたアルコヌル飲料です。ほのかに果実の銙りがしたすが、ほが酒の味しかしたせん。" #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -16332,8 +16349,10 @@ msgstr[0] "ラム酒" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "飲めば海賊気分が味わえるかもしれたせん。" +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "糖蜜を発酵させた蒞留酒です。飲めば海賊気分を味わえたす、倚分。" #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -16342,8 +16361,10 @@ msgstr[0] "テキヌラ" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "むモムシは飲んじゃダメおっず、これは虫が入っおいないタむプですね。" +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "棘付きの葉をも぀倚肉怍物から䜜られた蒞留酒です。瓶の䞭の虫は食べないでくださいおや、これは虫が入っおいないタむプでした。" #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -16429,8 +16450,10 @@ msgstr[0] "ロングアむランド・アむスティヌ" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." -msgstr "どういうわけかそれらのどの味も信じられないほど匷い颚味が感じられるリキュヌルブレンドです。" +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." +msgstr "" +"どういうわけか、どの材料のものでもない非垞に匷い颚味が感じられるカクテルです。玅茶は入っおいたせんが、コヌラを䜿っお玅茶のような色味を出しおいたす。" #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -16438,8 +16461,10 @@ msgstr "スクリュヌ・ドラむバヌ" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "アルコヌル䞭毒の機械工がこっそり飲む為のカクテルです。" +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "オレンゞゞュヌスずりォッカを䜿ったカクテルです。飲んだくれの敎備士がこっそり酔うために䜜ったず蚀われおいたす。" #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -16469,8 +16494,9 @@ msgstr[0] "ビヌル" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." -msgstr "キンキンに冷えたグラスに、冷やしおからグラスに泚ぎ、ラむムを添えお飲むのが䞀番ですが...そこたで幞運ではありたせんね。" +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." +msgstr "ホップの颚味が銙る穀物アルコヌル飲料です。冷やしおからグラスに泚ぎ、ラむムを添えお飲むのが䞀番ですが...そこたで幞運ではありたせんね。" #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -16525,9 +16551,11 @@ msgstr[0] "密造酒" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." -msgstr "最も匷く、最も玔粋な、叀き良き時代の密造酒です。倧倉動の諞々を忘れさせおくれる、あるいは過去を蘇らせおくれるこず請け合いです。" +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." +msgstr "" +"最も匷く、最も玔粋な、トりモロコシず糖を蒞留しお造った叀き良き時代の密造酒です。倧灜厄の諞々を忘れさせおくれる、あるいは過去を蘇らせおくれるこず請け合いです。" #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -16537,9 +16565,9 @@ msgstr[0] "ビヌル(ペヌロピアンピルスナヌ)" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." -msgstr "ペヌロッパから茞入したピルスナヌです。冷やしおからグラスに泚いで飲むのが䞀番ですが...そこたで幞運ではありたせんね。" +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." +msgstr "ペヌロッパから茞入されたラガヌビヌルです。冷やしおからグラスに泚いで飲むのが䞀番ですが...そこたで幞運ではありたせんね。" #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -16583,9 +16611,9 @@ msgstr[0] "ビヌル(ベルゞャン゚ヌル)" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." -msgstr "ベルギヌの修道士によっお醞造された゚ヌルです。颚味豊かな味がしたす。是非ずもゎブレットに泚ぎたくなりたすね。" +msgstr "ベルギヌの修道士によっお醞造された、颚味豊かで濃厚なビヌルです。ゎブレットに泚いで飲むのが䞀番です。" #: lang/json/COMESTIBLE_from_json.py msgid "imperial stout" @@ -16651,10 +16679,9 @@ msgstr "カリモヌチョ" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." -msgstr "" -"思ったより悪くないず蚀えなくもない、そんな味です。いく぀かの囜の若者たちはこれを奜んで飲むそうですが、なるほど、その倚くは貧乏人だそうです。" +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." +msgstr "同量のワむンずコヌラを䜿ったカクテルです。思ったより悪くない味で、囜によっおは貧困局や若者、あるいは貧困局の若者が奜んで飲んでいたす。" #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -17695,8 +17722,12 @@ msgstr[0] "コヌヒヌ" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "コヌヒヌです。文明厩壊前の䞖界では、朝に飲むずいう慣習がありたした。" +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" +"コヌヒヌ豆から皮子を取り出し焙煎、粉砕、抜出ずいう耇雑な工皋を経お䜜られる、厩壊前の䞖界では朝に飲む慣習があった飲み物です。ラむバルずされる玅茶よりもカフェむン量が豊富です。" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -17726,9 +17757,9 @@ msgstr[0] "コンデンスミルク" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." -msgstr "子牛のための飲み物ですが、倧人の人間にも適しおいたす。甘くお味が濃いので、かければどんな食べ物も甘くなりたす。" +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." +msgstr "消費期限を倧幅に延ばすためにある皋床脱氎し、甘味料を加えた乳補品です。" #: lang/json/COMESTIBLE_from_json.py msgid "cream soda" @@ -17787,8 +17818,10 @@ msgstr "゚ナゞヌドリンク" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "倜遅くたで仕事をしおいる人達に人気の飲み物です。" +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "倚量のカフェむンが入った゜フトドリンクです。倜遅くたで仕事をしなければならない人々に人気です。" #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -17898,8 +17931,9 @@ msgstr "コヌヒヌ牛乳" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." -msgstr "倚くの囜で愛される朝の飲み物です。" +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." +msgstr "コヌヒヌシロップず牛乳を混ぜた飲み物です。1993幎にロヌドアむランド州の州飲料に制定されたした。" #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -17907,9 +17941,8 @@ msgstr "ミルクティヌ" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "倚くの囜で愛される飲み物です。普通は朝に飲む物です。" +msgid "Hot tea with cold milk." +msgstr "枩かい玅茶ず冷たい牛乳を混ぜた飲み物です。" #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -18005,8 +18038,10 @@ msgstr "玅茶" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "玅茶はいかなる堎所でも玳士の飲み物です。" +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "チャノキから採れる玅茶葉に湯を泚いで䜜る、䞖界䞭にいる玳士のための飲み物です。" #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -18054,8 +18089,8 @@ msgstr "トマト゜ヌス" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "トマト゜ヌスです、もぐもぐ。" +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "調理したトマトに必芁最䜎限の味付けを斜した゜ヌスです。" #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -18074,8 +18109,10 @@ msgstr[0] "マペネヌズ" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "叀き良きマペネヌズはサンドむッチに最適です。" +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "卵、油、塩を混ぜお䜜った、サンドむッチに塗る䌝統的な調味料です。" #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -18083,8 +18120,8 @@ msgstr "ケチャップ" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "叀き良きケチャップはホットドッグに最適です。" +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "トマト、塩、酢を混ぜお䜜った粘性の高いペヌストです。" #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -18093,8 +18130,10 @@ msgstr[0] "マスタヌド" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "叀き良きマスタヌドはハンバヌガヌに最適です。" +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "カラシ(アブラナ科もしくはシロガラシ科の怍物)の皮子ず酢、塩、銙蟛料を混ぜお䜜る調味料です。" #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -18136,8 +18175,10 @@ msgstr[0] "食甚酢" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "ずおも酞っぱいホワむトビネガヌです。" +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "ものすごく酞っぱいホワむトビネガヌです。酒を長期間発酵しすぎるず酢になりたす。" #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -18156,8 +18197,10 @@ msgstr[0] "糖蜜" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." -msgstr "非垞に甘いタヌル状のシロップです。埌味に少し苊味を含んでいたす。" +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." +msgstr "サトりキビやサトりダむコンの゚キスを繰り返し煮お䜜る、非垞に甘く粘り気のあるシロップです。埌味に若干の苊みがありたす。" #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -19277,8 +19320,10 @@ msgstr[0] "メヌプルシロップ" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "甘くお矎味しいバヌモント州原産のメヌプルシロップです。" +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "カ゚デの暹液を煮るず、甘くおおいしいメヌプルシロップが出来䞊がりたす。" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -19541,13 +19586,13 @@ msgstr "" "ドン500gの肉、500gの炭氎化物、合わせお1kgだアツアツで湯気が立ち昇っおいたす。味も量も文句無しですが、非垞に速く腐敗しおしたいたす。" #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" +msgid "deep-fried chicken" msgstr "フラむドチキン" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "少量のフラむドチキンです。これは矎味しそうです。" +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "鶏肉を油に浞しお揚げた、脂っこくお矎味しい料理です。" #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -19901,8 +19946,10 @@ msgstr "ランチミヌト" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "矎味しそうなランチミヌトです。冷たくおも食べられたす。" +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "加工肉をサンドむッチに挟みやすいように薄切りの状態で保存した料理です。冷たくおも矎味しく食べられたす。" #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -19911,9 +19958,10 @@ msgstr "ボロヌニャ゜ヌセヌゞ" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." -msgstr "薄切りにしたランチミヌトです。オスカヌマむダヌ瀟の補品ではありたせん。冷たくおも食べられたす。" +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." +msgstr "现かいひき肉を加工しお䜜った゜ヌセヌゞのスラむスです。オスカヌ・マむダヌ瀟のものではないようです。冷たくおも矎味しく食べられたす。" #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -20379,9 +20427,10 @@ msgstr "人肉ボロヌニャ゜ヌセヌゞ" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." -msgstr "薄切りにした人肉で䜜ったランチミヌトです。圓然ですが、オスカヌマむダヌ瀟の補品ではありたせん。冷たくおも食べられたす。" +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." +msgstr "" +"加工した人肉のスラむスです。材料の生前の名前はオスカヌでしょうか。あなたが冷血な人間であるように、この食料も冷たい状態で矎味しく食べられたす。" #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -21519,6 +21568,22 @@ msgid "" msgstr "" "感染症の悪化を抑制する、薬効範囲の広い抗生物質です。感染症を完党に抑制できるほど匷力ではありたせんが、身䜓の抵抗力が向䞊したす。1回の服甚で効果が12時間続きたす。" +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "胃薬" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "胃薬を摂取したした。" + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "胞焌けを和らげ吐き気を鎮める、ドロッずしたピンク色のシロップです。蓋が蚈量カップを兌ねおいたす。" + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -22881,7 +22946,7 @@ msgstr "人間から粟補された粉末状のタンパク質です非垞に #: lang/json/COMESTIBLE_from_json.py msgid "soylent green shake" -msgstr "人肉セヌキ" +msgstr "人肉シェむク" #. ~ Description for soylent green shake #: lang/json/COMESTIBLE_from_json.py @@ -22892,7 +22957,7 @@ msgstr "人肉パりダヌず果物で䜜られた、栄逊䟡が高くお矎味 #: lang/json/COMESTIBLE_from_json.py msgid "fortified soylent green shake" -msgstr "匷化人肉セヌキ" +msgstr "匷化人肉シェむク" #. ~ Description for fortified soylent green shake #: lang/json/COMESTIBLE_from_json.py @@ -22926,7 +22991,7 @@ msgstr "粉末状のタンパク質です。非垞に栄逊䟡が高いものの #: lang/json/COMESTIBLE_from_json.py msgid "protein shake" -msgstr "プロテむンセヌキ" +msgstr "プロテむンシェむク" #. ~ Description for protein shake #: lang/json/COMESTIBLE_from_json.py @@ -22937,7 +23002,7 @@ msgstr "プロテむンパりダヌず果物で䜜られた、栄逊䟡が高く #: lang/json/COMESTIBLE_from_json.py msgid "fortified protein shake" -msgstr "匷化プロテむンセヌキ" +msgstr "匷化プロテむンシェむク" #. ~ Description for fortified protein shake #: lang/json/COMESTIBLE_from_json.py @@ -22986,61 +23051,61 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "非垞に酞っぱい果物です。食べたいず心から望むのなら食べられたすよ。" #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" msgstr[0] "ブルヌベリヌ" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "青い色をしおいたすが、それは悲しさを衚珟しおいる蚳ではありたせんよ。" #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" msgstr[0] "むチゎ" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "矎味しく瑞々しいむチゎです。野原に自生しおいるこずがありたす。" #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" msgstr[0] "クランベリヌ" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "酞味のある赀いベリヌです。健康的な果物です。" #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" msgstr[0] "ラズベリヌ" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "甘くお赀いベリヌです。" #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" msgstr[0] "ハックルベリヌ" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "しばしばブルヌベリヌず混同される果実です。" #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" msgstr[0] "マルベリヌ" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -23048,21 +23113,21 @@ msgid "" msgstr "赀いマルベリヌです。䞖界䞭に倚様な品皮が存圚したすが、これはアメリカ東郚特有の品皮のようです。" #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" msgstr[0] "゚ルダヌベリヌ" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "゚ルダヌベリヌは生で食べるず毒がありたすが、調理すれば非垞に矎味しく食べるこずができたす。" #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" msgstr[0] "ロヌズヒップ" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "受粉したバラに実る果実です。" @@ -23097,11 +23162,11 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "独特の爜やかな銙りがあっお、酞っぱくおほんのり甘い、柑橘系の果物です。" #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" +msgid "handful of cherries" +msgid_plural "handful of cherries" msgstr[0] "サクランボ" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "朚に生える赀くお甘い果物です。" @@ -23117,11 +23182,11 @@ msgid "" msgstr "玫色の倧きなスモモです。健康に良く、消化を助けたす。" #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" +msgid "handful of grapes" +msgid_plural "handful of grapes" msgstr[0] "ブドり" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "瑞々しいブドりの房です。" @@ -23173,11 +23238,11 @@ msgid "A large and very sweet fruit." msgstr "倧きくお非垞に甘い果物です。" #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" msgstr[0] "ブラックベリヌ" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "ラズベリヌより色の濃いベリヌです。埓兄匟のようなものです。" @@ -23220,10 +23285,11 @@ msgid "" msgstr "薄い毛で芆われた茶色の倧きなベリヌです。矎味しい果肉は緑色をしおいたす。" #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "アンズ" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "アンズ" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "滑らかな肌觊りのモモに䌌た果物です。" @@ -23277,8 +23343,8 @@ msgstr "キャベツ" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "パリッずした歯応えのキャベツです。" +msgid "Crisp white cabbage." +msgstr "実が匕き締たった癜キャベツです。" #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -23362,8 +23428,8 @@ msgstr "キュりリ" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "りリ科の野菜で、矎味しくはありたせんがずおも瑞々しい野菜です。" +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "颚味はよくありたせんが氎分が豊富な、りリ科の野菜です。" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -23777,6 +23843,10 @@ msgstr[0] "çš®(ブラックベリヌ)" msgid "Some blackberry seeds." msgstr "ブラックベリヌの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "ブラックベリヌ" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -23787,6 +23857,10 @@ msgstr[0] "çš®(ブルヌベリヌ)" msgid "Some blueberry seeds." msgstr "ブルヌベリヌの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "ブルヌベリヌ" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -23797,6 +23871,10 @@ msgstr[0] "çš®(クランベリヌ)" msgid "Some cranberry seeds." msgstr "クランベリヌの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "クランベリヌ" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -23807,6 +23885,10 @@ msgstr[0] "çš®(ハックルベリヌ)" msgid "Some huckleberry seeds." msgstr "ハックルベリヌの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "ハックルベリヌ" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -23817,6 +23899,10 @@ msgstr[0] "çš®(マルベリヌ)" msgid "Some mulberry seeds." msgstr "マルベリヌの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "マルベリヌ" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -23827,6 +23913,10 @@ msgstr[0] "çš®(゚ルダヌベリヌ)" msgid "Some elderberry seeds." msgstr "゚ルダヌベリヌの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "゚ルダヌベリヌ" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -23837,6 +23927,10 @@ msgstr[0] "çš®(ラズベリヌ)" msgid "Some raspberry seeds." msgstr "ラズベリヌの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "ラズベリヌ" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -23847,6 +23941,10 @@ msgstr[0] "çš®(むチゎ)" msgid "Some strawberry seeds." msgstr "むチゎの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "むチゎ" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -23857,6 +23955,10 @@ msgstr[0] "çš®(ブドり)" msgid "Some grape seeds." msgstr "ブドりの皮です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "ブドり" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -23939,16 +24041,16 @@ msgstr "トマトの皮です。" #: lang/json/COMESTIBLE_from_json.py msgid "cotton seeds" msgid_plural "cotton seeds" -msgstr[0] "çš®(綿花)" +msgstr[0] "çš®(綿)" #. ~ Description for cotton seeds #: lang/json/COMESTIBLE_from_json.py msgid "Some cotton seeds. Can be processed to produce an edible oil." -msgstr "綿花の皮です。食甚の油を粟補する事も出来たす。" +msgstr "綿の皮です。食甚油も生成できたす。" #: lang/json/COMESTIBLE_from_json.py msgid "cotton" -msgstr "綿花" +msgstr "綿" #: lang/json/COMESTIBLE_from_json.py msgid "broccoli seeds" @@ -26120,12 +26222,12 @@ msgstr "公衆衛生総監の譊告: 喫煙は肺がん、心臓病、肺気腫 #: lang/json/CONTAINER_from_json.py msgid "cardboard box" msgid_plural "cardboard boxes" -msgstr[0] "ダンボヌル箱" +msgstr[0] "段ボヌル箱" #. ~ Description for cardboard box #: lang/json/CONTAINER_from_json.py msgid "A small cardboard box. No bigger than a foot in dimension." -msgstr "小さなダンボヌル箱です。靎が䞀足入る皋床の寞法です。" +msgstr "小さな段ボヌル箱です。靎が䞀足入る皋床の寞法です。" #: lang/json/CONTAINER_from_json.py msgid "bucket" @@ -26628,6 +26730,18 @@ msgstr[0] "有害廃棄物甚ドラム猶(200L)" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "有害物質を保管するこずを瀺す、黄色いドラム猶です。" +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "栜培甚怍朚鉢" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "怍物を栜培できる特殊な鉢です。怍物を䞊手く育おればたくさんの収穫を埗られたす。" + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -30064,9 +30178,8 @@ msgstr[0] "石入り靎䞋" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." -msgstr "石を入れた靎䞋は文明が厩壊した䞖界にぎったりです。文明厩壊以埌の真の歊噚ず蚀っお良いでしょう。" +msgid "A pair of nested socks filled with a stone. A true weapon of despair." +msgstr "石をたっぷり詰めた靎䞋です。絶望的な状況で真䟡を発揮する歊噚です。" #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -32521,6 +32634,16 @@ msgstr[0] "本(æ­Šè¡“/酔拳ず貎方)" msgid "A complete guide to Zui Quan." msgstr "酔拳のコンプリヌトガむドブックです。" +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "本(å­Šç¿’/槍の道)" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "槍術のコンプリヌトガむドブックです。" + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -34421,6 +34544,337 @@ msgid "belt ammo link" msgid_plural "belt ammo links" msgstr[0] "匟垯接続金具" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "栜培甚怍朚鉢(トマト/成長)" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "トマトが収穫できる状態たで育ちたした" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "怍物はぐんぐん育っおいたす。" + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "トマトが怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "栜培甚怍朚鉢(トマト/完熟)" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "トマトを収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "栜培甚怍朚鉢(小麊/成長)" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "小麊が収穫できる状態たで育ちたした。" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "小麊はぐんぐん育っおいたす。" + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "小麊が怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "栜培甚怍朚鉢(小麊/完熟)" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "小麊を収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "栜培甚怍朚鉢(ホップ/成長)" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "怍物が収穫できる状態たで育ちたした" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "ホップが怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "栜培甚怍朚鉢(ホップ/完熟)" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "ホップを収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "栜培甚怍朚鉢(蕎麊/成長)" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "蕎麊が怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "栜培甚怍朚鉢(蕎麊/完熟)" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "蕎麊を収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "栜培甚怍朚鉢(ブロッコリヌ/成長)" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "ブロッコリヌが怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "栜培甚怍朚鉢(ブロッコリヌ/完熟)" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "ブロッコリヌを収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "栜培甚怍朚鉢(燕麊/成長)" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "燕麊が怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "栜培甚怍朚鉢(燕麊/完熟)" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "燕麊を収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "栜培甚怍朚鉢(倧麊/成長)" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "倧麊が怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "栜培甚怍朚鉢(倧麊/完熟)" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "倧麊を収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "栜培甚怍朚鉢(ニンゞン/成長)" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "ニンゞンが怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "栜培甚怍朚鉢(ニンゞン/完熟)" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "ニンゞンを収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "栜培甚怍朚鉢(綿/成長)" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "綿が怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "栜培甚怍朚鉢(綿/完熟)" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "綿を収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "栜培甚怍朚鉢(キャベツ/成長)" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "キャベツが怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "栜培甚怍朚鉢(キャベツ/完熟)" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "キャベツを収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "栜培甚怍朚鉢(キュりリ/成長)" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "キュりリが怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "栜培甚怍朚鉢(キュりリ/完熟)" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "キュりリを収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "栜培甚怍朚鉢(ニンニク/成長)" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "ニンニクが怍わった怍朚鉢です。成長が完了したら䜿甚しお収穫の準備を敎えたしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "栜培甚怍朚鉢(ニンニク/完熟)" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "ニンニクを収穫する準備が敎った怍朚鉢です。分解するず収穫できたす。" + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -37645,6 +38099,15 @@ msgid "" "other gun mods." msgstr "銃噚ず匟薬を汎甚的なものに眮き換えたす。譊告銃噚を远加する他のMODず競合する可胜性がありたす。" +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "远加 - 栜培甚怍朚鉢" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "怍朚鉢に皮を怍えお育おられるようになりたす。" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "倉曎 - 手動CBM移怍" @@ -52291,6 +52754,14 @@ msgid "inactive military robot" msgid_plural "inactive military robots" msgstr[0] "軍甚ロボット(停止)" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "7.62mm銃噚を内蔵した停止䞭の軍甚ロボットです。匟薬を所持した状態で䜿甚するず、ロボットが起動しお匟薬が装填されたす。" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -53222,6 +53693,10 @@ msgstr "車䞡に関する䜜業を䞭断したすか" msgid "Stop training?" msgstr "蚓緎を䞭断したすか" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "亀流を䞭断したすか" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr " 応急手圓を䞭断したすか" @@ -53390,10 +53865,18 @@ msgstr "顔剃りを䞭断したすか" msgid "Stop cutting your hair?" msgstr "散髪を䞭断したすか" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "ペットずの觊れ合いを䞭断したすか" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "睡眠を䞭断したすか" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "抜き取りを䞭断したすか" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".70口埄ニトロ・゚クスプレス匟" @@ -56294,6 +56777,17 @@ msgstr "èš“ç·Ž" msgid "AI tag for asking to NPCs to train you. This is a bug if you have it." msgstr "NPCにプレむダヌを蚓緎しおもらった時のAIタグです。プレむダヌにこのタグが付いおいる時はバグが発生しおいたす。" +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "亀流" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "NPCず亀流した時のAIタグです。プレむダヌにこのタグが付いおいる時はバグが発生しおいたす。" + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "情報" @@ -57625,21 +58119,6 @@ msgstr "息切れしおいたす。" msgid "The ceiling collapses on you!" msgstr "倩井が厩れおきたした" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "幹现胞治療" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "䜓の内偎で、治療のための奇劙な動きを感じたす。" - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "骚成分ず゚ナメル質を混合した液䜓が県球に泚射されたした。" - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "抗けいれん薬摂取" @@ -58193,6 +58672,15 @@ msgstr "䞇胜薬" msgid "You feel incredible! You could take on the world!" msgstr "玠晎らしい気分です今なら䜕でもできそうです" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "胃薬" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "胃薬が䜜甚しおいたす。" + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "攟電" @@ -70472,14 +70960,14 @@ msgid "Analyze blood" msgstr "血液を分析する" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "Mr.ステムセル" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "幹现胞治療を行う" +msgid "Bonesetting Treatment" +msgstr "接骚治療" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -71851,6 +72339,36 @@ msgid "" "armor, +Perception fire armor." msgstr "筋力の倀で斬撃耐性、噚甚の倀で酞耐性、知性の倀で電撃耐性、感芚の倀で火炎耐性が増加したす。" +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "槍術" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "槍術、別名「槍道」は槍を䜿っお戊う日本の歊術です。槍術は戊闘での有利性を維持するために、察戊盞手ずの間合いを保぀こずに重きを眮いおいたす。" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "槍術の構え" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "立ち止たっおいる間、遠距離歊噚にブロック効果" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "突進" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "移動時にダメヌゞ増加、ブロック効果消滅" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "䞭䞖剣術" @@ -74818,7 +75336,7 @@ msgid "" "in the field. I need you to get a fresh sample of zombie blood, take it to " "a hospital, and perform a centrifuge analysis of it." msgstr "" -"ここには機械類がないから、実地で血液の分析をする必芁があるんだ。ゟンビの新鮮な血液サンプルを採取しお、病院にある遠心分離装眮を䜿っお分析しおきおもらいないかな。" +"ここには機械類がないから、実地で血液の分析をする必芁があるんだ。ゟンビの新鮮な血液サンプルを採取しお、病院にある遠心分離装眮を䜿っお分析しおきおもらえないかな。" #: lang/json/mission_def_from_json.py msgid "" @@ -75051,6 +75569,10 @@ msgstr "%sを堪胜した" msgid "Enjoyed a hot meal" msgstr "枩かい食事を堪胜した" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "楜しく䌚話した" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "音楜" @@ -75261,6 +75783,10 @@ msgstr "綺麗に顔を剃った" msgid "Barfed" msgstr "嘔吐" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "ペットず觊れ合っお過ごした" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "火を぀けた" @@ -76371,6 +76897,19 @@ msgid "" "unique pleasure to you." msgstr "痛みを䞎えられるず快感を芚えお意欲が䞊昇したす。" +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "興奮剀粟神病" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" +"興奮剀(コヌヒヌ、芚醒剀など)の過剰投䞎を長幎続けおきたした。倚量の興奮剀を摂取しおも過剰摂取を匕き起こし蟛くなっおいたすが、欲望のたたに摂取しおいるず幻芚が芋え始めたす..." + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -76499,8 +77038,9 @@ msgstr "近接歊噚鍛錬" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." -msgstr "歊噚を䜿った戊闘術を鍛錬しおきたした。開始時から゚スクリマ、フェンシング、プンチャック・シラット、二倩䞀流の内1぀を修埗しおいたす。" +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." +msgstr "" +"歊噚を䜿った戊闘術を鍛錬しおきたした。開始時から゚スクリマ、フェンシング、プンチャック・シラット、二倩䞀流、槍術のうち1぀を修埗しおいたす。" #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -77127,6 +77667,17 @@ msgid "" "you heal much slower. Stacks with Glass Jaw." msgstr "身䜓が非垞に虚匱で、短時間の酷䜿にすら耐えられたせん。最倧HPが75%枛少し、傷の治りが非垞に遅くなりたす。グラスゞョヌず重耇したす。" +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "遺䌝子劣化" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "倧倉動によっおDNAが修埩䞍可胜なレベルで損傷したした。頻繁に突然倉異を匕き起こし、倉異の芁因に関わらず必ず悪性の倉異になりたす。" + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "荒れ肌" @@ -81832,6 +82383,10 @@ msgstr "" msgid "I'm bugged - I shouldn't talk to you." msgstr "私は昆虫です。私は䌚話できたせん。" +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "乞食" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -82151,6 +82706,30 @@ msgstr "盗賊" msgid "Psycho" msgstr "狂人" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "乞食" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr " " + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr " " + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr " " + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr " " + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr " " + #: lang/json/npc_from_json.py msgid "Raider" msgstr "レむダヌ" @@ -88179,6 +88758,114 @@ msgid "" "commercial robots, but you never thought your survival might depend on it." msgstr "垂販のロボットのプログラムを違法に䞊曞きしお再利甚するのが趣味でしたが、こんな技胜が今埌の生死に関わるなっお考えもしたせんでした。" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "ロボット技術者" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"ロボット補造工堎の䞋っ端技術者でした。経営陣はマンハックに火炎攟射噚を搭茉するなんお「䞍必芁」だの「危険すぎる」だのず文句を蚀っおいたしたが、今や導入を止める者は誰もいたせん。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "ロボット技術者" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"ロボット補造工堎の䞋っ端技術者でした。経営陣はマンハックに火炎攟射噚を搭茉するなんお「䞍必芁」だの「危険すぎる」だのず文句を蚀っおいたしたが、今や導入を止める者は誰もいたせん。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "倩才ロボット技術者" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "はんだごおを初めお握った頃からロボットを造り続けおきたした。䞖界の終わりが蚪れおも止める぀もりはありたせん。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "倩才ロボット技術者" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "はんだごおを初めお握った頃からロボットを造り続けおきたした。䞖界の終わりが蚪れおも止める぀もりはありたせん。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "ロボットの䞻人" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "暎動が起きた時、どこからずもなく珟れた軍甚ロボットに救出されたした。もしかしたら、自分は重芁人物なのかもしれたせん。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "ロボットの䞻人" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "暎動が起きた時、どこからずもなく珟れた軍甚ロボットに救出されたした。もしかしたら、自分は重芁人物なのかもしれたせん。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "狩人(ロボット)" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "地元のハッカヌに䟝頌しお、ロボット猟犬を造っおもらいたした。本物の猟犬ず同等の性胜ですが、愛玩動物ずしお扱うには今䞀぀です。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "狩人(ロボット)" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "地元のハッカヌに䟝頌しお、ロボット猟犬を造っおもらいたした。本物の猟犬ず同等の性胜ですが、愛玩動物ずしお扱うには今䞀぀です。" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -95202,7 +95889,7 @@ msgid "" "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!" -msgstr "広告:瓶詰め肉 懐かしいおばあちゃんの味。未開封状態だず1幎ぐらい保存可胜です。ご奜評に぀き緊急生産を行いたした" +msgstr "広告:瓶詰め肉 おばあちゃんが䜜っおくれた懐かしの味。未開封状態だず1幎ぐらい保存可胜です。ご奜評に぀き緊急生産を行いたした" #: lang/json/snippet_from_json.py msgid "" @@ -96383,6 +97070,67 @@ msgstr "み、氎......近くにオアシスずか無い" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "氎分の䞍足は他の䜕よりも死亡する確率が高いっお知っおる" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "いいね、ビヌルを甚意しおくれた事にはもちろん気づいおいたさ冷えた奎を飲みながら話そう。、景気はどう" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "もちろんだ。そのビヌルをあけながらっおのもいいなずもかく、最近どう" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "ああ、君が持っおるビヌルを分けおくれるなら、奜きなだけ話そうたぁそれは冗談だけど、、調子はどう" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "ああ、もちろん、。そろそろ䞀息入れたかったんだ。調子はどう" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "もちろんいいよ。、調子はどう" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "ああ、くだらないこずを話そう最近どう" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "断るず思う最近は元気にしおる" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "ああいいよ。元気でやっおる" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "数分ぐらいならいいか。元気かい" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "よし、、元気かい" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "もちろん良いよ。話しおいれば君も胞の぀かえが取れるだろ" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "い぀でも語り合う準備はできおたよでもどうしたんだ、倧䞈倫" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "そうだな、。もっずお互いの事を知るべきだ。最近は䞊手くやっおる" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "もちろん、いい気晎らしになるよ。調子はどう" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "チクショり" @@ -97317,7 +98065,7 @@ msgstr "ク゜" #: lang/json/snippet_from_json.py msgid "freaking" -msgstr "ふざけた" +msgstr "忌々しい" #: lang/json/snippet_from_json.py msgid " " @@ -97923,6 +98671,18 @@ msgstr "ここでお別れだな死に様を芋届けおやる" msgid "You're going to pay for that, !" msgstr "報いを受けろ、" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "隒がしいな" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "誰かの話し声か" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "䜕か蚀った" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "嫌な音だ。" @@ -97939,6 +98699,10 @@ msgstr "聞こえた" msgid "What's that noise?" msgstr "䜕の音だ" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "䜕かそこにいるのか" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "䜕かが動く音だ。あの音は" @@ -97948,16 +98712,16 @@ msgid "What's that sound? I heard" msgstr "䜕の音だ今聞こえたのは" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" -msgstr "誰かいるのか今聞こえたのは" +msgid "What's there? I heard" +msgstr "䜕だ今の音は" #: lang/json/snippet_from_json.py msgid "Did you hear that? Sounded like" msgstr "聞いたかあの音は" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" -msgstr "誰か音を立おたか今の音は" +msgid "What is making that sound? I can hear the" +msgstr "䜕の音だ今聞こえたのは" #: lang/json/snippet_from_json.py msgid "Tell me about how you survived the cataclysm." @@ -98092,6 +98856,10 @@ msgstr "歩く死䜓" msgid " " msgstr "、" +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "死人" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "生ける屍" @@ -98104,10 +98872,6 @@ msgstr "ゟンビ" msgid "Z's" msgstr "ゟンビ共" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "死んだ" - #: lang/json/snippet_from_json.py msgid " " msgstr "、" @@ -101526,6 +102290,42 @@ msgstr "物品の取匕をしようか。" msgid "I can't leave the shelter without equipment." msgstr "物資も無しに避難所を出られないよ。" +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "ああ、この暑さに私も参っおいたんだ。ちょっず䌑憩しよう。、調子はどう" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "今なら少し時間があるな。思えばもう1か月くらいは経ったんだな...これから先、どうする぀もりなんだ" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "なるほどね、悪くない、悪くないよ..." + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "うヌん、分からないが...ずりあえずは物資ず生存者を探すずいいんじゃないか" @@ -102581,7 +103381,7 @@ msgstr "䜕が欲しいのか知らんが他を圓たりな。" #: lang/json/talk_topic_from_json.py msgid "Dude, if you can hold your own you should look into enlisting." -msgstr "お前、䜕事にも屈しない匷さに自信があるなら新人採甚の担圓を探しおみたらどうだ。" +msgstr "お前、自分の胜力に自信があるなら、新人採甚の担圓を探しおみたらどうだ。" #: lang/json/talk_topic_from_json.py msgid "Hey miss, don't you think it would be safer if you stuck with me?" @@ -102823,6 +103623,280 @@ msgid "" 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 "頌む、助けおくれ。食料が必芁なんだ。執行官なんだろう手䌝っおもらえないか" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "頌む、助けおくれ。食料が必芁なんだ。" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" +"䞭に入れおもらえないんだ。もう満員だっお蚀われおさ。ここを汚さず倧隒ぎしないなら、寝泊りしおいいずは蚀われたんだ。でも、ものすごくお腹が空いおるんだよ。" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "どうしお他の堎所に移らないんだ" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "どうしお食べ物を探しに行かないんだ" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "倧倉動の前は䜕をしおいたんだ" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "悪いが、助けにはなれない。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" +"移るっおどこぞ野倖で戊うなんお無理だ。䜓調も最悪だし、有甚な技胜もたったく持っおないし、䜕よりず暎力が怖い。どうやっお安党な堎所を芋぀けろっお蚀うんだ" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" +"他の堎所ぞ行く自殺行為だ有胜な奎らは出掛けおいっお誰も垰っおこないし、私には自分の䜏凊もない。ここで物乞いを続けながら、センタヌで誰かが死んで空き郚屋ができるのを埅っおいた方がたしさ。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" +"私は高校の数孊教垫だ。いい職堎だったよ。仕事を愛しおいた。滑皜なこずに、倧倉動埌の䞖界には党く圹に立たいけどね。぀たり、今埌再び教垫が必芁になる時期は来るだろうけど、珟状では、食べ物ず避難堎所ず服が倧事っおこずさ。" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "段ボヌルの事は話したっけ君、段ボヌル持っおる" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "段ボヌル" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "どうしおこんな所に座っおいるんだ" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "その恐竜の着ぐるみは䜕かの冗談か" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "段ボヌルで家を建おおいるんだ。眠りの粟には奜かれおいないようだが、私も奎に蚀っおやったんだ、倱せろっおね。" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "どうしお段ボヌルなんだ" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "もうそろそろ行かないず..." + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" +"たくさん手に入るからな。それにゟンビ陀けになる。段ボヌルのお陰で今たで無事だったんだ。ゟンビの栞から攟射されるベヌタ線を段ボヌルが反射しおくれる。そうやっおダメヌゞを防いでいるんだ。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "あの臆病者どもは私を恐れおいるんだ。私を拠点内に入れようずしない。だから私は自分で家を建おる。もちろん奎らは絶察に䞭に入れおやらない。" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "家を建おおいる" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "いいえ。" + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "段ボヌルの話は䜕だっけ" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "あんなろくでなし共を気にするこずはない。" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "調子はどう" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "そうだな...さようなら。" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "奎らは「持ち過ぎ」なんだ。共有の粟神が欠けおいる。" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "どうしおこんなずころに䜏んでいるんだ" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "もう行くよ。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "どうしおそんな事を聞くんだ" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "䜕か困っおいるのか" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "病気に眹っおいるから䞭に入れおもらえないのか" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "䜓調が悪いのに、どうやっおここたで来たんだ" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "䞭に入れおもらえないにしおも、どうしおここで寝泊りしおいるんだ" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" +"喘息、糖尿病、関節炎。党郚に困っおる糖尿病は定期的な食事ができなくなっお以来、それほど問題にはなっおいない。いや、問題になっおいないず思いたい。チョコバヌを食べるのは我慢できおいたけれど、倧䜓2か月に䞀回は病院で血液怜査をしなければいけないのが面倒だったな。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "自分の圹割を果たさない奎は䞭に入れおもらえないよ。私は皆の足を匕っ匵るし病匱だから、ここにいるんだ。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" +"少し前に、䜕人かで䞀緒にここたで来たんだ。他の人達は若いし䜓栌も良かったから䞭に入れおもらえた。入れたのはそい぀らが最埌だったな。私は远い返されたよ。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" +"十分運が良いよ。屋根も明かりもあるし、暖も取れる。もしゟンビが珟れおも譊備の人が助けおくれる。そんなに悪くないだろ。もし倖ぞ出たら、屋根も明かりもない状態で食べ物を探さなきゃならない...䜿い叀しの釘みたいにボロボロになっおるだろうね。あるいは、動く死人の仲間入りかな。" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "ちょっず、そこの君。" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "こんな所で䜕をしおいる" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "思わず目に぀いたが、ずいぶん暖かそうな毛皮だな。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "ここに䜏んでいるんだよ。楜しいお友達の集たりに参加できないくらい倉異しおしたったが、芖線で殺すレベルには達しおいないようだ。" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "どうしおここに䜏んでいるんだ" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "君は十分な胜力を持っおいるようだ。䞀緒に行かないか" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" +"自分で家を建おるよりは安党だろう。必芁になったら出掛けお食料を探すさ。ここを汚さず䜿い、ゟンビが来た時に自分の圹割を果たせる限り、ここに臚時の護衛ずしお眮いおもらえるんだ。だが、他の居座り組の所に食料を持っおいったら良い顔はされなかった...きっず埐々に飢えさせる぀もりだ。党員の腹を十分満たすこずはできないが、せめお䜓調が悪くならないよう食料を持ち垰っおきおいた。結局、私を远い出す蚀い蚳を探しおいるんだろうな。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" +"気味が悪いだろムダ毛みたいなものだ。倧倉動からしばらく経っお、至る所から生え始めた。原因は分からない。嫌だからず蚀っお怒っおも仕方がない、たぁ、嫌だけど。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" +"そうだな、芪切な申し出も、党身から生えおる毛に぀いおし぀こく尋ねたりしなかったこずも嬉しく思っおるよ。でも、私はこの隒がしい居座り組達に察しお、ある皮の責任を感じるようになっおしたったんだ。私が物資を枡せる唯䞀の人間である限り、ここを去ろうずは思わない。" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "埡甚ですか 執行官。" @@ -103391,7 +104465,7 @@ msgid "" " have to turn people away, but I like the assignment for the chance to get " "news about the outside world." msgstr "" -"所謂連邊政府の生き残り...いわゆるオヌルドガヌドから䟝頌を受けお、蚪問者の身䜓怜査をやっおいるんだ。ここ最近は疑心暗鬌になっお仕方がない。やっお来た人を远い返すのは心が痛むが、倖の䞖界に぀いお話を聞く機䌚があるのは嬉しいね。" +"連邊政府の生き残り...いわゆるオヌルドガヌドから䟝頌を受けお、蚪問者の身䜓怜査をやっおいるんだ。ここ最近は疑心暗鬌になっお仕方がない。やっお来た人を远い返すのは心が痛むが、倖の䞖界に぀いお話を聞く機䌚があるのは嬉しいね。" #: lang/json/talk_topic_from_json.py msgid "What kind of news?" @@ -107436,6 +108510,44 @@ msgstr "降䞋攻撃は%sに" msgid " phase-strikes %s" msgstr "の降䞋攻撃は%sに" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "突き飛ばし" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "%sを突き飛ばしお" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "は%sを突き飛ばしお" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "噚甚に%sを転ばせお" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "は噚甚に%sを転ばせお" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "刺し貫き" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "%sを容赊なく刺し貫いお" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "は%sを容赊なく刺し貫いお" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "回避カりンタヌ" @@ -115191,7 +116303,7 @@ msgstr "%sを発芋したした" #: src/activity_handlers.cpp msgid "You didn't find anything." -msgstr "䜕も芋぀からりたせんでした。" +msgstr "䜕も芋぀かりたせんでした。" #: src/activity_handlers.cpp #, c-format @@ -115486,6 +116598,11 @@ msgstr "埅機を終えたした。" msgid "%s finishes with you..." msgstr "%sず䜜業を終えたした..." +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "%sは䌚話を終えたした。" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "寝返りを打ちたした..." @@ -115561,6 +116678,11 @@ msgstr "%sを掘り終えたした。" msgid "You finish filling up %s." msgstr "%sに土を埋め終えたした。" +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "%sず觊れ合っお少し心が癒されたした。" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "掗面キットを開け、顔剃りず掗顔をしおさっぱりしたした。" @@ -115569,6 +116691,16 @@ msgstr "掗面キットを開け、顔剃りず掗顔をしおさっぱりした msgid "You give your hair a trim." msgstr "髪を切っお敎えたした。" +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "%sを分解したした。" + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "%sの装填物を抜き取りたした。" + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "収穫可胜な䜜物を党お収穫したした。" @@ -116816,6 +117948,10 @@ msgstr "息づく" msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "呌吞するかのように芏則正しく、わずかに膚らんだり萎んだりしおいたす" +#: src/artifact.cpp +msgid "dead" +msgstr "死んだ" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "觊るず氷のように冷たいです" @@ -119615,10 +120751,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "ファむルが砎損しおいたす、䜕かキヌを抌しお䞋さい..." #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." -msgstr "県球に骚成分ずLSDの混合物を泚入したす。" +#, c-format +msgid "The machine rapidly sets and splints your broken %s." +msgstr "機械が玠早く動き、折れた%sを固定したした。" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -120690,6 +121825,62 @@ msgstr "蜂蜜を倧いに楜しんで食べたした。" msgid "You can't finish it all!" msgstr "食べきれなかった" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "圱がどんどん近づいおきたす。" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "嫌な気分になりたした。" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "匷い恐怖を感じたした。" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "肌がぞわぞわしたす。" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "誰かから狙われおいる気がしたす。" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "嫌な予感がしたす。" + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "たたやっおしたいたしたね" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "甚心深く過ごすべきです。奎らはい぀もこちらを芋おいたす..." + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "倱敗した倱敗した倱敗した倱敗した倱敗した" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "ちょっず萜ち着きたしょう、これさえあれば倧䞈倫です。" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "神経過敏になっおいたす。" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "芖界の端で䜕かが蠢いおいたす。" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "奎らは䜕もかもお芋通しだ..." + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "い぀もより匷い劄執に駆られおいたす。" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "腹が䞀杯になるたで食べ物を詰め蟌み、冬眠の準備をしたした。" @@ -121181,11 +122372,11 @@ msgstr "蚘憶枈みのレシピ" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"怜玢したい文字を入力するず、補䜜アむテムの䞭から怜玢したす。1文字の接頭蟞ずコロン(:)を付けおから入力するず、様々な条件を指定しお怜玢できたす。\n" +"怜玢したい文字を入力するず、補䜜アむテムの䞭から怜玢したす。1文字の接頭蟞ずコロン(:)を付けおから入力するず、様々な条件を指定しお怜玢できたす。耇数のフィルタヌを远加したい堎合はコンマ(,)で区切りたす。\n" "\n" "䟋:\n" @@ -127452,6 +128643,10 @@ msgstr "衚瀺 - デバッグメッセヌゞ" msgid "Crash game (test crash handling)" msgstr "匷制終了凊理テスト" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "生成 - 特殊地圢" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "ゲヌム終了" @@ -127758,22 +128953,25 @@ msgid "Underground" msgstr "地䞋" #: src/game.cpp -msgid "Weather:" +msgid "Weather :" msgstr "倩候: " #: src/game.cpp -msgid "Temperature:" +msgid "Temp :" msgstr "æ°—æž©: " -#: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "月霢 %s" - #: src/game.cpp msgid "Lighting:" msgstr "光量: " +#: src/game.cpp +msgid "Deaf!" +msgstr "難聎" + +#: src/game.cpp +msgid "Sound: " +msgstr "音: " + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -128077,6 +129275,11 @@ msgstr "党おのアむテムを萜ずす" msgid "Attach bag" msgstr "バッグを取り付ける" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "%sず觊れ合う" + #: src/game.cpp msgid "Untie" msgstr "解攟する" @@ -128151,6 +129354,11 @@ msgstr "%1$sは荷物で䞀杯です。%2$sを入れるこずはできたせん msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "%1$sの%2$sには十分な容量がありたせん。䜓積が倧きすぎたす" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "しばらく%sず觊れ合いたすか" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "本圓に奎隷ゟンビを殺したすか" @@ -128908,63 +130116,6 @@ msgstr "抜き取るアむテムを持っおいたせん。" msgid "You're not wielding anything." msgstr "䜕も装備しおいたせん。" -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "%sを所持品に戻したした。" - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "%sは既に空です" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "珟圚の状態では液䜓を抜き取れたせん" - -#: src/game.cpp -msgid "Unload what?" -msgstr "装填物を抜き取るアむテムを遞択" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "%sから匟薬は抜けたせん" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "充電匏の%sから抜き取れるものはありたせん" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "%sは充電されおいたせん。" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "%sは充填されおいたせん。" - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "%sを分解したした。" - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "%sの装填物を抜き取りたした。" - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "未䜿甚の原子力電池(%i)を回収したした。" - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "䜿いかけの原子力電池を陀去するこずはできたせん" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -130439,10 +131590,6 @@ msgstr "はい。" msgid "Yes, and save game before sleeping." msgstr "はい、眠る前にゲヌムを保存したす。" -#: src/handle_action.cpp -msgid "No." -msgstr "いいえ。" - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "眠る前にこれらの道具のスむッチを切ったほうがいいでしょう。" @@ -132962,7 +134109,7 @@ msgstr "装填時間: " #: src/item.cpp msgid "Ammunition: " -msgstr "匟薬: " +msgstr "装填: " #: src/item.cpp msgid "Types: " @@ -136652,12 +137799,7 @@ msgid "No music on device" msgstr "機噚に音楜が入っおいたせん" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "レシピ: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" +msgid "View recipes on E-ink screen" msgstr "画面にレシピを衚瀺する" #: src/iuse.cpp @@ -136727,13 +137869,8 @@ msgid "You turned on music on your %s." msgstr "%sの音楜を再生したした。" #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "衚瀺するレシピを遞択: " - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "画面を切り替えお%sのレシピを衚瀺したした。" +msgid "List recipes:" +msgstr "レシピ: " #: src/iuse.cpp msgid "Your collection of monsters:" @@ -139907,6 +141044,10 @@ msgstr " 砎壊可胜 " msgid "Diggable. " msgstr " 穎掘可胜 " +#: src/map.cpp +msgid "Plowable. " +msgstr "耕䜜可胜" + #: src/map.cpp msgid "Rough. " msgstr " 凞凹 " @@ -146428,7 +147569,7 @@ msgstr "ここには匕き継げる拠点がありたせん" msgid "%s has abandoned the camp." msgstr "%sはキャンプ地を攟棄したした。" -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "玠手" @@ -146666,6 +147807,16 @@ msgstr "%sは髪を綺麗に散髪しおくれたした..." msgid "%s gives you a decent shave..." msgstr "%sは髭を綺麗に剃っおくれたした..." +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "%sず楜しく䌚話したした..." + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "%sず楜しく䌚話したした..." + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -148710,13 +149861,13 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "䟋: -パむプ、-カヌド、-é‹Œ" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" -msgstr "怜玢察象:怜玢文字 の圢匏で蚘述 怜玢察象䟋: c(分類)、m(玠材)、q(性胜):" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" +msgstr "怜玢察象:怜玢文字 の圢匏で蚘述 怜玢察象䟋: c(分類)、m(玠材)、q(性胜)、d(分解アむテム):" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "蚘述䟋: c:食料、m:鉄、q:打蟌" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "蚘述䟋: c:食料、m:鉄、q:打蟌、d:パむプ" #: src/output.cpp msgid "unknown" @@ -149052,6 +150203,10 @@ msgstr "動物を捕獲/解攟" msgid "Load or unload a vehicle" msgstr "車䞡を茉せる/降ろす" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "播皮機に皮を装填する" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -149615,6 +150770,14 @@ msgstr "倧声で叫びたした" msgid "The sound of your voice is almost completely muffled!" msgstr "あなたの声はほずんど聞こえたせん" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "[䞍明瞭な声]" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "[こもった叫び声]" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "あなたの声は非垞に小さく聞こえたす" @@ -150279,10 +151442,6 @@ msgstr "どうしお付いおくるんだ" msgid "This place is dangerous, you shouldn't be here." msgstr "ここは危険だ。早く離れよう。" -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "こんな所で䜕をしおいる" - #: src/player.cpp msgid "That's not true, is it?" msgstr "違うんだろう" @@ -151196,6 +152355,53 @@ msgstr "ここにはアむテムを眮けたせん" msgid " can't place items here!" msgstr "はそこにアむテムを眮けたせん" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "%sを所持品に戻したした。" + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "%sは既に空です" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "珟圚の状態では液䜓を抜き取れたせん" + +#: src/player.cpp +msgid "Unload what?" +msgstr "装填物を抜き取るアむテムを遞択" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "%sから匟薬は抜けたせん" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "充電匏の%sから抜き取れるものはありたせん" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "%sは充電されおいたせん。" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "%sは充填されおいたせん。" + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "未䜿甚の原子力電池(%i)を回収したした。" + +#: src/player.cpp +msgid "You can't remove partially depleted plutonium!" +msgstr "䜿いかけの原子力電池を陀去するこずはできたせん" + #: src/player.cpp #, c-format msgid "Your %s needs %d charge from some UPS." @@ -151660,6 +152866,10 @@ msgstr "このレベルの%s䜜業が退屈なものになっおきたした。" msgid "You resume your task." msgstr "䜜業を再開したした。" +#: src/player.cpp +msgid "Weapon : fists" +msgstr "装備: 玠手" + #: src/player.cpp msgid "Wield what?" msgstr "䜕を装備したすか" @@ -152426,14 +153636,6 @@ msgstr "喘息の発䜜で倒れたした。" msgid "You wheeze and gasp for air." msgstr "苊しそうに喘ぎたした。" -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "骚が柔らかく溶けたかず思うず元に戻りたした。ゎムのようです。" - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "骚が现かく砕けお溶けるような感芚を味わっおいたす。" - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "少しだけ頭痛がしたす。" @@ -153206,15 +154408,6 @@ msgstr "かなり寒い%s" msgid "Freezing!%s" msgstr "猛烈に寒い%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "難聎" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "[音: %d]" - #: src/sidebar.cpp msgid "Parched" msgstr "脱氎状態" @@ -154463,17 +155656,17 @@ msgstr "航行可胜" #: src/veh_interact.cpp #, c-format msgid "Wheels/boat: %s/%s" -msgstr "タむダ/ボヌト: %s/%s" +msgstr "タむダ/ボヌト: %s/%s" #: src/veh_interact.cpp #, c-format msgid "Boat: %s" -msgstr "ボヌト: %s" +msgstr "ボヌト: %s" #: src/veh_interact.cpp #, c-format msgid "Wheels: %s" -msgstr "タむダ: %s" +msgstr "タむダ: %s" #: src/veh_interact.cpp #, c-format @@ -154481,13 +155674,14 @@ msgid "" "Safe/Top Speed: %3d/%3d " "%s" msgstr "" -"速床(安党/最高): %3d/%3d %s" +"速床(安党/最高): %3d/%3d " +"%s" #. ~ /t means per turn #: src/veh_interact.cpp #, c-format msgid "Acceleration: %3d %s/t" -msgstr "加速床: %3d %s/t" +msgstr "加速床: %3d %s/t" #: src/veh_interact.cpp #, c-format @@ -154495,32 +155689,34 @@ msgid "" "Water Safe/Top Speed: " "%3d/%3d %s" msgstr "" -"氎䞊速床(安党/最高): %3d/%3d%s" +"氎䞊速床(安党/最高):%3d/%3d%s" #. ~ /t means per turn #: src/veh_interact.cpp #, c-format msgid "Water Acceleration: %3d %s/t" -msgstr "氎䞊加速床: %3d%s/t" +msgstr "氎䞊加速床: %3d%s/t" #: src/veh_interact.cpp #, c-format msgid "Mass: %5.0f %s" -msgstr "質量: %5.0f %s" +msgstr "質量: %5.0f %s" #: src/veh_interact.cpp #, c-format msgid "" "Cargo Volume: %s / %s %s" -msgstr "積茉量: %s/%s%s" +msgstr "" +"積茉量: " +"%s/%s%s" #: src/veh_interact.cpp msgid "Status:" -msgstr "状態: " +msgstr "状態: " #: src/veh_interact.cpp msgid "Most damaged:" -msgstr "最倧損傷箇所: " +msgstr "最倧損傷: " #: src/veh_interact.cpp msgid "Most damaged (can't repair):" @@ -154528,7 +155724,7 @@ msgstr "最倧損傷(修埩䞍可): " #: src/veh_interact.cpp msgid "Needs repair:" -msgstr "芁修埩: " +msgstr "芁修埩: " #: src/veh_interact.cpp #, c-format @@ -154558,11 +155754,11 @@ msgstr "未舗装道: %4d%%" #: src/veh_interact.cpp #, c-format msgid "Draft: %4.2fm" -msgstr "å–«æ°Ž: %4.2fm" +msgstr "å–«æ°Ž: %4.2fm" #: src/veh_interact.cpp msgid "Name: " -msgstr "名前: " +msgstr "名前: " #: src/veh_interact.cpp msgid "nstall" @@ -154859,10 +156055,10 @@ msgstr "%1$sの%2$sを修埩したした。" msgid "Lost connection with the vehicle due to distance!" msgstr "距離が離れすぎたため、車䞡ずの通信が切れたした" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "バン" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "%sから倧きな爆発音が聞こえたした。" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -155077,12 +156273,12 @@ msgstr "倚重衝突車䞡" #: src/vehicle_move.cpp #, c-format msgid "The %s is too leaky!" -msgstr "%sは燃料が挏れおいお動かない" +msgstr "%sはひどい燃料挏れのため動きたせん" #: src/vehicle_move.cpp #, c-format msgid "The %s doesn't have enough wheels to move!" -msgstr "%sはタむダが足りなくお動かない" +msgstr "%sはタむダ䞍足のため動きたせん" #: src/vehicle_move.cpp #, c-format @@ -155569,18 +156765,23 @@ msgstr "%1$sは%2$s切れのようです。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "%sは長い譊告音を発したした。" +msgid "the %s bang as it starts" +msgstr "%sは砎裂音を立おお始動したした。" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "%sから譊報音が聞こえたした。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "%sは䞀床だけカチッず鳎りたした。" +msgid "the %s clicking once" +msgstr "%sがカチッず音を発したした。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "%sはカチッカチッずいう音を高速で発したした。" +msgid "the %s rapidly clicking" +msgstr "%sはカチカチずせわしない音を発したした。" #: src/vehicle_use.cpp #, c-format @@ -155589,8 +156790,8 @@ msgstr "%sはせわしなく異音を発したした。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "%sはガチャンずいう耳障りな音を発したした。" +msgid "the %s clanking and grinding" +msgstr "%sはカチャカチャず音を立おたした。" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -155610,6 +156811,11 @@ msgstr "ビィィ" msgid "You honk the horn, but nothing happens." msgstr "クラクションを鳎らしたしたが、䜕も起こりたせんでした。" +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "いく぀移動させたすか[%d個](0で取消)" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "拡声噚によっお単玔な旋埋が鳎り響いおいたす。" diff --git a/lang/po/ko.po b/lang/po/ko.po index ff3af5d3940ca..e3dc77b5c9f7f 100644 --- a/lang/po/ko.po +++ b/lang/po/ko.po @@ -4,17 +4,17 @@ # Sail Recycle , 2018 # fenjo , 2018 # byoungheon jeon , 2018 -# 김정국 , 2018 # Vlasov Vitaly , 2018 # indejeC , 2018 # Brett Dong , 2019 +# 김정국 , 2019 # T itan , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: T itan , 2019\n" "Language-Team: Korean (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ko/)\n" @@ -4939,7 +4939,7 @@ msgstr "장거늬 여행용 의류로 만든 ꞉조 의류. 저장 공간읎 많 #: lang/json/ARMOR_from_json.py msgid "light nomad gear" msgid_plural "light nomad gears" -msgstr[0] "" +msgstr[0] "가벌욎 유목믌 왞투" #. ~ Description for light nomad gear #: lang/json/ARMOR_from_json.py @@ -5916,6 +5916,18 @@ msgid "" "from rain." msgstr "큰 죌뚞니 두개와 후드가 달늰 비닐 우비. 비륌 막아쀍니닀." +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -13463,7 +13475,7 @@ msgstr "" #: lang/json/BIONIC_ITEM_from_json.py msgid "Titanium Skeletal Bracing CBM" msgid_plural "Titanium Skeletal Bracing CBMs" -msgstr[0] "" +msgstr[0] "티타늄 댈대 볎강 CBM" #. ~ Description for Titanium Skeletal Bracing CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -13476,7 +13488,7 @@ msgstr "" #: lang/json/BIONIC_ITEM_from_json.py msgid "Kinetic Shock Absorbers CBM" msgid_plural "Kinetic Shock Absorbers CBMs" -msgstr[0] "" +msgstr[0] "욎동충격흡수Ʞ CBM" #. ~ Description for Kinetic Shock Absorbers CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -13486,6 +13498,8 @@ msgid "" "negate damage from severe impacts such as falling, at the cost of reducing " "your ability to move effectively." msgstr "" +"팔곌 상첎의 ì‚Ž 대부분을 대첎하는 유압 용수철곌 접읎식 충전재입니닀. 작동시킀멎 움직읎는 게 조ꞈ 힘듀얎지는 대신 추띜곌 같은 강한 " +"충격의 플핎륌 제거합니닀." #: lang/json/BIONIC_ITEM_from_json.py msgid "Solar Panels CBM" @@ -15791,7 +15805,7 @@ msgstr "횚곌적읎고 섀득적읞 발얞가가 되고 싶은 사람듀을 위 #: lang/json/BOOK_from_json.py msgid "Dungeon Master's Guide: 6th Edition" msgid_plural "Dungeon Master's Guide: 6th Editions" -msgstr[0] "" +msgstr[0] "던전마슀터의 가읎드:6ì°š 개정판" #. ~ Description for Dungeon Master's Guide: 6th Edition #: lang/json/BOOK_from_json.py @@ -15800,6 +15814,8 @@ msgid "" " It's full of information, but finding the things you're looking for can be" " a chore." msgstr "" +"두껍고, 딱딱한 표지로 된 읎 책은 ì „í•Žì ž 낎렀였는 전섀읎나 신화같은 것을 엮은 책읎닀. 정볎가 많지만, 원하는 것을 찟윌렀멎 시간읎 ꜀" +" 걞늎 듯하닀." #: lang/json/BOOK_from_json.py msgid "Duelist's Annual" @@ -15884,7 +15900,7 @@ msgstr "생졎곌 사냥을 닀룚는 잡지. 뒷페읎지에는 곰의 습격 #: lang/json/BOOK_from_json.py msgid "Pitching a Tent" msgid_plural "copies of Pitching a Tent" -msgstr[0] "" +msgstr[0] "천막을 치자의 복사볞" #. ~ Description for Pitching a Tent #: lang/json/BOOK_from_json.py @@ -16630,31 +16646,31 @@ msgid "Spice" msgstr "향신료" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" -msgstr[0] "늬슐링" +msgid "Riesling" +msgid_plural "Riesling" +msgstr[0] "" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "섞계에서 가장 우수한 품질의 귀곚 포도(noble grapes)로 만든 슀파큎링 화읎튞 와읞." #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" -msgstr[0] "샀륎도넀" +msgid "Chardonnay" +msgid_plural "Chardonnay" +msgstr[0] "" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "믞국에서 가장 읞Ʞ 있는 와읞. 읞Ʞ가 좋은데는 ë‹€ 읎유가 있습니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" -msgstr[0] "칎베륎넀 쇌비뇜" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" +msgstr[0] "" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -16682,8 +16698,9 @@ msgstr[0] "위슀킀" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "낚부 지방에서, 낚부 사람읎, 낚부 사람을 위핎 만든 진짜 위슀킀 입니닀!" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -16692,8 +16709,10 @@ msgstr[0] "볎드칎" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "소비에튞 러시아에서는 볎드칎가 당신을 마십니닀!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -16702,8 +16721,10 @@ msgstr[0] "진" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "엘더베늬의 향읎 희믞하게 나지만, 귞냥 술에 가깝습니닀." +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -16712,8 +16733,10 @@ msgstr[0] "럌죌" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "읎 술을 마시고 있윌멎 마치 핎적읎 된듯한 Ʞ분읎 듀지도 몚늅니닀. 아님 말고요." +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -16722,10 +16745,10 @@ msgstr[0] "데킬띌" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." msgstr "" -"벌레는 드시지 마섞요! 잠깐, 읎 병에는 벌레가 없넀요.\n" -"(역죌: 믞국에서는 마쌀팅을 위핎 가끔 테킬띌에 벌레륌 넣얎서 만든닀고 합니닀.)" #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -16813,8 +16836,9 @@ msgstr[0] "롱아음랜드 아읎슀티" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." -msgstr "맛읎 진한 늬큐륎듀을 ì„žì–Žì„œ 전혀 닀륞 맛을 만듀얎낞 혌합죌입니닀." +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -16822,8 +16846,10 @@ msgstr "슀크류드띌읎버 칵테음" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "능청슀러욎 술고래 정비사가 선택한 음료입니닀." +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -16853,8 +16879,9 @@ msgstr[0] "맥죌" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." -msgstr "유늬잔에 띌임을 넣얎서 뚹윌멎 최고입니닀만... 지ꞈ은 귞정도로 욎읎 좋지 않넀요." +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -16909,9 +16936,10 @@ msgstr[0] "밀조죌" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." -msgstr "묎척읎나 독한 구식 밀조죌입니닀. 당신읎 대재앙에 ꎀ한 몚든 것을 잊을 수 있도록 핎죌겠지만, 싀명할 수도 있습니닀." +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -16921,9 +16949,9 @@ msgstr[0] "유러플안 필슀너" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." -msgstr "유럜에서 수입된 필슀너입니닀. 유늬잔 속에 넣얎서 찚갑게 마시멎 최고겠지만 - 당신은 귞런 행욎읎 없군요." +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -16971,9 +16999,9 @@ msgstr[0] "벚Ʞ안 에음" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." -msgstr "벚Ʞ에의 수도사가 손수 양조한 풍믞있고 배륌 채워죌는 맥죌입니닀. 술잔에 따띌 마시멎 최고입니닀." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "imperial stout" @@ -17043,9 +17071,9 @@ msgstr "칌늬몚쵞" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." -msgstr "ì–Žë–€ 읎듀은 맛읎 없닀고 생각하지만, 읎 음료는 젊은읎와 몇몇 국가의 가난한 읎듀읎 슐겚 마시는 음료읎닀." +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -17433,14 +17461,14 @@ msgstr "갓 잘띌낞 신선한 고Ʞ입니닀. 날것윌로 뚹을 수 있ꞎ #: lang/json/COMESTIBLE_from_json.py msgid "scrap of meat" msgid_plural "scraps of meat" -msgstr[0] "" +msgstr[0] "ê³ êž° 조각" #. ~ Description for scrap of meat #: lang/json/COMESTIBLE_from_json.py msgid "" "This is a tiny scrap of edible meat. It's not much, but it'll do in a " "pinch." -msgstr "" +msgstr "뚹을 수 있는 작은 고Ʞ조각. 많지는 않지만, 생졎에 도움읎 될겁니닀." #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" @@ -17470,7 +17498,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooked scrap of meat" msgid_plural "cooked scraps of meat" -msgstr[0] "" +msgstr[0] "고Ʞ조각 (요늬됚)" #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" @@ -17549,7 +17577,7 @@ msgstr[0] "육포" #: lang/json/COMESTIBLE_from_json.py msgid "" "Salty dried meat that lasts for a long time, but will make you thirsty." -msgstr "" +msgstr "말렀서 소ꞈ 처늬륌 핮 였랫동안 썩지 않는 ê³ êž°. 뚹윌멎 갈슝읎 생ꞎ닀." #: lang/json/COMESTIBLE_from_json.py msgid "salted fish" @@ -17560,7 +17588,7 @@ msgstr[0] "생선 소ꞈ절임" #: lang/json/COMESTIBLE_from_json.py msgid "" "Salty dried fish that lasts for a long time, but will make you thirsty." -msgstr "" +msgstr "걎조 처늬한 생선에 소ꞈ 처늬륌 핮 였랫동안 썩지 않게 한 것. 뚹윌멎 목읎 마늅니닀." #: lang/json/COMESTIBLE_from_json.py msgid "jerk jerky" @@ -17572,7 +17600,7 @@ msgstr[0] "읞육 육포" msgid "" "Salty dried human flesh that lasts for a long time, but will make you " "thirsty." -msgstr "" +msgstr "말렀서 소ꞈ 처늬륌 핮 였랫동안 썩지 않게 한 읞육. 뚹윌멎 갈슝읎 생ꞎ닀." #: lang/json/COMESTIBLE_from_json.py msgid "smoked meat" @@ -17606,12 +17634,12 @@ msgstr "훈제 읞육" msgid "" "A heavily smoked portion of human flesh. Lasts for a long time and tastes " "pretty good, if you like that sort of thing." -msgstr "" +msgstr "훈제한 읞육입니닀. 읞육 섭췚에 거부감만 없닀멎 아죌 맛있고, 장Ʞ 볎졎까지 가능한 고Ʞ입니닀." #: lang/json/COMESTIBLE_from_json.py msgid "piece of raw lung" msgid_plural "pieces of raw lung" -msgstr[0] "" +msgstr[0] "생 폐 조각" #. ~ Description for piece of raw lung #: lang/json/COMESTIBLE_from_json.py @@ -17620,11 +17648,13 @@ msgid "" "quickly. It can be a delicacy if properly prepared - but if improperly " "prepared, it's a chewy lump of flavourless connective tissue." msgstr "" +"동묌에서 꺌낞 폐의 한 부분. 구멍읎 많고 선홍빛을 띠고 빚늬 상한닀. 제대로 요늬하멎 별믞로 뚹을 수 있겠지만, 귞렇지 않닀멎 아묎 " +"맛도 않나는 질ꞎ 고Ʞ덩얎늬 맛읎 날겁니닀." #: lang/json/COMESTIBLE_from_json.py msgid "cooked piece of lung" msgid_plural "cooked pieces of lung" -msgstr[0] "" +msgstr[0] "폐 조각(요늬됚)" #. ~ Description for cooked piece of lung #: lang/json/COMESTIBLE_from_json.py @@ -18091,8 +18121,11 @@ msgstr[0] "컀플" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "컀플입니닀. 종말읎 였Ʞ 전의 아칚에는 음얎나서 읎것을 마시는게 음종의 의식곌도 같았습니닀." +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -18122,8 +18155,8 @@ msgstr[0] "연유" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -18184,8 +18217,10 @@ msgstr "에너지 드링크" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "알귌 때묞에 늊게까지 깚얎있얎알 하는 사람듀 사읎에서 읞Ʞ입니닀." +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -18296,8 +18331,9 @@ msgstr "컀플 우유" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." -msgstr "여러 나띌에서 아칚에 죌로 음용되는 컀플 우유." +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -18305,9 +18341,8 @@ msgstr "밀크티" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "여러 나띌에서 아칚에 자죌 음용되는 밀크티." +msgid "Hot tea with cold milk." +msgstr "찚가욎 우유륌 섞은 뜚거욎 ì°š." #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -18403,8 +18438,10 @@ msgstr "홍찚" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "얎느 곳에서나 신사숙녀륌 대표하는 음료읞 찚입니닀." +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "찻잎에 뜚거욎 묌을 넣얎서 만든 신사듀읎 슐겚마시는 음료." #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -18453,8 +18490,8 @@ msgstr "토마토 소슀" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "토마토 소슀닀. 냠냠." +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "요늬된 토마토에 조믞료륌 첚가한 소슀." #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -18473,8 +18510,10 @@ msgstr[0] "마요넀슈" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "전통적읞 마요넀슈입니닀. 샌드위치에 넣얎 뚹윌멎 맛있습니닀." +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -18482,8 +18521,8 @@ msgstr "쌀첩" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "귞늬욎 지난날읎 떠였륎게 하는 쌀첩윌로 핫도귞에 뿌렀 뚹윌멎 맛있습니닀." +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -18492,8 +18531,10 @@ msgstr[0] "뚞슀타드" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "전통적읞 뚞슀타드입니닀. 햄버거에 넣얎 뚹윌멎 맛있습니닀." +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -18536,8 +18577,10 @@ msgstr[0] "식쎈" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "묎척 시큌한 백식쎈." +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -18556,8 +18599,10 @@ msgstr[0] "당밀" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." -msgstr "마치 타륎처럌 볎읎는 읎 시럜은 굉장히 달멎서도 뒷맛읎 씁쓞합니닀." +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -19680,8 +19725,10 @@ msgstr[0] "메읎플 시럜" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "달달한 진짜 버몬튞 메읎플 시럜입니닀." +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -19950,13 +19997,13 @@ msgstr "" "450g의 고Ʞ와 450g의 탄수화묌읎 듀얎있닀! 잘 데워젞서 좀더 맛있고 배부륎게 뚹을 수 있지만, ꞈ방 상하니 빚늬 뚹얎알 한닀." #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" -msgstr "ë‹­ê³ êž° 튀김" +msgid "deep-fried chicken" +msgstr "" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "ë‹­ê³ êž° 튀김 한 움큌입니닀. 너묎 맛있는 것읎 닚점입니닀." +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -20313,8 +20360,10 @@ msgstr "런천 믞튞" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "맛있는 런천 믞튞입니닀. 찚가워도 뚹을만합니닀." +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -20323,9 +20372,10 @@ msgstr "볌로냐 소시지" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." -msgstr "런천 믞튞의 음종윌로, 잘띌진 상태입니닀. 찚가워도 뚹을만합니닀." +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -20800,9 +20850,9 @@ msgstr "읞육 볌로냐 소시지" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." -msgstr "런천 믞튞의 음종윌로, 읞육윌로 만듀얎졌윌며 잘띌진 상태입니닀. 찚가워도 뚹을만합니닀." +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -21970,6 +22020,22 @@ msgstr "" "감엌을 억제하고 예방하는데 사용하는 항생제. 감엌을 철저히 제거 할만큌 강하지는 않지만 신첎에 대한 저항력을 향상시킚닀. 앜횚는 12시간" " 지속된닀. " +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "" + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -23445,11 +23511,11 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "맀우 시큌한 감귀류 곌음입니닀. ꌭ 뚹얎알만 하겠닀멎 뚹을 수는 있습니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "랔룚베늬" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "" @@ -23457,51 +23523,51 @@ msgstr "" "(역죌: 'blue'에는 'ìš°ìšží•œ'읎띌는 의믞도 있닀.)" #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "딞Ʞ" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "맛있는 곌슙읎 듀얎있는 엎맀. 종종 듀판에서 자띌나는 것을 발견할 수 있닀." #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "크랜베늬" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "새윀한 붉은색 엎맀입니닀. 걎강에 좋습니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "산딞Ʞ" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "달윀한 붉은색 엎맀입니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "월귀나묎 엎맀" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "가끔씩 불룚베늬와 헷갈늬는 월귀나묎 엎맀." #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "였디" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -23509,21 +23575,21 @@ msgid "" msgstr "빚간 였디는 북믞 동부 지역에서만 나타나며 섞계에서 가장 풍믞가 ë›°ì–Žë‚œ 종윌로 알렀젞 있습니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "딱쎝나묎 엎맀" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "날것윌로 뚹윌멎 독성읎 있윌니 요늬핎 뚹는 것읎 좋닀." #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" msgstr[0] "" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "" @@ -23558,11 +23624,11 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "새윀 달윀한 감귀류 곌음입니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "첎늬" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "나묎에서 자띌는 붉고 달윀한 곌음입니닀." @@ -23578,11 +23644,11 @@ msgid "" msgstr "적당히 큰 볎띌색 자두입니닀. 몞에 좋고, 소화륌 돕습니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "포도" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "슙읎 많은 포도 한 송읎." @@ -23634,11 +23700,11 @@ msgid "A large and very sweet fruit." msgstr "크고 아죌 달윀한 곌음입니닀." #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "랔랙베늬" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "산딞Ʞ의 검은색 사쎌입니닀." @@ -23681,10 +23747,11 @@ msgid "" msgstr "í„žë¡œ 뒀덮읞 갈색 껍질의 알찬 엎맀. 쎈록색 낎용묌읎 맛있닀." #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "삎구" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "부드러욎 쎉감의 곌음로, 복숭아와 비슷한 곌음입니닀." @@ -23738,8 +23805,8 @@ msgstr "양배추" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "뚞늬통 크Ʞ의 바슀띜거늬는 백양배추." +msgid "Crisp white cabbage." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -23822,8 +23889,8 @@ msgstr "였읎" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "박곌에 속하는 식묌로, 맛은 없지만 수분은 많습니닀." +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -24237,6 +24304,10 @@ msgstr[0] "랔랙베늬 씚앗" msgid "Some blackberry seeds." msgstr "앜간의 랔랙베늬 씚앗." +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -24247,6 +24318,10 @@ msgstr[0] "랔룚베늬 씚앗" msgid "Some blueberry seeds." msgstr "앜간의 랔룚베늬 씚앗." +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -24257,6 +24332,10 @@ msgstr[0] "크랜베늬 씚앗" msgid "Some cranberry seeds." msgstr "앜간의 크랜베늬 씚앗." +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -24267,6 +24346,10 @@ msgstr[0] "월귀나묎 씚앗" msgid "Some huckleberry seeds." msgstr "앜간의 월귀나묎 씚앗" +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -24277,6 +24360,10 @@ msgstr[0] "였디 씚앗" msgid "Some mulberry seeds." msgstr "앜간의 였디 씚앗" +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -24287,6 +24374,10 @@ msgstr[0] "딱쎝나묎 씚앗" msgid "Some elderberry seeds." msgstr "앜간의 딱쎝나묎 씚앗." +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -24297,6 +24388,10 @@ msgstr[0] "띌슈베늬 씚앗" msgid "Some raspberry seeds." msgstr "앜간의 산딞Ʞ 씚앗." +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -24307,6 +24402,10 @@ msgstr[0] "딞Ʞ 씚앗" msgid "Some strawberry seeds." msgstr "앜간의 딞Ʞ 씚앗." +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -24317,6 +24416,10 @@ msgstr[0] "포도 씚앗" msgid "Some grape seeds." msgstr "앜간의 포도 씚앗" +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -27084,6 +27187,18 @@ msgstr[0] "유핎 폐Ʞ묌 볎ꎀ통" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "유핎 폐Ʞ묌을 저장할 때 쓰읎는 녞란색 원형 드럌통." +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -30533,9 +30648,8 @@ msgstr[0] "돌을 넣은 양말" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." -msgstr "돌을 넣고 묶은 양말. 절박핚의 상징읎띌고 할 수 있는 묎Ʞ닀." +msgid "A pair of nested socks filled with a stone. A true weapon of despair." +msgstr "" #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -33040,6 +33154,16 @@ msgstr[0] "췚권곌 당신" msgid "A complete guide to Zui Quan." msgstr "췚권에 대한 완벜한 안낎서." +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -34899,6 +35023,337 @@ msgid "belt ammo link" msgid_plural "belt ammo links" msgstr[0] "벚튞 탄앜 연결부" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -38124,6 +38579,15 @@ msgid "" "other gun mods." msgstr "쎝Ʞ와 탄앜을 ê°„ë‹ší•œ 형태로 대첎합니닀. 죌의: 닀륞 쎝Ʞ 몚드와 충돌할 수 있음." +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "바읎였닉 섀치 메뉎얌" @@ -52853,6 +53317,14 @@ msgid "inactive military robot" msgid_plural "inactive military robots" msgstr[0] "" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -53763,6 +54235,10 @@ msgstr "찚량 작업을 쀑닚합니까?" msgid "Stop training?" msgstr " 훈렚을 쀑닚합니까?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr " 응꞉처치륌 쀑닚합니까?" @@ -53931,10 +54407,18 @@ msgstr "" msgid "Stop cutting your hair?" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express" @@ -56830,6 +57314,17 @@ msgid "AI tag for asking to NPCs to train you. This is a bug if you have it." msgstr "" "AI tag for asking to NPCs to train you. This is a bug if you have it." +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "Asked Info" @@ -58166,21 +58661,6 @@ msgstr "혞흡하Ʞ 힘듀닀." msgid "The ceiling collapses on you!" msgstr "뚞늬 위의 천장읎 묎너집니닀!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "쀄Ʞ섞포 치료" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "앜묌 횚곌 때묞에, 몞읎 읎상하게 변하고 있닀." - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "안구에 의료용 곚격 접착제와 에나멜을 삜입했닀." - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "" @@ -58726,6 +59206,15 @@ msgstr "" msgid "You feel incredible! You could take on the world!" msgstr "" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "" + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "" @@ -66930,6 +67419,9 @@ msgid "" "to react. Pressing will toggle \"Safe Mode\". While this is" " on, any movement will be ignored if new monsters enter the player's view." msgstr "" +"게임을 하닀 볎멎 읎동킀륌 계속 누륞 상태로 빚늬 읎동하고 싶을 때가 있습니닀. 하지만 로귞띌읎크 게임에서 빠륞 읎동은 캐늭터륌 위험한 " +"상황에 처하게 하거나 심지얎는 대응을 하Ʞ도 전에 죜게 할 수도 있습니닀. 읎럎 때 킀륌 눌러서 " +"\"안전몚드\"륌 쌜놓을 수 있습니닀. 안전몚드가 쌜젞있윌멎 새로욎 적읎 시알에 듀얎올 때 읎동을 멈춥니닀." #: lang/json/help_from_json.py msgid ": Viewing" @@ -70496,7 +70988,7 @@ msgstr "아니였" #: lang/json/keybinding_from_json.py msgid "Ignore further distractions and finish" -msgstr "" +msgstr "(I)작업완료까지 ë°©í•Ž 묎시" #: lang/json/keybinding_from_json.py msgid "Cancel popup" @@ -70989,14 +71481,14 @@ msgid "Analyze blood" msgstr "혈액 분석" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "Mr. 쀄Ʞ 섞포" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "쀄Ʞ 섞포 치료" +msgid "Bonesetting Treatment" +msgstr "" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -72369,6 +72861,36 @@ msgstr "" "+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " "armor, +Perception fire armor." +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "쀑섞 검술" @@ -75571,6 +76093,10 @@ msgstr "%s(을)륌 슐김" msgid "Enjoyed a hot meal" msgstr "따뜻한 음식을 맛있게 뚹음" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "음악" @@ -75781,6 +76307,10 @@ msgstr "깔끔하게 멎도" msgid "Barfed" msgstr "메슀꺌움" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "" @@ -76904,6 +77434,18 @@ msgid "" "unique pleasure to you." msgstr "고통에 따륞 부정적읞 횚곌륌 겪Ʞ는 하지만, 고통에 따띌 아죌 특수한 쟌띜도 핚께 찟아옵니닀." +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -77038,9 +77580,8 @@ msgstr "귌접 묎Ʞ술 수렚" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." msgstr "" -"당신은 묎Ʞ륌 가지고 싞우는 방법을 훈렚받았습니닀. 에슀크늬마, 펜싱, 픈짝 싀랏, 혹은 읎천음류 쀑 하나륌 선택핎서 시작합니닀." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -77696,6 +78237,17 @@ msgid "" "you heal much slower. Stacks with Glass Jaw." msgstr "당신의 신첎는 묎척 허앜합니닀. 최대 첎력읎 75% 감소하고 회복 속도가 많읎 느렀집니닀. 유늬 턱곌 쀑첩 가능합니닀." +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "거친 플부" @@ -82418,6 +82970,10 @@ msgstr "아플슀" msgid "I'm bugged - I shouldn't talk to you." msgstr "나 버귞 걞렞얎, 귞래서 아묎 말도 못핎." +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -82737,6 +83293,30 @@ msgstr "앜탈자" msgid "Psycho" msgstr "" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "칚략자" @@ -89002,6 +89582,112 @@ msgstr "" "종말읎 였Ʞ 전에, 당신의 췚믞는 상업 로뎇을 재프로귞래밍하고 재찜조하는 것읎었습니닀. 귞러나 당신의 생졎읎 ê·ž 췚믞에 달렀 있닀는 것은" " 생각하지도 못했습니닀." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -92344,7 +93030,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Put a funnel over a jug or barrel to collect rainwater over time." -msgstr "" +msgstr "액첎륌 닎을 수 있는 용Ʞ위에 깔때Ʞ륌 섀치하멎 빗묌을 몚을 수 있닀." #: lang/json/snippet_from_json.py msgid "" @@ -97284,6 +97970,67 @@ msgstr "묌... 귌처에 였아시슀가 있을까?" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "탈수로 죜는 것읎 수멎 부족윌로 죜는 것볎닀 빠륎닀는 ê±° 알아?" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "" @@ -98824,6 +99571,18 @@ msgstr "" msgid "You're going to pay for that, !" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "" @@ -98840,6 +99599,10 @@ msgstr "" msgid "What's that noise?" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "" @@ -98849,7 +99612,7 @@ msgid "What's that sound? I heard" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" +msgid "What's there? I heard" msgstr "" #: lang/json/snippet_from_json.py @@ -98857,7 +99620,7 @@ msgid "Did you hear that? Sounded like" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" +msgid "What is making that sound? I can hear the" msgstr "" #: lang/json/snippet_from_json.py @@ -98993,6 +99756,10 @@ msgstr "" msgid " " msgstr "" +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "" @@ -99005,10 +99772,6 @@ msgstr "좀비" msgid "Z's" msgstr "" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "죜은" - #: lang/json/snippet_from_json.py msgid " " msgstr "" @@ -102425,6 +103188,42 @@ msgstr "거래하자." msgid "I can't leave the shelter without equipment." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "Ꞁ쎄, 볎꞉품하고 닀륞 생졎자륌 찟아볎는 걎 얎떚까." @@ -103727,6 +104526,268 @@ 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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "아니였." + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "" @@ -108183,6 +109244,44 @@ msgstr "" msgid " phase-strikes %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "" @@ -116199,6 +117298,11 @@ msgstr "Ʞ닀늬는 것을 멈췄닀." msgid "%s finishes with you..." msgstr "%s읎(가) 끝났닀..." +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "" @@ -116274,6 +117378,11 @@ msgstr "" msgid "You finish filling up %s." msgstr "" +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "멎도도구륌 꺌낎서 멎도했닀." @@ -116282,6 +117391,16 @@ msgstr "멎도도구륌 꺌낎서 멎도했닀." msgid "You give your hair a trim." msgstr "뚞늬칎띜을 닀듬었닀." +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "%s을(륌) 분핎했닀." + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "%s의 낎용묌을 회수했닀." + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "" @@ -117508,6 +118627,10 @@ msgstr "숚쉬는" msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "마치 숚쉬듯읎, 음정한 죌Ʞ로 믞섞하게 쀄얎듀었닀 컀지고 있닀." +#: src/artifact.cpp +msgid "dead" +msgstr "죜은" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "얌음을 만지는 것처럌 ì°šê°‘ë‹€." @@ -120275,12 +121398,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "파음읎 손상되었습니닀. 아묎 킀나 눌러죌섞요..." #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." msgstr "" -"Ʞ계가 안구에\n" -"LSD와 댈 퓌레의 용핎액을 죌사하였닀." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -121284,6 +122404,62 @@ msgstr "달윀한 꿀을 아죌 맛있게 슐게닀." msgid "You can't finish it all!" msgstr "ë‹€ 뚹을 수 없닀!" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "" + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "" + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "" + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "겚욞잠을 대비하여 엎량을 볎충핎알 한닀." @@ -121773,7 +122949,7 @@ msgstr "" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" @@ -127750,6 +128926,10 @@ msgstr "" msgid "Crash game (test crash handling)" msgstr "" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "메읞 메뉎로 나가Ʞ" @@ -128038,22 +129218,25 @@ msgid "Underground" msgstr "지하" #: src/game.cpp -msgid "Weather:" -msgstr "날씚:" - -#: src/game.cpp -msgid "Temperature:" +msgid "Weather :" msgstr "" #: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "달 %s" +msgid "Temp :" +msgstr "" #: src/game.cpp msgid "Lighting:" msgstr "밝Ʞ:" +#: src/game.cpp +msgid "Deaf!" +msgstr "귀뚹음!" + +#: src/game.cpp +msgid "Sound: " +msgstr "" + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -128357,6 +129540,11 @@ msgstr "몚든 묌품 버늬Ʞ" msgid "Attach bag" msgstr "가방 메게 하Ʞ" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "" + #: src/game.cpp msgid "Untie" msgstr "풀Ʞ" @@ -128431,6 +129619,11 @@ msgstr "%1$s의 소지묎게가 한도에 달했닀. %2$s을(륌) 옮Ꞟ 수 없 msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "%1$s에는 %2$s을(륌) 넣을 공간읎 없닀, 너묎 크닀!" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "정말로 녞예 좀비륌 죜읎겠습니까?" @@ -129183,63 +130376,6 @@ msgstr "회수할 것읎 없닀." msgid "You're not wielding anything." msgstr "손에 듀고 있는 것읎 없닀." -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "%s을(륌) 회수했닀." - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "%s은(는) 읎믞 비얎있닀!" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "" - -#: src/game.cpp -msgid "Unload what?" -msgstr "묎엇의 낎용묌을 회수합니까?" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "%s의 낎용묌을 회수할 수 없닀!" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "재충전식 %s에서는 배터늬륌 빌낌 수 없닀!" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "%s은(는) 충전되지 않았닀." - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "%s은(는) 장전되지 않았닀." - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "%s을(륌) 분핎했닀." - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "%s의 낎용묌을 회수했닀." - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "믞사용 플룚토늄 %i개륌 회수했닀." - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "부분적윌로 고갈된 플룚토늄은 제거할 수 없닀!" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -130716,10 +131852,6 @@ msgstr "ë„€." msgid "Yes, and save game before sleeping." msgstr "ë„€, 귞늬고 자Ʞ 전에 게임을 저장합니닀." -#: src/handle_action.cpp -msgid "No." -msgstr "아니였." - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "자Ʞ 전에 읎것듀을 꺌두는 것읎 좋습니닀." @@ -136918,13 +138050,8 @@ msgid "No music on device" msgstr "장치에 음악읎 졎재하지 않음" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "제작법: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" -msgstr "전자잉크 화멎윌로 제작법 볎Ʞ" +msgid "View recipes on E-ink screen" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters" @@ -136993,13 +138120,8 @@ msgid "You turned on music on your %s." msgstr "%s윌로 음악을 쌰닀." #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "표시할 제작법 선택:" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "태랔늿 화멎읎 %s의 제작법을 표시하도록 변겜했닀." +msgid "List recipes:" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -140175,6 +141297,10 @@ msgstr "파ꎎ가능. " msgid "Diggable. " msgstr "굎착가능. " +#: src/map.cpp +msgid "Plowable. " +msgstr "" + #: src/map.cpp msgid "Rough. " msgstr "ê±°ì¹ ë‹€. " @@ -146680,7 +147806,7 @@ msgstr "" msgid "%s has abandoned the camp." msgstr "" -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "죌뚹" @@ -146918,6 +148044,16 @@ msgstr "%s읎(가) 뚞늬륌 깔끔하게 닀듬얎쀬닀..." msgid "%s gives you a decent shave..." msgstr "%s읎(가) 멎도륌 깔끔하게 핎쀬닀..." +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "" + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -148962,13 +150098,13 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "예: -파읎프,-,조각,-강철 등" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" -msgstr "검색 [c]칎테고늬 또는 [m]재료:" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" +msgstr "" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "예시: c:음식, m:ꞈ속, q:망치" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "" #: src/output.cpp msgid "unknown" @@ -149305,6 +150441,10 @@ msgstr "" msgid "Load or unload a vehicle" msgstr "" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -149866,6 +151006,14 @@ msgstr "아죌 크게 고핚을 질렀닀!" msgid "The sound of your voice is almost completely muffled!" msgstr "낮 목소늬가 거의 완전히 막혀 듀늬지 않는닀!" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "낮 목소늬가 상당히 막혀 듀늬지 않는닀!" @@ -150391,7 +151539,7 @@ msgstr "%s을(륌) 계속하Ʞ엔 너묎 지쳀닀." #: src/player.cpp msgid "You're drowning!" -msgstr "몞읎 흠뻑 젖었닀!" +msgstr "묌에 익사하고 있닀!" #. ~Sound of buzzing Insect Wings #: src/player.cpp @@ -150529,10 +151677,6 @@ msgstr "" msgid "This place is dangerous, you shouldn't be here." msgstr "" -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "" - #: src/player.cpp msgid "That's not true, is it?" msgstr "" @@ -151446,6 +152590,53 @@ msgstr "귞곳에 묌품을 놓을 수 없닀!" msgid " can't place items here!" msgstr "읎(가) 귞곳에 묌품을 놓을 수 없닀!" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "%s을(륌) 회수했닀." + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "%s은(는) 읎믞 비얎있닀!" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "" + +#: src/player.cpp +msgid "Unload what?" +msgstr "묎엇의 낎용묌을 회수합니까?" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "%s의 낎용묌을 회수할 수 없닀!" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "재충전식 %s에서는 배터늬륌 빌낌 수 없닀!" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "%s은(는) 충전되지 않았닀." + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "%s은(는) 장전되지 않았닀." + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "믞사용 플룚토늄 %i개륌 회수했닀." + +#: src/player.cpp +msgid "You can't remove partially depleted plutonium!" +msgstr "부분적윌로 고갈된 플룚토늄은 제거할 수 없닀!" + #: src/player.cpp #, c-format msgid "Your %s needs %d charge from some UPS." @@ -151910,6 +153101,10 @@ msgstr "읎 정도의 %s작업은 쉬워진 것 같닀." msgid "You resume your task." msgstr "작업을 재개했닀." +#: src/player.cpp +msgid "Weapon : fists" +msgstr "" + #: src/player.cpp msgid "Wield what?" msgstr "묎엇을 듭니까?" @@ -152682,14 +153877,6 @@ msgstr "천식 발작윌로 읞핎 쓰러졌닀." msgid "You wheeze and gasp for air." msgstr "혞흡읎 힘듀얎 겚우 숚을 쉬었닀." -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "댈가 고묎처럌 되얎 녹았닀가, 닀시 복구되는 것을 느ꌈ닀." - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "몞의 댈가 잘게 부서지는 것 같닀." - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "뚞늬가 조ꞈ 욱신거늰닀." @@ -153463,15 +154650,6 @@ msgstr "심한 추위!%s" msgid "Freezing!%s" msgstr "극심한 추위!%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "귀뚹음!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "소음 %d" - #: src/sidebar.cpp msgid "Parched" msgstr "심한 탈수슝" @@ -155111,10 +156289,10 @@ msgstr "%1$s의 %2$s을(륌) 수늬했닀." msgid "Lost connection with the vehicle due to distance!" msgstr "거늬가 너묎 멀얎젞서 찚량곌의 연결읎 끊게닀!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "쟅!" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -155821,18 +156999,23 @@ msgstr "%1$s에는 %2$s읎(가) 없는것 같닀." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "%s읎(가) Ꞟ게 삑 소늬륌 냈닀." +msgid "the %s bang as it starts" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "%s읎(가) 한 번 딞깍거늬는 소늬륌 냈닀." +msgid "the %s clicking once" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "%s읎(가) 빠륎게 딞깍거늬는 소늬륌 냈닀." +msgid "the %s rapidly clicking" +msgstr "" #: src/vehicle_use.cpp #, c-format @@ -155841,8 +157024,8 @@ msgstr "%s읎(가) 드드드득 소늬륌 냈닀." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "%s읎(가) 시끄럜게 철컀덕 소늬륌 냈닀." +msgid "the %s clanking and grinding" +msgstr "" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -155862,6 +157045,11 @@ msgstr "삐읎익!" msgid "You honk the horn, but nothing happens." msgstr "겜적을 욞렞지만, 아묎 음도 음얎나지 않았닀." +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "확성Ʞ에서 닚조로욎 멜로디가 욞렀퍌지고 있닀." diff --git a/lang/po/pl.po b/lang/po/pl.po index 4b0cb70ada0b7..7a67c51a6b98f 100644 --- a/lang/po/pl.po +++ b/lang/po/pl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Aleksander Sienkiewicz , 2019\n" "Language-Team: Polish (https://www.transifex.com/cataclysm-dda-translators/teams/2217/pl/)\n" @@ -7255,6 +7255,21 @@ msgstr "" "Plastikowy płaszcz z kapturem w dwiema duÅŒymi kieszeniami. Zapewnia ochronę " "przed deszczem." +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -21693,41 +21708,41 @@ msgid "Spice" msgstr "Przyprawa" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" -msgstr[0] "wino riesling" -msgstr[1] "wino riesling" -msgstr[2] "wino riesling" -msgstr[3] "wino riesling" +msgid "Riesling" +msgid_plural "Riesling" +msgstr[0] "wino Riesling" +msgstr[1] "wino Riesling" +msgstr[2] "wino Riesling" +msgstr[3] "wino Riesling" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "" "Musujące białe wino, z najszlachetniejszych światowych odmian winogron." #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" -msgstr[0] "wino chardonnay" -msgstr[1] "wino chardonnay" -msgstr[2] "wino chardonnay" -msgstr[3] "wino chardonnay" +msgid "Chardonnay" +msgid_plural "Chardonnay" +msgstr[0] "wino Chardonnay" +msgstr[1] "wino Chardonnay" +msgstr[2] "wino Chardonnay" +msgstr[3] "wino Chardonnay" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "Najpopularniejsze wino Ameryki, nie bez powodu." #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" -msgstr[0] "wino cabernet sauvignon" -msgstr[1] "wino cabernet sauvignon" -msgstr[2] "wino cabernet sauvignon" -msgstr[3] "wino cabernet sauvignon" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" +msgstr[0] "wino Cabernet Sauvignon" +msgstr[1] "wino Cabernet Sauvignon" +msgstr[2] "wino Cabernet Sauvignon" +msgstr[3] "wino Cabernet Sauvignon" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -21763,8 +21778,11 @@ msgstr[3] "whiskey" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "Stworzone z, przez i dla południowych poruczników." +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "" +"Destylowany z ziaren alkohol. Stworzony z, przez i dla południowych " +"poruczników!" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -21776,8 +21794,12 @@ msgstr[3] "wódka" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "W Sowieckiej Rosji wódka pije ciebie!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" +"Napój z alkoholu, wody i w zasadzie niczego poza tym. W Ameryce ludzie " +"tworzą wódkę, w Sowieckiej Rosji wódka tworzy człowieka." #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -21789,8 +21811,12 @@ msgstr[3] "dÅŒin" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "Lekko pachnie bzem, ale głównie gorzałą." +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" +"Napój alkoholowy aromatyzowany jagodami jałowca. Pachnie lekko jałowcem, ale" +" głównie alkoholem." #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -21802,8 +21828,12 @@ msgstr[3] "rum" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "Picie tego sprawi, ÅŒe będziesz piracił. A moÅŒe i nie." +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "" +"Napój alkoholowy produkowany z fermentującej melasy. Picie go moÅŒe sprawić " +"ÅŒe poczujesz się jak pirat. Albo i nie." #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -21815,8 +21845,12 @@ msgstr[3] "tequila" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "Ne zjedz robaka. Chwila! W tej butelce nie ma robaka." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "" +"Destylowany napój alkoholowy z sukulentu z kolczastymi liśćmi. Nie jesz " +"robaka! Zaraz, w tej butelce nie ma robaka." #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -21931,10 +21965,12 @@ msgstr[3] "long island iced tea" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." msgstr "" "Mieszanka niezwykle wyrazistych w smaku alkoholi, która nie smakuje jak " -"ÅŒaden z nich." +"ÅŒaden z nich. Nie zawiera herbaty, ale dodatek koli daje mu podobny do " +"herbaty kolor." #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -21942,8 +21978,12 @@ msgstr "koktajl screwdriver" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "Dyskretny wybór wiecznie narąbanego mechanika." +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "" +"Miks soku pomarańczowego i wódki. Dyskretny wybór wiecznie narąbanego " +"mechanika." #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -21982,10 +22022,11 @@ msgstr[3] "piwo" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." msgstr "" -"Najlepiej podane zimne, w kuflu, z limonką - ale takiego szczęścia nie " -"uświadczysz." +"Alkohol z ziaren aromatyzowany chmielem. Najlepiej podane zimne, w kuflu, z " +"limonką - ale takiego szczęścia nie uświadczysz." #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -22060,11 +22101,13 @@ msgstr[3] "bimber" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." msgstr "" -"Tylko najmocniejszy, najczystszy, dobry stary bimber. Gwarantowane " -"zapomnienie o tym całym kataklizmie, lub zwracamy wzrok." +"Tylko najmocniejszy, najczystszy, dobry stary bimber, destylowany z " +"kukurydzy i cukru. Gwarantowane zapomnienie o tym całym kataklizmie, lub " +"zwracamy wzrok." #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -22077,11 +22120,11 @@ msgstr[3] "europejski pilzner" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." msgstr "" -"Pilzner importowany z europy. Najlepiej podany zimny w kuflu, ale takiego " -"szczęścia nie uświadczysz." +"Jasne pełne importowane z Europy. Najlepiej podane zimne w kuflu, ale " +"takiego szczęścia nie uświadczysz." #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -22141,7 +22184,7 @@ msgstr[3] "belgijskie piwo ale" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." msgstr "" "Pełne smaku piwo waÅŒone przez mnichów w Belgii. Najlepsze będzie gdy go pić " @@ -22228,11 +22271,11 @@ msgstr "calimocho" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." msgstr "" -"Nie tak złe jak by ktoś sobie wyobraÅŒał, ten drink jest popularny wśród " -"młodzieÅŒy i ubóstwa w niektórych krajach. Mieszkanka koli z winem." +"Miks pół na pół wina i koli. Nie tak zły, jakby to ktoś to sobie wyobraÅŒał, " +"ten drink jest popularny wśród młodzieÅŒy i ubóstwa w niektórych krajach." #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -23506,8 +23549,14 @@ msgstr[3] "kawa" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "Kawa. Poranny rytuał przedapokaliptycznego świata." +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" +"Poranny rytuał świata sprzed apokalipsy, zrobiony z jagód kawy, w procesie " +"usuwania, praÅŒenia, mielenia i zaparzania ziaren. Kawa jest znacząco " +"bogatsza w kofeinę niÅŒ konkurencyjna herbata." #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -23542,11 +23591,11 @@ msgstr[3] "mleko skondensowane" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" -"Jedzenie małych cielaków, przetworzone dla duÅŒych ludzi. Mleko osłodzono i " -"zagęszczono, zmieniając w słodki dodatek do dowolnego jedzenia." +"Krowie mleko częściowo zagęszczone przez odwodnienie dla znacznego " +"wydłuÅŒenia ÅŒywotności, i ponadto osłodzone." #: lang/json/COMESTIBLE_from_json.py msgid "cream soda" @@ -23613,8 +23662,12 @@ msgstr "napój energetyczny" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "Popularny wśród tych co muszą być na nogach późno w nocy." +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" +"Mocno napompowany kofeiną drink bezalkoholowy. Popularny wśród tych co muszą" +" być na nogach późno w nocy." #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -23748,8 +23801,10 @@ msgstr "biała kawa" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." -msgstr "Kawa z mlekiem to w zasadzie oficjalny poranny napój w wielu krajach." +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." +msgstr "" +"Syrop kawowy zmieszany z mlekiem. Drink stanowy Rhode Island od 1993 r." #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -23757,10 +23812,8 @@ msgstr "bawarka" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "" -"Zwykle pita o poranku, herbata z mlekiem jest popularna w wielu krajach." +msgid "Hot tea with cold milk." +msgstr "Gorąca herbata z zimnym mlekiem." #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -23872,8 +23925,12 @@ msgstr "herbata" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "Herbata, powszechny napój dÅŒentelmenów." +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "" +"Napój gentlemanów z całego świata, zrobiony poprzez zaparzenie liści krzewu " +"herbacianego /Camellia sinensis/." #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -23933,8 +23990,8 @@ msgstr "koncentrat pomidorowy" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "Sos pomidorowy, mniam." +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "Delikatnie doprawiony sos z gotowanych pomidorów." #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -23959,8 +24016,11 @@ msgstr[3] "majonez" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "Stary dobry majonez, doskonały do kanapek." +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "" +"Gęsty miks z jajek, oleju i soli, tradycyjnie uÅŒywany do nawilÅŒania kanapek." #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -23968,8 +24028,8 @@ msgstr "keczup" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "Stary dobry keczup, świetnie smakuje na hot dogach." +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "Gęsta pasta z pomidorów, soli i octu." #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -23981,8 +24041,12 @@ msgstr[3] "musztarda" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "Stara dobra musztarda, świetnie smakuje na hamburgerze." +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" +"Przyprawa robiona z nasion gorczycy (/Brassica/ lub /Sinapis/), octu, soli i" +" przypraw." #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -24033,8 +24097,12 @@ msgstr[3] "ocet" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "Szokująco cierpki biały ocet." +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" +"Szokująco kwaśny biały ocet. To co otrzymasz jak zbyt długo fermentujesz " +"swój alkohol." #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -24059,9 +24127,13 @@ msgstr[3] "melasa" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." msgstr "" -"Niezwykle słodki przypominający smołę syrop, z lekko gorzkawym posmakiem." +"Niezwykle słodki przypominający smołę syrop, z lekko gorzkawym posmakiem, " +"produkowany przez wielokrotne gotowanie soku z trzciny cukrowej lub buraków " +"cukrowych." #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -25479,8 +25551,11 @@ msgstr[3] "syrop klonowy" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "Słodki smaczny syrop klonowy prosto z Vermont." +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" +"Gotowanie ÅŒywicy klonowej skoncentrowało ją w słodki i pyszny syrop klonowy." #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -25809,14 +25884,13 @@ msgstr "" "Smaczniejsze i bardziej sycące, ale szybko się zepsuje." #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" +msgid "deep-fried chicken" msgstr "kurczak smaÅŒony w głębokim tłuszczu" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "" -"Garść kawałków kurczaka smaÅŒonych w głębokim tłuszczu. Tak złe, ÅŒe aÅŒ dobre." +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "Kurczak gotowany przez zanurzenie w oleju. Jest tłusty i smaczny." #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -26261,8 +26335,12 @@ msgstr "plastry mięsa" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "Pyszne plasterki mięsa idealne na zimną płytę. " +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" +"Gotowane i konserwowane mięso, pocięte w cienkie plastry dla łatwiejszego " +"robienia kanapek. Smakuje dobrze na zimno." #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -26271,9 +26349,13 @@ msgstr "mortadela" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." -msgstr "Wstępnie pocięta w plastry mortadela, do spoÅŒycia na zimno." +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." +msgstr "" +"Formalnie zwana kiełbasą bolońską, to drobno mielone i konserwowane mięso " +"wstępnie pokrojone w okrągłe plastry. Jego pierwsze imię nie brzmi Oskar. " +"MoÅŒna jeść na zimno." #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -26844,11 +26926,11 @@ msgstr "morda-dela" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." msgstr "" -"Wstępnie pocięta w plastry mortadela z ludzkiego mięsa, do spoÅŒycia na " -"zimno." +"Zakonserwowane i pokrojone ludzkie mięso. Jego pierwsze imię mogło brzmieć " +"Oskar. MoÅŒesz jeść je na zimno jak zimnokrwisty ludoÅŒerca, którym jesteś." #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -28259,6 +28341,24 @@ msgstr "" "infekcję od razu, ale wzmacniają układ odpornościowy przeciwko nim. Jedna " "dawka starcza na dwanaście godzin." +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "syrop na zgagę" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "ZaÅŒywasz syrop na zgagę." + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" +"Kremowo-róŌowy syrop na zgagę, który uśmierza wzburzony ÅŒołądek i uspokaja " +"odruch wymiotny. Ma odkręcaną nakrętkę, która słuÅŒy teÅŒ za dozownik." + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -30008,79 +30108,79 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Kwaśny cytrus. MoÅŒesz ją zjeść jeśli bardzo tego chcesz." #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "jagody" -msgstr[1] "jagody" -msgstr[2] "jagody" -msgstr[3] "jagody" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "garść jagód" +msgstr[1] "garść jagód" +msgstr[2] "garść jagód" +msgstr[3] "garść jagód" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Niebieskie, co nie znaczy ÅŒe smutne." #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "truskawka" -msgstr[1] "truskawki" -msgstr[2] "truskawek" -msgstr[3] "truskawki" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "garść truskawek" +msgstr[1] "garść truskawek" +msgstr[2] "garść truskawek" +msgstr[3] "garść truskawek" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Pyszne, czerwone, duÅŒe soczyste jagody. Często rosną dziko na polach." #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "ÅŒurawina" -msgstr[1] "ÅŒurawina" -msgstr[2] "ÅŒurawina" -msgstr[3] "ÅŒurawina" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "garść ÅŒurawin" +msgstr[1] "garść ÅŒurawin" +msgstr[2] "garść ÅŒurawin" +msgstr[3] "garść ÅŒurawin" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Kwaśne czerwone jagody. Dobre dla zdrowia." #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "maliny" -msgstr[1] "maliny" -msgstr[2] "maliny" -msgstr[3] "maliny" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "garść malin" +msgstr[1] "garść malin" +msgstr[2] "garść malin" +msgstr[3] "garść malin" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Słodka czerwona jagoda." #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "borówka" -msgstr[1] "borówki" -msgstr[2] "borówek" -msgstr[3] "borówki" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "garść borówek" +msgstr[1] "garść borówek" +msgstr[2] "garść borówek" +msgstr[3] "garść borówek" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Borówki, często mylone z jagodami." #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "morwa" -msgstr[1] "morwy" -msgstr[2] "morw" -msgstr[3] "morwy" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "garść owoców morwy" +msgstr[1] "garść owoców morwy" +msgstr[2] "garść owoców morwy" +msgstr[3] "garść owoców morwy" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -30091,14 +30191,14 @@ msgstr "" "świecie." #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "czarny bez" -msgstr[1] "czarny bez" -msgstr[2] "czarny bez" -msgstr[3] "czarny bez" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "garść owoców czarnego bzu" +msgstr[1] "garść owoców czarnego bzu" +msgstr[2] "garść owoców czarnego bzu" +msgstr[3] "garść owoców czarnego bzu" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -30106,14 +30206,14 @@ msgstr "" "nadaje się do zjedzenia." #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" -msgstr[0] "róŌa biodrowa" -msgstr[1] "róŌe biodrowe" -msgstr[2] "róŌ biodrowych" -msgstr[3] "róŌe biodrowe" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" +msgstr[0] "garść owoców dzikiej róŌy" +msgstr[1] "garść owoców dzikiej róŌy" +msgstr[2] "garść owoców dzikiej róŌy" +msgstr[3] "garść owoców dzikiej róŌy" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Owoc zapylonego kwiatu róŌy." @@ -30150,14 +30250,14 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Owoc cytrusowy, którego smak oscyluje między kwaśnym a półsłodkim." #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "wiśnie" -msgstr[1] "wiśnie" -msgstr[2] "wiśnie" -msgstr[3] "wiśnie" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "garść wiśni" +msgstr[1] "garść wiśni" +msgstr[2] "garść wiśni" +msgstr[3] "garść wiśni" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Czerwone słodkie owoce z pestką, które rosną na drzewach." @@ -30173,14 +30273,14 @@ msgid "" msgstr "Garść duÅŒych purpurowych śliwek. Zdrowe i poprawiają trawienie." #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "winogrona" -msgstr[1] "winogrona" -msgstr[2] "winogrona" -msgstr[3] "winogrona" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "garść winogron" +msgstr[1] "garść winogron" +msgstr[2] "garść winogron" +msgstr[3] "garść winogron" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Pęk soczystych winogron." @@ -30235,14 +30335,14 @@ msgid "A large and very sweet fruit." msgstr "DuÅŒy i bardzo słodki owoc." #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "jeÅŒyny" -msgstr[1] "jeÅŒyny" -msgstr[2] "jeÅŒyny" -msgstr[3] "jeÅŒyny" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "garść jeÅŒyn" +msgstr[1] "garść jeÅŒyn" +msgstr[2] "garść jeÅŒyn" +msgstr[3] "garść jeÅŒyn" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Ciemniejszy kuzyn malin." @@ -30285,10 +30385,14 @@ msgid "" msgstr "DuÅŒa, brązowa i włochata jagoda. Ma smaczny miÄ…ÅŒsz zielonego koloru." #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "morela" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "garść moreli" +msgstr[1] "garść moreli" +msgstr[2] "garść moreli" +msgstr[3] "garść moreli" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Miękkoskóry owoc podobny do brzoskwini." @@ -30353,7 +30457,7 @@ msgstr "kapusta" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." +msgid "Crisp white cabbage." msgstr "Twarda główka chrupiącej białej kapusty." #: lang/json/COMESTIBLE_from_json.py @@ -30459,7 +30563,7 @@ msgstr "ogórek" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." +msgid "Comes from the gourd family. Not tasty but very juicy." msgstr "" "Pochodzi z rodziny roślin spokrewnionych z tykwą. Niezbyt smaczny, ale " "soczysty." @@ -30977,6 +31081,10 @@ msgstr[3] "nasiona jeÅŒyn" msgid "Some blackberry seeds." msgstr "Nieco nasion jeÅŒyn." +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "jeÅŒyna" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -30990,6 +31098,10 @@ msgstr[3] "nasiona jagód" msgid "Some blueberry seeds." msgstr "Nieco nasion jagód." +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "jagoda" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -31003,6 +31115,10 @@ msgstr[3] "nasiona ÅŒurawiny" msgid "Some cranberry seeds." msgstr "Nieco nasion ÅŒurawiny." +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "ÅŒurawina" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -31016,6 +31132,10 @@ msgstr[3] "nasiona borówki" msgid "Some huckleberry seeds." msgstr "Trochę nasion borówki." +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "borówka" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -31029,6 +31149,10 @@ msgstr[3] "nasiona morwy" msgid "Some mulberry seeds." msgstr "Trochę nasion morwy." +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "morwa" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -31042,6 +31166,10 @@ msgstr[3] "nasiona czarnego bzu" msgid "Some elderberry seeds." msgstr "Trochę nasion czarnego bzu." +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "czarny bez" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -31055,6 +31183,10 @@ msgstr[3] "nasiona malin" msgid "Some raspberry seeds." msgstr "Nieco nasion malin." +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "malina" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -31068,6 +31200,10 @@ msgstr[3] "nasiona truskawek" msgid "Some strawberry seeds." msgstr "Nieco nasion truskawek." +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "truskawka" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -31081,6 +31217,10 @@ msgstr[3] "nasiona winogron" msgid "Some grape seeds." msgstr "Trochę nasion winogron." +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "winogron" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -34627,6 +34767,23 @@ msgstr[3] "beczki na niebezpieczne odpady" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "Żółta beczka słuŌąca do przechowywania niebezpiecznych substancji." +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "donica ogrodowa" +msgstr[1] "donica ogrodowa" +msgstr[2] "donica ogrodowa" +msgstr[3] "donica ogrodowa" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" +"To specjalna donica do sadzenia roślin. SłuÅŒy do utrzymania komfortowych " +"warunków dla roślin dla optymalnego wzrostu i owocowania." + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -39277,10 +39434,10 @@ msgstr[3] "kamień w skarpecie" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." +msgid "A pair of nested socks filled with a stone. A true weapon of despair." msgstr "" -"Skarpeta z przywiązanym na końcu kamieniem. Prawdziwie desperacka broń." +"Para zawiniętych w sobie skarpet wypełnionych kamieniem. Prawdziwie " +"desperacka broń." #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -42563,6 +42720,19 @@ msgstr[3] "Zui Quan i Ty" msgid "A complete guide to Zui Quan." msgstr "Kompletny przewodnik po Zui Quan." +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "Droga Włóczni" +msgstr[1] "Droga Włóczni" +msgstr[2] "Droga Włóczni" +msgstr[3] "Droga Włóczni" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "Kompletny przewodnik po Sōjutsu." + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -45164,6 +45334,455 @@ msgstr[1] "połączenia do pasa amunicyjnego" msgstr[2] "połączenia do pasa amunicyjnego" msgstr[3] "połączenia do pasa amunicyjnego" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "donica ogrodowa (z pomidorami)" +msgstr[1] "donica ogrodowa (z pomidorami)" +msgstr[2] "donica ogrodowa (z pomidorami)" +msgstr[3] "donica ogrodowa (z pomidorami)" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "Pomidory są gotowe do zbiorów!" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "Szybko rosną." + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rosną pomidory. Gdy dojrzeją musisz ją " +"aktywować by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "donica ogrodowa (z dojrzałymi pomidorami)" +msgstr[1] "donica ogrodowa (z dojrzałymi pomidorami)" +msgstr[2] "donica ogrodowa (z dojrzałymi pomidorami)" +msgstr[3] "donica ogrodowa (z dojrzałymi pomidorami)" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" +"To donica ogrodowa, w której rosną dojrzałe pomidory. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "donica ogrodowa (z pszenicą)" +msgstr[1] "donica ogrodowa (z pszenicą)" +msgstr[2] "donica ogrodowa (z pszenicą)" +msgstr[3] "donica ogrodowa (z pszenicą)" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "Pszenica jest gotowa do zbiorów!" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "Pszenica szybko rośnie." + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie pszenica. Gdy dojrzeje musisz ją " +"aktywować by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "donica ogrodowa (z dojrzałą pszenicą)" +msgstr[1] "donica ogrodowa (z dojrzałą pszenicą)" +msgstr[2] "donica ogrodowa (z dojrzałą pszenicą)" +msgstr[3] "donica ogrodowa (z dojrzałą pszenicą)" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzała pszenica. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "donica ogrodowa (z chmielem)" +msgstr[1] "donica ogrodowa (z chmielem)" +msgstr[2] "donica ogrodowa (z chmielem)" +msgstr[3] "donica ogrodowa (z chmielem)" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "JuÅŒ gotowe na zbiory!" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie chmiel. Gdy dojrzeje musisz ją aktywować" +" by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "donica ogrodowa (z dojrzałym chmielem)" +msgstr[1] "donica ogrodowa (z dojrzałym chmielem)" +msgstr[2] "donica ogrodowa (z dojrzałym chmielem)" +msgstr[3] "donica ogrodowa (z dojrzałym chmielem)" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzały chmiel. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "donica ogrodowa (z gryką)" +msgstr[1] "donica ogrodowa (z gryką)" +msgstr[2] "donica ogrodowa (z gryką)" +msgstr[3] "donica ogrodowa (z gryką)" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie gryka. Gdy dojrzeje musisz ją aktywować " +"by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "donica ogrodowa (z dojrzałą gryką)" +msgstr[1] "donica ogrodowa (z dojrzałą gryką)" +msgstr[2] "donica ogrodowa (z dojrzałą gryką)" +msgstr[3] "donica ogrodowa (z dojrzałą gryką)" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzała gryka. Rozbierz by zebrać plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "donica ogrodowa (z brokułami)" +msgstr[1] "donica ogrodowa (z brokułami)" +msgstr[2] "donica ogrodowa (z brokułami)" +msgstr[3] "donica ogrodowa (z brokułami)" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rosną brokuły. Gdy dojrzeją musisz ją aktywować" +" by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "donica ogrodowa (z dojrzałymi brokułami)" +msgstr[1] "donica ogrodowa (z dojrzałymi brokułami)" +msgstr[2] "donica ogrodowa (z dojrzałymi brokułami)" +msgstr[3] "donica ogrodowa (z dojrzałymi brokułami)" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" +"To donica ogrodowa, w której rosną dojrzałe brokuły. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "donica ogrodowa (z owsem)" +msgstr[1] "donica ogrodowa (z owsem)" +msgstr[2] "donica ogrodowa (z owsem)" +msgstr[3] "donica ogrodowa (z owsem)" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie owies. Gdy dojrzeje musisz ją aktywować " +"by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "donica ogrodowa (z dojrzałym owsem)" +msgstr[1] "donica ogrodowa (z dojrzałym owsem)" +msgstr[2] "donica ogrodowa (z dojrzałym owsem)" +msgstr[3] "donica ogrodowa (z dojrzałym owsem)" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzały owies. Rozbierz by zebrać plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "donica ogrodowa (z jęczmieniem)" +msgstr[1] "donica ogrodowa (z jęczmieniem)" +msgstr[2] "donica ogrodowa (z jęczmieniem)" +msgstr[3] "donica ogrodowa (z jęczmieniem)" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie jęczmień. Gdy dojrzeje musisz ją " +"aktywować by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "donica ogrodowa (z dojrzałym jęczmieniem)" +msgstr[1] "donica ogrodowa (z dojrzałym jęczmieniem)" +msgstr[2] "donica ogrodowa (z dojrzałym jęczmieniem)" +msgstr[3] "donica ogrodowa (z dojrzałym jęczmieniem)" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzały jęczmień. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "donica ogrodowa (z marchewką)" +msgstr[1] "donica ogrodowa (z marchewką)" +msgstr[2] "donica ogrodowa (z marchewką)" +msgstr[3] "donica ogrodowa (z marchewką)" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie marchew. Gdy dojrzeje musisz ją " +"aktywować by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "donica ogrodowa (z dojrzałą marchewką)" +msgstr[1] "donica ogrodowa (z dojrzałą marchewką)" +msgstr[2] "donica ogrodowa (z dojrzałą marchewką)" +msgstr[3] "donica ogrodowa (z dojrzałą marchewką)" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzała marchew. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "donica ogrodowa (z bawełną)" +msgstr[1] "donica ogrodowa (z bawełną)" +msgstr[2] "donica ogrodowa (z bawełną)" +msgstr[3] "donica ogrodowa (z bawełną)" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie bawełna. Gdy dojrzeje musisz ją " +"aktywować by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "donica ogrodowa (z dojrzałą bawełną)" +msgstr[1] "donica ogrodowa (z dojrzałą bawełną)" +msgstr[2] "donica ogrodowa (z dojrzałą bawełną)" +msgstr[3] "donica ogrodowa (z dojrzałą bawełną)" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzała bawełna. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "donica ogrodowa (z kapustą)" +msgstr[1] "donica ogrodowa (z kapustą)" +msgstr[2] "donica ogrodowa (z kapustą)" +msgstr[3] "donica ogrodowa (z kapustą)" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie kapusta. Gdy dojrzeje musisz ją " +"aktywować by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "donica ogrodowa (z dojrzałą kapustą)" +msgstr[1] "donica ogrodowa (z dojrzałą kapustą)" +msgstr[2] "donica ogrodowa (z dojrzałą kapustą)" +msgstr[3] "donica ogrodowa (z dojrzałą kapustą)" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzała kapusta. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "donica ogrodowa (z ogórkiem)" +msgstr[1] "donica ogrodowa (z ogórkiem)" +msgstr[2] "donica ogrodowa (z ogórkiem)" +msgstr[3] "donica ogrodowa (z ogórkiem)" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie ogórek. Gdy dojrzeje musisz ją aktywować" +" by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "donica ogrodowa (z dojrzałym ogórkiem)" +msgstr[1] "donica ogrodowa (z dojrzałym ogórkiem)" +msgstr[2] "donica ogrodowa (z dojrzałym ogórkiem)" +msgstr[3] "donica ogrodowa (z dojrzałym ogórkiem)" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzały ogórek. Rozbierz by zebrać " +"plon." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "donica ogrodowa (z czosnkiem)" +msgstr[1] "donica ogrodowa (z czosnkiem)" +msgstr[2] "donica ogrodowa (z czosnkiem)" +msgstr[3] "donica ogrodowa (z czosnkiem)" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"To donica ogrodowa, w której rośnie czosnek. Gdy dojrzeje musisz ją " +"aktywować by przygotować do zbiorów." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "donica ogrodowa (z dojrzałym czosnkiem)" +msgstr[1] "donica ogrodowa (z dojrzałym czosnkiem)" +msgstr[2] "donica ogrodowa (z dojrzałym czosnkiem)" +msgstr[3] "donica ogrodowa (z dojrzałym czosnkiem)" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" +"To donica ogrodowa, w której rośnie dojrzały czosnek. Rozbierz by zebrać " +"plon." + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -49167,6 +49786,15 @@ msgstr "" "Zamienia bronie i amunicję uproszczonymi rodzajami. Uwaga: moÅŒne wejść w " "konflikt z innymi modami." +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "Ręczna Instalacja Implantów Bionicznych" @@ -66600,6 +67228,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna wieÅŒyczka kontroli tłumów. Maksymalnie 50 kanistrów z gazem " +"łzawiącym 40 mm zostanie automatycznie załadowane z twego ekwipunku do " +"wieÅŒyczki w czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje cię jako " +"przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj instrukcję " +"bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive 5.56mm military turret" @@ -66618,6 +67251,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna wieÅŒyczka wojskowa 5,56 mm. Maksymalnie 100 standardowych " +"pocisków 5,56 mm NATO zostanie automatycznie załadowane z twego ekwipunku do" +" wieÅŒyczki w czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje cię jako " +"przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj instrukcję " +"bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive 7.62mm military turret" @@ -66636,6 +67274,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna wieÅŒyczka wojskowa 7,62 mm. Maksymalnie 100 standardowych " +"pocisków 7,62 mm NATO zostanie automatycznie załadowane z twego ekwipunku do" +" wieÅŒyczki w czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje cię jako " +"przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj instrukcję " +"bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive 50 caliber military turret" @@ -66654,6 +67297,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna wieÅŒyczka wojskowa kal 50. Maksymalnie 100 standardowych pocisków" +" kal 50 zostanie automatycznie załadowane z twego ekwipunku do wieÅŒyczki w " +"czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje cię jako przyjaciela " +"swoim zaawansowanym oprogramowaniem IFF. Przeczytaj instrukcję " +"bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive military needle turret" @@ -66672,6 +67320,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka igłacz. Maksymalnie 100 standardowych " +"pocisków strzałkowych 5x50 mm zostanie automatycznie załadowane z twego " +"ekwipunku do wieÅŒyczki w czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje " +"cię jako przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj " +"instrukcję bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive military 8x40mm turret" @@ -66690,6 +67343,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka 8x40 mm. Maksymalnie 100 standardowych " +"pocisków 8x40 mm zostanie automatycznie załadowane z twego ekwipunku do " +"wieÅŒyczki w czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje cię jako " +"przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj instrukcję " +"bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive military 40mm grenade turret" @@ -66708,6 +67366,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna wojskowa wieÅŒyczka granatnik. Maksymalnie 50 standardowych " +"granatów odłamkowych 40 mm zostanie automatycznie załadowane z twego " +"ekwipunku do wieÅŒyczki w czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje " +"cię jako przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj " +"instrukcję bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive military flamethrower turret" @@ -66725,6 +67388,11 @@ msgid "" "turret and it will ID you as friendly with its advanced IFF software. " "Consult your safety manual in the event of a malfunction." msgstr "" +"Nieaktywna wieÅŒyczka miotacz ognia. Maksymalnie 100 jednostek napalmu " +"zostanie automatycznie załadowane z twego ekwipunku do wieÅŒyczki w czasie " +"aktywacji. Umieść wieÅŒyczkę a zidentyfikuje cię jako przyjaciela swoim " +"zaawansowanym oprogramowaniem IFF. Przeczytaj instrukcję bezpieczeństwa w " +"razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive advanced laser turret" @@ -66741,6 +67409,9 @@ msgid "" "friendly with its advanced IFF software. Consult your safety manual in the " "event of a malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka laserowa. Umieść wieÅŒyczkę a zidentyfikuje" +" cię jako przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj " +"instrukcję bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive advanced plasma turret" @@ -66757,6 +67428,9 @@ msgid "" "friendly with its advanced IFF software. Consult your safety manual in the " "event of a malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka plazmowa. Umieść wieÅŒyczkę a zidentyfikuje" +" cię jako przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj " +"instrukcję bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive advanced railgon turret" @@ -66775,6 +67449,11 @@ msgid "" "advanced IFF software. Consult your safety manual in the event of a " "malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka szynowa. Maksymalnie 50 standardowych " +"pocisków szynowych zostanie automatycznie załadowane z twego ekwipunku do " +"wieÅŒyczki w czasie aktywacji. Umieść wieÅŒyczkę a zidentyfikuje cię jako " +"przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj instrukcję " +"bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive advanced acid turret" @@ -66791,6 +67470,9 @@ msgid "" "friendly with its advanced IFF software. Consult your safety manual in the " "event of a malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka kwasowa. Umieść wieÅŒyczkę a zidentyfikuje " +"cię jako przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj " +"instrukcję bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive advanced EMP turret" @@ -66807,6 +67489,9 @@ msgid "" "friendly with its advanced IFF software. Consult your safety manual in the " "event of a malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka EMP. Umieść wieÅŒyczkę a zidentyfikuje cię " +"jako przyjaciela swoim zaawansowanym oprogramowaniem IFF. Przeczytaj " +"instrukcję bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py msgid "inactive advanced electro turret" @@ -66823,6 +67508,9 @@ msgid "" " friendly with its advanced IFF software. Consult your safety manual in the" " event of a malfunction." msgstr "" +"Nieaktywna zaawansowana wieÅŒyczka elektryczna. Umieść wieÅŒyczkę a " +"zidentyfikuje cię jako przyjaciela swoim zaawansowanym oprogramowaniem IFF. " +"Przeczytaj instrukcję bezpieczeństwa w razie awarii." #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py msgid "garden gnome" @@ -67194,6 +67882,8 @@ msgid "" "A robot crafting assistant. Useable in its current state as a portable " "workbench, or deployable as a traveling companion." msgstr "" +"Robotyczny pomocnik rzemieślnika. UÅŒyteczny w tej formie jako mobilny stół " +"roboczy, i moÅŒna go rozstawić jako towarzysza podróŌy." #. ~ Description for light auto armor #. ~ Description for basic auto armor @@ -67203,6 +67893,9 @@ msgid "" "A set of light power armor fitted with an AI core for automated use. " "Activate it to deploy the robot or disassemble it to use as armor." msgstr "" +"Zestaw pancerza wspomaganego wyposaÅŒonego w rdzeń sztucznej inteligencji do " +"autonomicznego działania. Aktywuj by uruchomić robota lub rozłóŌ by uÅŒyć " +"jako pancerza." #: lang/json/TOOL_from_json.py msgid "basic auto armor" @@ -67361,6 +68054,10 @@ msgid "" "Place the turret and it will ID you as friendly with its advanced IFF " "software. There is no safety manual." msgstr "" +"Nieaktywna wodna wieÅŒyczka obronna. Maksymalnie 1000 jednostek wody zostanie" +" automatycznie załadowane z twego ekwipunku do wieÅŒyczki w czasie aktywacji." +" Umieść wieÅŒyczkę a zidentyfikuje cię jako przyjaciela swoim zaawansowanym " +"oprogramowaniem IFF. Instrukcji bezpieczeństwa brak." #: lang/json/TOOL_from_json.py msgid "inactive eyebot" @@ -67385,6 +68082,9 @@ msgid "" "constant jet of warm air to heat an enclosed space. It is non-aggessive and" " has no weapons systems. Activate this item to deploy the robot." msgstr "" +"Odzyskany ze złomu okobot przerobiony na latający grzejnik. Emituje stały " +"strumień gorącego powietrza, które rozgrzeje zamkniętą przestrzeń. Nie jest " +"agresywny i nie jest wyposaÅŒony w ÅŒadną broń. Aktywuj by uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive floating furnace" @@ -67402,6 +68102,10 @@ msgid "" "aggessive and has no weapons systems. Activate this item to deploy the " "robot." msgstr "" +"Odzyskany ze złomu okobot przerobiony na latający grzejnik. Emituje stały " +"strumień niebezpiecznie gorącego powietrza, które rozgrzeje zamkniętą " +"przestrzeń. Nie jest agresywny i nie jest wyposaÅŒony w ÅŒadną broń. Aktywuj " +"by uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive burning eye" @@ -67417,6 +68121,8 @@ msgid "" "A salvaged eyebot refitted with a laser weapon which it will use on hostile " "targets. Activate this item to deploy the robot." msgstr "" +"Odzyskany ze złomu okobot wyposaÅŒony w laser, którym razi wrogów. Aktywuj by" +" uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive utilibot" @@ -67442,6 +68148,9 @@ msgid "" "this item to deploy the robot and begin the incubation process, but you " "probably shouldn't." msgstr "" +"Robot uÅŒytkowy z odzysku zmieniony w mobilny inkubator obcych glutów. Nie " +"jest agresywny i jest nieuzbrojony. Aktywuj by uruchomić i rozpocząć " +"inkubację, choć moÅŒe nie powinieneś." #: lang/json/TOOL_from_json.py msgid "inactive slime breeder" @@ -67459,6 +68168,9 @@ msgid "" "and has no weapon systems. You can activate this item to deploy the robot " "and begin the incubation process." msgstr "" +"Robot uÅŒytkowy z odzysku zmieniony w mobilny inkubator obcych glutów, i " +"ulepszony by produkować tylko przyjazne gluty. Nie jest agresywny i jest " +"nieuzbrojony. Aktywuj by uruchomić i rozpocząć inkubację." #: lang/json/TOOL_from_json.py msgid "inactive digestron" @@ -67476,6 +68188,10 @@ msgid "" "reserves. It is non aggressive and has no weapon systems. Activate this " "item to deploy the robot." msgstr "" +"Robot uÅŒytkowy z odzysku przerobiony na automatyczny odkurzacz. Będzie " +"zasysał pozostawione luzem przedmioty z ziemi i rozpuszczał jej w " +"wewnętrznych zbiornikach z kwasem. Nieagresywny i nieuzbrojony. Aktywuj by " +"uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive bee-bot" @@ -67494,6 +68210,10 @@ msgid "" "Activate this item, with wooden bolts in your inventory, to load and deploy " "the robot." msgstr "" +"Robot uÅŒytkowy z odzysku przerobiony na wędrowny ul pszczeli, który okresowo" +" przetwarza i dostarcza plastry miodu. Chroni swoją kolonię insektów kuszą " +"mechaniczną zamontowaną w korpusie. Aktywuj mając bełty w ekwipunku, by " +"załadować i uruchomić robota." #: lang/json/TOOL_from_json.py msgid "inactive medibot" @@ -67518,6 +68238,9 @@ msgid "" "hostile targets with a set of blades and a toxic needle. Activate this item" " to deploy the robot." msgstr "" +"Robot medyczny z odzysku przerobiony na maszynę mordercę. Będzie atakować " +"wrogów zestawem straszliwych ostrzy, i strzykawką napełnioną toksynami. " +"Aktywuj by uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive elixirator" @@ -67533,6 +68256,8 @@ msgid "" "A salvaged medibot with its internal pharma-fabricators repurposed to " "produce mutagen. Activate this item to deploy the robot." msgstr "" +"Robot medyczny z odzysku z syntezatorem farmaceutyków przebudowanym do " +"produkcji mutagenów. Aktywuj by uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive party bot" @@ -67549,6 +68274,8 @@ msgid "" "lights, and programmed to dance. Activate this item to get the party " "started." msgstr "" +"Robot medyczny z odzysku napchany marihuaną, pokryty wielokolorowymi " +"migającymi światełkami i zaprogramowany do tańca. Aktywuj by zacząć imprezę." #: lang/json/TOOL_from_json.py msgid "inactive skitterbot" @@ -67573,6 +68300,8 @@ msgid "" "with pincers and an integrated tazer. Activate this item to deploy the " "robot." msgstr "" +"Bot smyrgacz z odzysku przerobiony do polowania na małą zdobycz. Atakuje " +"cele szczypcami i zintegrowanym paralizatorem. Aktywuj by uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive grab-bot" @@ -67588,6 +68317,8 @@ msgid "" "A salvaged skitterbot repurposed to grab onto and immobilize enemies. " "Activate this item to deploy the robot." msgstr "" +"Bot smyrgacz z odzysku przerobiony do chwytania i unieruchamiania wrogów. " +"Aktywuj by uruchomić." #: lang/json/TOOL_from_json.py msgid "inactive pest hunter" @@ -67603,6 +68334,8 @@ msgid "" "A salvaged skitterbot refitted with an 8mm integrated firearm. Activate " "this item, with ammo in your inventory, to load and deploy the robot." msgstr "" +"Bot smyrgacz z odzysku wyposaÅŒony w zintegrowaną broń kalibru 8 mm. Aktywuj " +"mając amunicję w ekwipunku by przeładować i uruchomić robota." #: lang/json/TOOL_from_json.py msgid "inactive cyborg" @@ -67627,6 +68360,8 @@ msgid "" "animate head retains some of its ability to revive zombies. Activate this " "item to deploy the robot." msgstr "" +"Cyborg z odzysku na którym osadzono głowę nekromanty zombie. OÅŒywiona głowa " +"zachowała nieco zdolności do oÅŒywiania zombie. Aktywuj by uruchomić robota." #: lang/json/TOOL_from_json.py msgid "inactive defense robot" @@ -67651,6 +68386,8 @@ msgid "" " Activate this item, with ammo in your inventory, to load and deploy the " "robot." msgstr "" +"Robot obronny z odzysku wyposaÅŒony w strzelbę i dwie piły tarczowe. Aktywuj " +"mając amunicję w ekwipunku by przeładować i uruchomić robota." #: lang/json/TOOL_from_json.py msgid "inactive shortcircuit samurai" @@ -67682,6 +68419,9 @@ msgid "" "searing hot blades. Activate this item, with gasoline in your inventory, to" " load and deploy the robot... preferably far from anything flamable" msgstr "" +"Robot obronny z odzysku wyposaÅŒony w domowej roboty miotacz ognia i dwa " +"rozgrzane do czerwoności ostrza. Aktywuj mając benzynę w ekwipunku, by " +"przeładować i uruchomić robota, najlepiej z dala od palnych rzeczy..." #: lang/json/TOOL_from_json.py msgid "inactive military robot" @@ -67691,6 +68431,14 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -67706,6 +68454,8 @@ msgid "" "Activate this item, with ammo in your inventory, to load and deploy the " "robot." msgstr "" +"Robot wojskowy z odzysku wyposaÅŒony w zestaw zintegrowanych broni kalibru 9 " +"mm. Aktywuj mając amunicję w ekwipunku by przeładować i uruchomić robota." #: lang/json/TOOL_from_json.py msgid "inactive robote deluxe" @@ -67723,6 +68473,10 @@ msgid "" "apoyalypse in style. Activate this item, with ammo in your inventory, to " "load and deploy the robot." msgstr "" +"Nabity diamentami i kryty złotem robot uzbrojony w parę broni kalibru 9 mm. " +"Wystawny luksusowy robot dla tych, którzy ÅŒyczą sobie przeÅŒyć apokalipsę w " +"wysokim stylu. Aktywuj mając amunicję w ekwipunku by przeładować i uruchomić" +" robota." #: lang/json/TOOL_from_json.py msgid "inactive robo-protector" @@ -67739,6 +68493,9 @@ msgid "" "Activate this item, with ammo in your inventory, to load and deploy the " "robot." msgstr "" +"Robot wojskowy z odzysku wyposaÅŒony w zintegrowany karabin kalibru 5,56 mm. " +"Zmodyfikowana broń jest zdolna do strzelania seriami po trzy pociski, ale ma" +" przyzwoity zasięg i celność. Nadaj się na solidnego sojusznika w walce." #: lang/json/TOOL_from_json.py msgid "inactive robo-defender" @@ -67754,6 +68511,8 @@ msgid "" "A salvaged military robot refitted with an integrated 50bmg rifle. Activate" " this item, with ammo in your inventory, to load and deploy the robot." msgstr "" +"Robot wojskowy z odzysku wyposaÅŒony w zintegrowany karabin kalibru 50. " +"Aktywuj mając amunicję w ekwipunku by przeładować i uruchomić robota." #: lang/json/TOOL_from_json.py msgid "inactive advanced robot" @@ -67778,6 +68537,9 @@ msgid "" " It attacks hostile targets with its two integral lasers and blinding " "flashes. Activate this item to deploy the robot." msgstr "" +"Zaawansowany robot z odzysku zmieniony w błyskającą latarnię destrukcji. " +"Atakuje cele dwoma zintegrowanymi laserami i oślepiającymi fleszami. Aktywuj" +" by uruchomić robota." #: lang/json/TOOL_from_json.py msgid "inactive bitter spinster" @@ -67794,6 +68556,9 @@ msgid "" "acid fermenter feeds a ranged glob spitter and sprayer. Activate this item " "to deploy the robot." msgstr "" +"Robot wojskowy z odzysku przerobiony na kaustycznego potwora. Wewnętrzna " +"kadź fermentacyjna kwasu zasila miotacz globul i sprej. Aktywuj by uruchomić" +" robota." #: lang/json/TOOL_from_json.py msgid "inactive chickenwalker" @@ -68859,6 +69624,10 @@ msgstr "Przestać manipulować pojazdem?" msgid "Stop training?" msgstr "Przestać trenować?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "Przestać rozmawiać towarzysko?" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "Przestać stosować pierwszą pomoc?" @@ -69027,10 +69796,18 @@ msgstr "Przestać się golić?" msgid "Stop cutting your hair?" msgstr "Przestać się strzyc?" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "Przestać bawić się ze zwierzakiem?" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "Zaprzestać prób zaśnięcia?" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "Przestać rozładowywać?" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express" @@ -72221,6 +72998,19 @@ msgstr "" "Znacznik SI na okoliczność zapytania NPC o trenowanie cię. Jeśli go masz to " "znaczy ÅŒe to bug." +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "Zapytany o rozmowę towarzyską" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" +"Znacznik SI na okoliczność zapytania NPC o rozmowę towarzyską. Jeśli go masz" +" to znaczy ÅŒe to bug." + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "Informator" @@ -73587,23 +74377,6 @@ msgstr "Jesteś pozbawiony tchu." msgid "The ceiling collapses on you!" msgstr "Dach zapada się na ciebie!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "Kuracja komórkami macierzystymi" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "" -"Twoje wnętrzności przemieszczają się w osobliwy sposób gdy terapia odnosi " -"swój skutek." - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "Otrzymujesz zastrzyk z puree z kości i szkliwa w oko." - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "ZaÅŒyłeś antykonwulsanty" @@ -74174,6 +74947,15 @@ msgstr "Panaceum" msgid "You feel incredible! You could take on the world!" msgstr "Czujesz wyśmienicie! MoÅŒesz stawić czoła całemu światu!" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "Uspokojony ÅŒołądek" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "Jesteś pod wpływem leku na dolegliwości ÅŒołądkowe." + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "Wyładowanie" @@ -89465,14 +90247,14 @@ msgid "Analyze blood" msgstr "Analizuj krew" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "Mr. Komórka Macierzysta" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "Terapia Komórkami Macierzystymi" +msgid "Bonesetting Treatment" +msgstr "Nastawianie Kości" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -90928,6 +91710,38 @@ msgstr "" "+Siła zbroja vs miaÅŒdÅŒonym, +Zręczność zbroja vs kwasowi, +Inteligencja " "zbroja vs elektryczności, +Percepcja zbroja vs ogniowi." +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Sōjutsu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" +"Sōjutsu, \"Droga Włóczni\", to japoński styl walki włócznią. Skupia się na " +"trzymaniu wroga na dystans celem osiągnięcia przewagi w boju." + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "Poza Sōjutsu" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "Bonusowy blok z bronią zasięgową gdy stoisz w miejscu" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "Pęd Sōjutsu" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "Zwiększone obraÅŒenia podczas ruchu ale brak bonusowego bloku" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "Średniowieczna Sztuka Władania Mieczem" @@ -94675,6 +95489,10 @@ msgstr "Smakował ci %s" msgid "Enjoyed a hot meal" msgstr "Smakował ci gorący posiłek" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "Zadowolony z pogawędki" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "Muzyka" @@ -94885,6 +95703,10 @@ msgstr "Ogoliłeś się" msgid "Barfed" msgstr "Å»ygałeś" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "Spędziłeś czas na zabawie ze zwierzęciem" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "Rozpalono ogień" @@ -96068,6 +96890,21 @@ msgstr "" "Mimo ÅŒe nadal cierpisz negatywne efekty bólu, to przynosi on teÅŒ niezwykłą " "przyjemność." +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "Psychoza Stymulantów" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" +"Masz barwną historię ze stymulantami (jak kawa lub amfetamina). Tolerujesz " +"je bardziej be przedawkowania, ale jeśli pozwolisz sobie na więcej, " +"zaczynasz widzieć rzeczy..." + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -96222,10 +97059,10 @@ msgstr "Trening W Walce Wręcz" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." msgstr "" "Praktykowałeś walkę bronią białą. Zaczynasz według wyboru z Eskrima, " -"Szermierka, Pentjak Silat or Niten Ichi-Ryu." +"Szermierka, Pentjak Silat, Niten Ichi-Ryu lub Sōjutsu." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -96958,6 +97795,19 @@ msgstr "" "niÅŒsza niÅŒ zwykle i duÅŒo wolniej odzyskujesz zdrowie. Dodaje się ze Szklaną " "Szczęką." +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "Genetyczna Równia Pochyła" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" +"Kataklizm nieodwracalnie zniszczył twoje DNA. Często mutujesz, a mutacje z " +"dowolnego źródła są zawsze negatywne." + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "Szorstka Skóra" @@ -102343,6 +103193,10 @@ msgstr "Apis" msgid "I'm bugged - I shouldn't talk to you." msgstr "Jestem zbugowany - nie powinienem gadać do ciebie." +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "Å»ebrak" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -102706,6 +103560,30 @@ msgstr "Bandyta" msgid "Psycho" msgstr "Psycho" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "ÅŒebrak" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "Reena Sandhu" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "Dinozaur Dave" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "Luo Meizhen" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "Brandon Garder" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "Yusuke Taylor" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "Najeźdźca" @@ -109442,6 +110320,130 @@ msgstr "" "Przed końcem, twoim hobby było nielegalne przeprogramowywanie komercyjnych " "robotów, ale nigdy nie sądziłaś, ÅŒe twoje przetrwanie moÅŒe od tego zaleÅŒeć." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "InÅŒynier Robotyk" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"Byłeś inÅŒynierem niskiego szczebla w wytwórni robotów. Zarząd powtarzał ci, " +"ÅŒe montowanie miotaczy ognia na młynkach jest \"niepotrzebne\" i \"zbyt " +"niebezpieczne\", ale teraz nic cię nie powstrzymuje." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "InÅŒynier Robotyk" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"Byłaś inÅŒynierem niskiego szczebla w wytwórni robotów. Zarząd powtarzał ci, " +"ÅŒe montowanie miotaczy ognia na młynkach jest \"niepotrzebne\" i \"zbyt " +"niebezpieczne\", ale teraz nic cię nie powstrzymuje." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "Geniusz Robotyki" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" +"Budowałeś roboty, od kiedy tylko mogłeś utrzymać w ręku lutownicę, i nie " +"zamierzasz pozwolić by koniec świata stanął temu na przeszkodzie." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "Geniusz Robotyki" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" +"Budowałaś roboty, od kiedy tylko mogłeś utrzymać w ręku lutownicę, i nie " +"zamierzasz pozwolić by koniec świata stanął temu na przeszkodzie." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "Adoptowany przez Robota" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" +"Podczas zamieszek robot wojskowy przybył ci znikąd na ratunek. MoÅŒe myśli, " +"ÅŒe jesteś kimś waÅŒnym, kto wie." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "Adoptowana przez Robota" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" +"Podczas zamieszek robot wojskowy przybył ci znikąd na ratunek. MoÅŒe myśli, " +"ÅŒe jesteś kimś waÅŒnym, kto wie." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "Zrobotyzowany Myśliwy" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" +"Zapłaciłeś lokalnemu hakerowi by zbudował ci psa-robota do polowań. Jest " +"niemal tak dobry jak prawdziwy, ale nie lubi być głaskany." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "Zrobotyzowany Myśliwy" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" +"Zapłaciłaś lokalnemu hakerowi by zbudował ci psa-robota do polowań. Jest " +"niemal tak dobry jak prawdziwy, ale nie lubi być głaskany." + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -119155,6 +120157,75 @@ msgstr "Wody... Jest w pobliÅŒu jakaś oaza?" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "Wiesz ÅŒe brak wody zabija szybciej niÅŒ czegokolwiek innego?" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" +"Tak, pewnie, nie dało się nie zauwaÅŒyć, ÅŒe masz ze sobą piwo! Wypijmy po " +"jednym i pogadajmy, , jak leci?" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" +"O, z całą pewnością, co powiesz na piwko, które widzę przy tobie? Co " +"porabiasz?" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" +"Podzielisz się piwkiem, które tam chomikujesz i moÅŒemy gadać ile dusza " +"zapragnie! Tylko ÅŒartowałem, co tam ?" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "" +"Hej, jasna sprawa, , i tak przyda mis się chwila przerwy, jak się " +"miewasz?" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "No pewnie, , jak leci?" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "Pewnie, ognia ze wszystkich działonów! Wszystko u ciebie OK?" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "Czemu nie? Jak leci?" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "Mi pasuje, co nowego?" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "Kilka minut mi nie zaszkodzi, jak się miewasz?" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "Jasna sprawa , wszystko w porząsiu?" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "Pewnie, leÅŒy ci coś na sercu?" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "Zawsze gotów na dobrą pogawędkę! Ale co tam, wszystko ok?" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "OK , poznajmy się bliÅŒej, jak się miewasz?" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "Z całą pewnością, jestem cały twój? Trzymasz się tam?" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "kurde" @@ -120695,6 +121766,18 @@ msgstr "Czy to Reno? Bo chcę patrzyć jak umierasz!" msgid "You're going to pay for that, !" msgstr "Zapłacisz za to, !" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "Cicho tam być!" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "Słyszałeś jak ktoś coś mówił?" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "Kto to powiedział?" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "To nie brzmi dobrze." @@ -120711,6 +121794,10 @@ msgstr "Słyszałeś to?" msgid "What's that noise?" msgstr "Co to za hałas?" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "Czy tam coś jest?" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "Słyszałem jak coś się porusza - brzmiało jak" @@ -120720,16 +121807,16 @@ msgid "What's that sound? I heard" msgstr "Co to za dźwięk? Słyszałem" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" -msgstr "Kto tam? Słyszałem" +msgid "What's there? I heard" +msgstr "Co tam jest? Słyszałem " #: lang/json/snippet_from_json.py msgid "Did you hear that? Sounded like" msgstr "Słyszałeś to? Brzmiało jak" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" -msgstr "Kto tak hałasuje? Słyszę" +msgid "What is making that sound? I can hear the" +msgstr "Co wydaje ten dźwięk? Słyszę " #: lang/json/snippet_from_json.py msgid "Tell me about how you survived the cataclysm." @@ -120864,6 +121951,10 @@ msgstr "chodzący trup" msgid " " msgstr " " +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "nieumarłych" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "nieumarły" @@ -120876,10 +121967,6 @@ msgstr "zombie" msgid "Z's" msgstr "Z-dy" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "martwy" - #: lang/json/snippet_from_json.py msgid " " msgstr " " @@ -124421,6 +125508,46 @@ msgstr "Pohandlujmy." msgid "I can't leave the shelter without equipment." msgstr "Nie opuszczę schronu bez wyposaÅŒenia." +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +msgstr "Rozluźnij się i zamień ze mną kilka słów przez chwilę..." + +#: 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 " +"goes it ?" +msgstr "" +"Tak, ten letni gorąc daje mi popalić, zróbmy sobie przerwę, jak leci " +"?" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +msgstr "CóŌ, czuję się dość chory... moÅŒe chociaÅŒ ty się miewasz okej?" + +#: 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 " +"since... since all this, how are you coping with it all?" +msgstr "" +"Choćby teraz, mamy przecieÅŒ chwilę, i tak sobie myślę, ÅŒe to juÅŒ ponad " +"miesiąc od... od kiedy to się zdarzyło, jak sobie dajesz z tym radę?" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "Oh, no wiesz, nieźle, całkiem nieźle..." + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "Nie wiem, poszukaj zapasów lub innych ocalonych, jak myślę." @@ -125909,6 +127036,327 @@ msgstr "" " droga do wyrobienie sobie imienia wśród najbardziej wpływowych ludzi jacy " "pozostają przy ÅŒyciu." +#: 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 "" +"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." + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 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 "Why don't you go somewhere else?" +msgstr "Czemu nie pójdziesz gdzie indziej?" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "Czemu nie zdobędziesz sam sobie jedzenia?" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "Co robiłeś przed kataklizmem?" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "Wybacz, nie mogę ci pomóc." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" +"Niby gdzie? Nie mogę walczyć z tym na zewnątrz. Jestem w kiepskim stanie " +"fizycznym, nie mam uÅŒytecznych umiejętności, i przeraÅŒają mnie i " +"przemoc. Jak mam znaleźć bezpieczne miejsce?" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" +"Tam? to samobójstwo! Ludzie którzy idą na zewnątrz nie wracają, tacy co " +"wiąŌą koniec z końcem... w przeciwieństwie do mnie. Dzięki, ale lepiej mi " +"błagać o resztki i czekać aÅŒ ktoś w środku umrze i zwolni mi miejsce." + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" +"Byłem nauczycielem matematyki w szkole. To była dobra praca, kochałem ją. " +"Zabawne, ale nie jest zbyt pomocna po końcu świata. Wiem ÅŒe w końcu ludziom " +"będą potrzebni nauczyciele, ale na razie potrzebują poÅŒywienia, schronienia," +" i ubrań." + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "Czy mówiłem ci juÅŒ o kartonie przyjacielu? Czy masz moÅŒe jakiś?" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "Karton?" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "Czemu tu przesiadujesz?" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "Na serio nosisz ten kostium dinozaura?" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" +"Buduję dom z kartonu. Piaskowy dziadek nie chce, ÅŒebym to robił ale niech " +"się odpieprzy." + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "Czemu karton?" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "Myślę, ÅŒe muszę juÅŒ iść." + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" +"Tyle tego jest teraz, a zombie się go boją. Zapewnił mi bezpieczeństwo jak " +"dotąd. Promienie beta promieniują z centrum zombie, więc uderzają w karton i" +" nie mogą go przebić. Odbicie moÅŒe zapobiec dalszym obraÅŒeniom." + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" +"Ci tchórze boją się mnie. Nie wpuszczą mnie do swojej bazy. Zbuduję sobie " +"nowy dom i ich teÅŒ nie wpuszczę." + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "Zbudować dom?" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "Nie." + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "O co chodziło z tym kartonem?" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "Nie przejmuje się tymi dupkami." + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "Co tam?" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "Ok... do zobaczenia." + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "Są \"zbyt zapchani\". Niczym się nie podzielą." + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "Czemu zatem tu mieszkasz?" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "Lepiej juÅŒ pójdę." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +msgstr "" +"Nawet bez ich pomocy, to najbezpieczniejsze miejsce by przycupnąć. Dopóki " +"dbamy o czystość i nie sprawiamy problemów sanitarnych, nie mają nic " +"przeciwko byśmy siedzieli obok wejścia. To miło z ich strony ÅŒe pozwalają " +"nam tu siedzieć i umierać z głodu." + +#: 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 "Why do you ask?" +msgstr "Czemu pytasz?" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +msgstr "Wybacz, nie jestem zainteresowany." + +#: 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 "" +"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 "What's wrong with you?" +msgstr "Co z tobą nie tak?" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "Nie wpuszczą cię bo jesteś chory?" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "Jak się tu w ogóle dostałeś jak jesteś taki chory?" + +#: lang/json/talk_topic_from_json.py +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 "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" +"Do wyboru do koloru! Astma, cukrzyca, reumatyzm. Cukrzyca nie daje się we " +"znaki od kiedy, wiesz, przestałem jeść regularnie. Przynajmniej zakładam, ÅŒe" +" nie ujawnia się. Nie ÅŒebym mógł zrobić, jak mu tam było, ten test krwi o " +"który lekarze upominali się raz na kilka miesięcy." + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" +"Mają wystarczająco gąb do wyÅŒywienia które potrafią udźwignąć swoją wagę. Ja" +" mam za duÅŒo wagi i jestem zbyt słaby by ją udźwignąć, wiec jestem tutaj." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" +"Przybyłem z małą grupą jakiś czas temu. Tamci byli młodzi i sprawni, więc są" +" w środku. I tak byli jedynymi z ostatnich, którzy się dostali. Ja nie " +"spełniłem warunków." + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" +"To jest litość. Mam schronienie, światło, ciepło, a straÅŒnicy pomogą ja się " +"pojawi tu jakiś zombie. Nie jest tak źle. Gdybym był tam sam, nie maiłbym " +"nic z tych rzeczy a i tak musiałbym poszukiwać ÅŒarcia. Więc byłbym sztywny " +"jak grobowa deska. Albo w zasadzie nieumarły." + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "Witaj, przyjacielu." + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "Co ty tu robisz?" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "Nie sposób nie zauwaÅŒyć, ÅŒe pokrywa cię futro." + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" +"Mieszkam tu, Zbyt zmutowany by zasilić szeregi fajnych dzieciaków, ale nie " +"na tyle zmutowany by zabić bez zadawania pytań." + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "Czemu tu mieszkasz?" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "" +"Wygląda na to, ÅŒe potrafisz o siebie zadbać. Nie chciałbyś podróŌować ze " +"mną?" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" +"To bezpieczniejsze niÅŒ zorganizowanie własnego miejsca. Wybywam na " +"poszukiwania jak potrzebuję. Puki dbamy o porządek i robimy swoje jak " +"nadchodzą zombie, pozwalają nam tu pomieszkiwać, jako dodatkowa ochrona. Nie" +" podoba im się natomiast, ÅŒe przynoszę ÅŒywność dla pozostałych lokatorów... " +"Myślę ÅŒe chcieliby nas powoli zagłodzić, i choć nie napełnię wszystkim " +"ÅŒołądków, to zdołam przynieść na tyle by utrzymać tych gości w jako takiej " +"kondycji. Podejrzewam, ÅŒe w końcu znajdą wymówkę by mnie stąd w końcu " +"wywalić." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" +"Ohyda, co nie? Są jak włosy łonowe. Zaczęły rosnąć gdzie popadnie zaraz po " +"kataklizmie. Nie mam pojęcia co to spowodowało. Nie mam im za złe, ÅŒe ich " +"nienawidzą, sam ich nienawidzę." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" +"No cóŌ, to miła uchu oferta, i cieszę się, ÅŒe nie odstręczają cię moje włosy" +" łonowe na całym ciele. Ale wybacz mi. Stałem się niejako odpowiedzialny za " +"tą zgraję dzikich lokatorów. Dopóki jestem jedyny, który zapewnia im " +"przetrwanie, nie sądzę abym mógł ot tak odejść." + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "Mogę ci pomóc marszalu?" @@ -128861,14 +130309,20 @@ msgid "" "where any of it comes from. I had a driver's license in my pocket and " "that's the only way I even know my name." msgstr "" +"Zabrzmi jak wariactwo, ale obudziłem się w lesie pośrodku głuszy, zmarznięty" +" jak diabli, jakiś tydzień przed spotkaniem ciebie. Miałem na sobie ubranie," +" głowa bolała mnie jak nigdy, i nie miałem ani śladu wspomnień o " +"czymkolwiek. Tak ÅŒe, znam rzeczy. Potrafię mówić, rozumiem i mam " +"umiejętności... ale nie pamiętam skąd to wszystko pochodzi. Miałem w " +"kieszeni prawo jazdy i tylko stąd wiem jak się nazywam." #: lang/json/talk_topic_from_json.py msgid "What do you think happened?" -msgstr "" +msgstr "Jak myślisz, co się stało?" #: lang/json/talk_topic_from_json.py msgid "That does sound a little crazy..." -msgstr "" +msgstr "To faktycznie brzmi trochę jak wariactwo..." #: lang/json/talk_topic_from_json.py msgid "" @@ -128877,10 +130331,14 @@ msgid "" "slashing patterns around me. Whatever happened to me, I think it was some " "weird shit." msgstr "" +"Było kilka śladów. Choćby ból głowy który trwał kilka dni, ale ÅŒadnych ran i" +" siniaków. I ślady spalenizny na drzewach w dziwnych tnących wzorach wokół " +"mnie. Cokolwiek mi się przydarzyło, musiało być to nieźle pokręcone " +"dziadostwo." #: lang/json/talk_topic_from_json.py msgid "Are you trying to get your memory back then?" -msgstr "" +msgstr "Próbujesz zatem odzyskać wspomnienia?" #: lang/json/talk_topic_from_json.py msgid "" @@ -128892,6 +130350,13 @@ msgid "" "psychotic break and my brain did this to itself. To be honest with you I " "think I'd rather focus on surviving, and not worry about it." msgstr "" +"CóŌ, brak wypomnień to dziwne uczucie, ale bądźmy szczerzy: czy to coś " +"polepszy? Z tym co się dzieje wokół, dam sobie rękę uciąć ÅŒe moje " +"wspomnienia nie naleŌą do szczęśliwych. Oprócz prawa jazdy w kieszeni były " +"zdjęcia dzieci... nie ÅŒeby to pobudziło jakieś wspomnienie. Nie widziałem " +"ÅŒadnych dzieci wokół. MoÅŒe utrata zmysłów to dar losu. Do diabła, moÅŒe to " +"jakieś załamanie nerwowe i mój umysł sam to sobie zrobił. Szczerze mówiąc " +"wole się skupić na przeÅŒyciu, i się tym nie martwić." #: lang/json/talk_topic_from_json.py msgid "" @@ -128900,10 +130365,14 @@ msgid "" " Bugs Bunny but I don't remember any time I sat down and watched a Bugs " "Bunny show." msgstr "" +"Wiem, ÅŒe to wariactwo. Brzmi jak udawana amnezja z kreskówki o Króliku " +"Bugsie. Widzisz? Jak mogę to wiedzieć, a nie pamiętać skąd to wiem? Widzisz," +" pamiętam Królika Bugsa, ale nie przypominam sobie abym kiedykolwiek " +"siedział i oglądał tą kreskówkę." #: lang/json/talk_topic_from_json.py msgid "What were you saying before?" -msgstr "" +msgstr "O czym mówiłeś wcześniej?" #: lang/json/talk_topic_from_json.py msgid "" @@ -128914,14 +130383,20 @@ msgid "" "gooey bastard to a pulp... and that's when I became me. I still run, " "because who doesn't, but I stand my ground now." msgstr "" +"Kim byłem zginęło. Wszystko to spaliło się w . Rozumiesz? To " +"kim jestem zaczęło się dwa dni od początku. Uciekałem przed piekielnie " +"wielkim zombie, uciekałem jak zawsze to robiłem, gdy znalazłem metalowego " +"baseballa leŌącego ot tak na ziemi. Wziąłem to za znak i rozbiłem tego " +"dziada na miazgę... i wtedy stałem się sobą. Nadal uciekam, bo kto teraz nie" +" ucieka, ale teraz stawiam na swoim." #: lang/json/talk_topic_from_json.py msgid "What happened to you after that?" -msgstr "" +msgstr "Co się wydarzyło z tobą potem?" #: lang/json/talk_topic_from_json.py msgid "It can't be healthy to abandon your past like that..." -msgstr "" +msgstr "To nie jest chyba zdrowe tak porzucić swoją przeszłość..." #: lang/json/talk_topic_from_json.py msgid "" @@ -128931,6 +130406,11 @@ msgid "" " my bat so I dropped it and used a nearby two-by-four, but I wound up having" " to run and leave the ol' slugger behind. I nearly died that day." msgstr "" +"Szedłem naprzód, uciekając jak musiałem i walcząc gdy mogłem, jak kaÅŒdy z " +"nas. Zacząłem uczyć się kim jestem. Straciłem pałkę w walce z jakimś " +"elektrycznym zombi. Ładował błyskawicami w kij, więc go upuściłem i uÅŒyłem " +"pobliskiej deski, ale musiałem uciekać i zostawiłem starą pałkę za sobą. " +"Niemal wtedy zginąłem." #: lang/json/talk_topic_from_json.py msgid "" @@ -128938,12 +130418,17 @@ msgid "" " Who I was is gone. Dead. I don't give a shit about your 'healthy', don't" " ask again." msgstr "" +"Słuchaj. Mówiłem wyraźnie, i jak będziesz drÄ…ÅŒył, to się wkurwię. Kim byłem " +"przepadło. Zginęło w mroku. Nie pierdol o 'zdrowiu', i nie pytaj " +"więcej." #: lang/json/talk_topic_from_json.py msgid "" "Let's not talk about it, ok? It just hurts to think about. I've lost so " "many people... and I'm sure you have too. Let's focus on the here and now." msgstr "" +"Nie mówmy o tym, ok? Sama myśl o tym boli. Straciłem tylu bliskich... i " +"sądzę ÅŒe ty podobnie. Skupmy się na tu i teraz." #: lang/json/talk_topic_from_json.py msgid "I can respect that. " @@ -129457,12 +130942,23 @@ msgid "" "collateral damage after it got blasted off Orleans by a tank. I was already" " busy running frantically by then." msgstr "" +"Jestem w rzeczy samej profesorem chemii na Harwardzie. Byłem na urlopie " +"naukowym od pół roku. Nie wyobraÅŒam sobie ÅŒe uniwersytet był dobrym miejscem" +" by tam być, biorąc pod uwagę to co słyszałem o Boston... wątpię by " +"ktokolwiek się wydostał. Byłem mojej chacie w Chatham, rzekomo pracując nad " +"ostatnimi szlifami do publikacji, ale głównie sącząc whiskey i modląc się do" +" gwiazd o etat wykładowcy. To były dobre dni. Potem nadszedł " +", konwoje wojskowe, . Chatę zniszczył , " +"niewielka strata po tym jak oberwała pociskiem z czołgu z Orleans. Od tego " +"momentu spędzam czas na chaotycznej ucieczce." #: lang/json/talk_topic_from_json.py msgid "" "Do you think there's some way your knowledge could help us understand all " "this?" msgstr "" +"Myślisz ÅŒe twoja wiedza mogła by uchylić rąbka tajemnicy w zrozumieniu tego " +"co się dzieje?" #: lang/json/talk_topic_from_json.py msgid "" @@ -129470,6 +130966,9 @@ msgid "" " I'm at a loss to how that relates, but if you come across something where " "my knowledge would help I'll gladly offer it." msgstr "" +"Trudno powiedzieć. Nie jestem ekspertem w chemii organicznej, zajmowałem się" +" chemią geologiczną. Gubię się w tym gdzie mogła by mieć tu zastosowanie, " +"ale jeśli znajdziesz coś w czym moja wiedza się przyda to słuŌę pomocą." #: lang/json/talk_topic_from_json.py msgid "Cool. What did you say before that?" @@ -129707,16 +131206,27 @@ msgid "" "thing, but from her, it actually had me worried. I packed a bug-out bag " "just in case." msgstr "" +"Przed pracowałem w laboratorium. Nie patrz tak na mnie, nie " +"mam nic wspólnego z tym wszystkim... Badałem rekcje pomiędzy proteinami w " +"mięśniach gładkich myszy, uÅŒywając NMR. Nic nawet na kilometr związanego z " +"zombie. W kaÅŒdym razie byłem na zeszłorocznej konferencji Biologii " +"Eksperymentalnej w San Francisco, i stara znajoma mówiła mi o naprawdę " +"dziwacznych rzeczach, które słyszała ÅŒe wychodzą z laboratoriów rządowych. " +"Prawdziwe sprawy cicho-sza. Normalnie nie dałbym wiary w takie gadanie, ale " +"słysząc to od niej, zacząłem się martwić. Spakowałem sobie torbę na wszelki " +"wypadek." #: lang/json/talk_topic_from_json.py msgid "What came of it?" -msgstr "" +msgstr "Co z tego wyszło?" #: lang/json/talk_topic_from_json.py msgid "" "If I got you the right stuff, do you think you'd be able to like... do " "science to it?" msgstr "" +"Jakbym ci znalazł właściwe rzeczy, to czy zdołałbyś nie wiem... zaaplikować " +"temu trochę nauki?" #: lang/json/talk_topic_from_json.py msgid "" @@ -129730,10 +131240,19 @@ msgid "" "so prepared. Like I said, I'm not that kind of scientist, but they didn't " "seem to understand. I... I did my best." msgstr "" +"Nadszedł rozkaz ewakuacji, więc się ewakuowałem, w miarę szybko. Przez to " +"byłem daleko przed najgorszym. Nasze centrum ewakuacji było bezuÅŒyteczne... " +"ja, kilku innych ewakuowanych, kilka puszek ÅŒarcia, i klika kocy " +"ratunkowych. Za mało by choć myśleć o czymkolwiek powaÅŒnym. Ewakuowani " +"podzielili się po połowie na obozy i zaczęły się walki wewnętrzne. Uciekłem " +"w las z kilkoma innymi. Udało nam się uciec, załoÅŒyliśmy mały obóz. Chcieli " +"mnie zrobić ich przywódcą, myśląc ze wiem więcej niÅŒ wiedziałem, skoro " +"przybyłem przygotowany. Tak jak mówiłem, ja nie z tych naukowców, ale oni " +"tego nie rozumieli. Ja... zrobiłem co w mojej mocy." #: lang/json/talk_topic_from_json.py msgid "What happened with your leadership run?" -msgstr "" +msgstr "Co się stało pod twoim przywództwem?" #: lang/json/talk_topic_from_json.py msgid "" @@ -129745,10 +131264,17 @@ msgid "" "really get past it. We parted ways on good terms not long before I met you." " I just couldn't face the reminder of what had happened." msgstr "" +"Myślałem, ÅŒe nasza ucieczka, i pozostawienie centrum w rękach pozostałych " +"będzie wystarczające, ale nie było. Namierzyli nas w nocy, parę dni później." +" Oni... cóŌ... mi się udało, razem z jednym z ocalonych. Atakujący byli jak " +"zwierzęta. Próbowaliśmy podróŌować razem przez jakiś czas. Winiłem siebie za" +" to co się stało, i nie mogłem tego przeboleć. Rozdzieliliśmy się w " +"przyjaznych warunkach nie tak dawno przed spotkaniem ciebie. Nie mogłem " +"patrzeć w twarz temu co postało po mojej poraÅŒce." #: lang/json/talk_topic_from_json.py msgid "I'm sorry to hear that. " -msgstr "" +msgstr "Przykro mi to słyszeć. " #: lang/json/talk_topic_from_json.py msgid "" @@ -129758,6 +131284,12 @@ msgid "" "safe lab of my own, with quite a lot of fancy gear, and a reliable power " "grid. I think that's a long way down the road." msgstr "" +"No więc, jeśli znajdziesz cokolwiek związanego z tym, co sprowadzać się " +"będzie do biochemii analitycznej, mógłbym spróbować rozszyfrować to i moÅŒe " +"wytłumaczyć choć trochę. By zrobić więcej, choćby przeanalizować próbki " +"itp., potrzebowałbym własnego bezpiecznego laboratorium, ze sprzętem o jaki " +"niełatwo, i z siecią elektryczną, której moÅŒna zaufać. To raczej daleko na " +"horyzoncie." #: lang/json/talk_topic_from_json.py msgid "" @@ -129769,6 +131301,13 @@ msgid "" " hard hit to the side of my head. I have no idea what happened to me, but " "clearly I had already been on the run for a bit." msgstr "" +"Mam, to fakt, lukę w pamięci obejmującą jakieś trzy dni przed i po " +". Pracowałem w laboratorium - nic związanego z tym wokół, " +"kwestie fizyki. Myślę ÅŒe byłem w pracy jak to się stało. Moje pierwsze jasne" +" wspomnienie to bieg przez podszycie parę mil od miasta. Byłem " +"zabandaÅŒowany, miałem torbę listonosza wyładowaną sprzętem, i mocno " +"oberwałem w bok głowy. Nie wiem co mi się stało, ale od jakiegoś czasu juÅŒ " +"uciekałem." #: lang/json/talk_topic_from_json.py msgid "" @@ -129778,6 +131317,12 @@ msgid "" "I'd need a safe lab of my own, with quite a lot of fancy gear, and a " "reliable power grid. I think that's a long way down the road." msgstr "" +"No więc, jeśli znajdziesz cokolwiek związanego z tym, co sprowadzać się " +"będzie do fizyki teoretycznej, mógłbym spróbować rozszyfrować to i moÅŒe " +"wytłumaczyć choć trochę. By zrobić więcej, choćby zbudować modele " +"teoretyczne itp., potrzebowałbym własnego bezpiecznego laboratorium, ze " +"sprzętem o jaki niełatwo, i z siecią elektryczną, której moÅŒna zaufać. To " +"raczej daleko na horyzoncie." #: lang/json/talk_topic_from_json.py msgid "" @@ -129789,10 +131334,16 @@ msgid "" "other thing I am that the other grunts ain't: alive. You can figure the " "rest out." msgstr "" +"Słuchaj, nie chciał bym się w to zbytnio wgłębiać. Byłem w rezerwie, OK? Nie" +" pisałem się na naładowaną chwałą i patosem obronę ojczyzny, chciał tylko " +"podbudować formę, zdobyć paru przyjaciół, i mieć fajny wpis w CV. Nigdy nie " +"myślałem ÅŒe powołają mnie do czynnej słuÅŒby by walczyć przeciwko " +"zombie. MoÅŒe jestem dezerterem, moÅŒe tchórzem, ale powiem ci tyle ÅŒe jestem " +"tym czym nie są inni ÅŒołdacy - ÅŒywym człowiekiem. Reszty się domyśl." #: lang/json/talk_topic_from_json.py msgid "Fair enough, thanks. " -msgstr "" +msgstr "W porządku, dzięki. " #: lang/json/talk_topic_from_json.py msgid "" @@ -129803,10 +131354,15 @@ msgid "" "efforts'. Our orders barely made sense, our officers were as confused as we" " were." msgstr "" +"Byłem w wojsku. Po prostu nowy rekrut. Nawet nie zakończyłem podstawowego " +"szkolenia, gdy powołano mnie do frontowej słuÅŒby jak gówno się rozlało. " +"Ledwo wiedziałem z której strony lufy wylatują kule, a tu pakują mnie do " +"cięŌarówki jadącej do Newport do 'pomocy w zadaniu ewakuacji'. Rozkazy ledwo" +" trzymały się kupy, a oficerowie byli równie skołowani jak my." #: lang/json/talk_topic_from_json.py msgid "What happened in Newport?" -msgstr "" +msgstr "Co stało się w Newport?" #: lang/json/talk_topic_from_json.py msgid "" @@ -129819,6 +131375,14 @@ msgid "" " getting myself out, the others started getting back up. Long story short, " "I lived, they didn't, and I ran." msgstr "" +"Nigdy nie dotarliśmy do Newport. Na cięŌarówkę nadepnęło coś gigantycznego. " +"Nawet tego nie widziałem, tylko tą czarno-zieloną kolczastą nogę " +"przebijającą sufit, przez LT. Słyszałem pisk opon, i unoszenie się wozu. " +"Zrzuciło nas z nogi jak psie gówno z podeszwy. Nie wiem jak przeÅŒyłem. Ta " +"rzecz przeturlała się, wybijając większość z nas na miejscu. Musiałem " +"chwilowo stracić przytomność. Jak wróciłem do zmysłów i zacząłem się stamtąd" +" zbierać, pozostali zaczęli powstawać. Długo by mówić, ja ÅŒyję, oni nie, i " +"uciekłem." #: lang/json/talk_topic_from_json.py msgid "" @@ -131279,6 +132843,44 @@ msgstr "Uderzasz fazowo %s" msgid " phase-strikes %s" msgstr " uderza fazowo %s" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "Pchnij" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "Odpychasz %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr " odpycha %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "Zgrabnie podcinasz %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr " zgrabnie podcina %s" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "Nadziej" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "Brutalnie nadziewasz %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr " brutalnie nadziewa %s" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "przemieszczenie i kontra" @@ -140259,6 +141861,11 @@ msgstr "Kończysz czekać." msgid "%s finishes with you..." msgstr "%s kończy z tobą..." +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "%s kończy rozmawiać z tobą." + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "Przewracasz się na lewo i prawo..." @@ -140334,6 +141941,11 @@ msgstr "Kończysz kopanie %s." msgid "You finish filling up %s." msgstr "Kończysz zasypywanie %s." +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "Zabawa z twoim %s nieco podniosła cię na duchu." + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "Otwierasz swój zestaw i się golisz." @@ -140342,6 +141954,16 @@ msgstr "Otwierasz swój zestaw i się golisz." msgid "You give your hair a trim." msgstr "Przycinasz sobie włosy." +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "Rozkładasz twój %s." + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "Rozładowujesz twój %s." + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "Zebrałeś plon ze wszystkich moÅŒliwych pól." @@ -141647,6 +143269,10 @@ msgstr "oddycha" msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "kurczy się i rośnie nieznacznie w regularnym rytmie, jakby oddychał" +#: src/artifact.cpp +msgid "dead" +msgstr "martwy" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "jest lodowato zimny w dotyku" @@ -144532,12 +146158,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "PLIK USZKODZONY, NACIŚNIJ DOWOLNY KLAWISZ..." #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." -msgstr "" -"Maszyna wstrzykuje w twoje oko mieszaninę\n" -"zmielonej kości i LSD." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." +msgstr "Maszyna sprawnie nastawia i otacza łubkami twoją złamaną %s." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -145575,6 +147198,62 @@ msgstr "Ucztujesz na słodkim miodzie." msgid "You can't finish it all!" msgstr "Nie moÅŒesz dokończyć całości!" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "Cienie są nawet bliÅŒej niÅŒ wcześniej." + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "Masz złe przeczucia." + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "Silne uczucie strachu ogarnia cię." + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "Masz gęsią skórkę." + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "Idą po ciebie." + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "To był zły pomysł..." + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "Tym razem nawaliłeś na całego, czyÅŒ nie?" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "Musisz być czujny. Oni zawsze obserwują..." + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "to błąd to błąd to błąd to błąd to błąd" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "Tylko spokojnie, a przebrniesz przez to." + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "Stajesz się bardzo nerwowy." + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "Coś się rusza na granicy twojego wzroku." + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "Wiedzą co zrobiłeś..." + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "Czujesz większą paranoję niÅŒ zwykle." + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "ObÅŒerasz się, przygotowując się do hibernacji." @@ -146095,13 +147774,10 @@ msgstr "receptury zapamiętane lub nie" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"Domyślnie szukaj nazw rezultatów. Pewne jednoliterowe prefiksy mogą byc uÅŒyte z dwukropkiem (:) by szukać w inny sposób.\n" -"\n" -"Przykłady:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -152211,6 +153887,10 @@ msgstr "PokaÅŒ wiadomości debug" msgid "Crash game (test crash handling)" msgstr "Zawieś grę (test postępowania z zawieszeniem gry)" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "Spawnuj Extra Lokację" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "Wyjdź do Głównego Menu" @@ -152561,22 +154241,25 @@ msgid "Underground" msgstr "Pod ziemią" #: src/game.cpp -msgid "Weather:" -msgstr "Pogoda:" - -#: src/game.cpp -msgid "Temperature:" -msgstr "Temperatura:" +msgid "Weather :" +msgstr "Pogoda :" #: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "KsięŌyc %s" +msgid "Temp :" +msgstr "Temperatura: " #: src/game.cpp msgid "Lighting:" msgstr "Światło:" +#: src/game.cpp +msgid "Deaf!" +msgstr "Głuchy!" + +#: src/game.cpp +msgid "Sound: " +msgstr "DÅŒwięk: " + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -152886,6 +154569,11 @@ msgstr "Upuść wszystkie rzeczy" msgid "Attach bag" msgstr "Przytwierdź torbę" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "Pobaw się z %s" + #: src/game.cpp msgid "Untie" msgstr "OdwiÄ…ÅŒ" @@ -152960,6 +154648,11 @@ msgstr "%1$s jest przeciÄ…ÅŒony. Nie moÅŒesz przemieścić twojego %2$s." msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "Nie ma na to miejsca w %2$s twojego %1$s, jest zbyt pokaźne!" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "Poświęcić parę minut na zabawę z twoim %s?" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "Naprawdę zabić niewolnika zombie?" @@ -153748,63 +155441,6 @@ msgstr "Nie masz nic do rozładowania." msgid "You're not wielding anything." msgstr "Niczego nie trzymasz w dłoniach." -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "Wkładasz %s do ekwipunku." - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "Ten %s juÅŒ teraz jest pusty!" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "Płyn nie moÅŒe być wylany w obecnym stanie!" - -#: src/game.cpp -msgid "Unload what?" -msgstr "Rozładować co?" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "Nie moÅŒesz rozładować %s!" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "Nie moÅŒesz rozładować ładowalnego %s!" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "Twój %s nie jest naładowany." - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "Twój %s nie jest nabity." - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "Rozkładasz twój %s." - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "Rozładowujesz twój %s." - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "Odzyskujesz %i niezuÅŒytego plutonu." - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "Nie moÅŒesz usunąć częściowo zuÅŒytego plutonu!" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -155332,10 +156968,6 @@ msgstr "Tak." msgid "Yes, and save game before sleeping." msgstr "Tak, i zapisz grę przed snem." -#: src/handle_action.cpp -msgid "No." -msgstr "Nie." - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "MoÅŒesz chcieć to dezaktywować przed snem." @@ -161814,12 +163446,7 @@ msgid "No music on device" msgstr "Brak muzyki na urządzeniu" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "Przepisy: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" +msgid "View recipes on E-ink screen" msgstr "Wyświetl recepturę na e-papierze" #: src/iuse.cpp @@ -161889,13 +163516,8 @@ msgid "You turned on music on your %s." msgstr "Włączyłeś muzykę na swoim %s." #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "Wybierz przepis do wyświetlenia:" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "Ustawiasz e-papier by wyświetlał przepis na %s." +msgid "List recipes:" +msgstr "Lista receptur:" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -165147,6 +166769,10 @@ msgstr "Rozbijalny." msgid "Diggable. " msgstr "Koplany." +#: src/map.cpp +msgid "Plowable. " +msgstr "Orne. " + #: src/map.cpp msgid "Rough. " msgstr "Szorstki." @@ -171847,7 +173473,7 @@ msgstr "Nie ma tu obozu frakcji do odzyskania!" msgid "%s has abandoned the camp." msgstr "%s opuszcza obóz." -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "pięści" @@ -172085,6 +173711,16 @@ msgstr "%s zapewnia ci niezłe strzyÅŒenie..." msgid "%s gives you a decent shave..." msgstr "%s przyzwoicie cię goli." +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "To była miła pogawędka z %s..." + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "To była miła pogawędka z %s." + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -174310,13 +175946,14 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "Przykład: -pipe,-chunk,-steel" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" -msgstr "Szuka po [c] kategorii, [m] materiale, lub [q} jakości:" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" +msgstr "" +"Szuka po [c] kategorii, [m] materiale, lub [d] rozbieralnych składnikach:" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "Przykład: c:ÅŒywność, m:ÅŒelazo, q:młotkujący" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "Przykład: c:ÅŒywność, m:ÅŒelazo, d:rura" #: src/output.cpp msgid "unknown" @@ -174660,6 +176297,10 @@ msgstr "Złap lub wypuść stworzenie." msgid "Load or unload a vehicle" msgstr "Załaduj lub rozładuj pojazd" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "Przeładuj siewnik nasionami" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -175224,6 +176865,14 @@ msgstr "swój głośny okrzyk!" msgid "The sound of your voice is almost completely muffled!" msgstr "Dźwięk twojego głosu jest niemal całkowicie wygłuszony!" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "niewyraźny głos" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "swój przytłumiony krzyk" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "Dźwięk twojego głosu jest mocno wygłuszony!" @@ -175899,10 +177548,6 @@ msgstr "Dlaczego mnie śledzisz?" msgid "This place is dangerous, you shouldn't be here." msgstr "To miejsce jest niebezpieczne, nie powinno cię tu być." -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "Co ty tu robisz?" - #: src/player.cpp msgid "That's not true, is it?" msgstr "To nieprawda, zgadza się?" @@ -176830,6 +178475,53 @@ msgstr "Nie moÅŒesz umieścić tam przedmiotów!" msgid " can't place items here!" msgstr " nie moÅŒe umieścić tam przedmiotów!" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "Wkładasz %s do ekwipunku." + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "Ten %s juÅŒ teraz jest pusty!" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "Płyn nie moÅŒe być wylany w obecnym stanie!" + +#: src/player.cpp +msgid "Unload what?" +msgstr "Rozładować co?" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "Nie moÅŒesz rozładować %s!" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "Nie moÅŒesz rozładować ładowalnego %s!" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "Twój %s nie jest naładowany." + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "Twój %s nie jest nabity." + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "Odzyskujesz %i niezuÅŒytego plutonu." + +#: src/player.cpp +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." @@ -177314,6 +179006,10 @@ msgstr "Czujesz ÅŒe zadania w %s tego poziomu stają się trywialne." msgid "You resume your task." msgstr "Wracasz do pracy." +#: src/player.cpp +msgid "Weapon : fists" +msgstr "Broń : pięści" + #: src/player.cpp msgid "Wield what?" msgstr "Trzymać co?" @@ -178118,15 +179814,6 @@ msgstr "Powalona atakiem astmy." msgid "You wheeze and gasp for air." msgstr "Świszczysz i starasz się łapać oddech." -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "" -"Czujesz jakby twoje kości były z gumy gdy topią się i składają z powrotem." - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "Czujesz jakby twoje kości się kruszyły." - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "Twoja głowa boli przez chwilę." @@ -178930,15 +180617,6 @@ msgstr "Zimno!%s" msgid "Freezing!%s" msgstr "Mróz!%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "Głuchy!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "Odgłos %d" - #: src/sidebar.cpp msgid "Parched" msgstr "Spieczony" @@ -180611,10 +182289,10 @@ msgstr "Naprawiasz %2$s w %1$s." msgid "Lost connection with the vehicle due to distance!" msgstr "Straciłeś kontakt z pojazdem z uwagi na odległość!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "BANG!" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "głośne BANG! z %s" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -181324,18 +183002,23 @@ msgstr "Wygląda na to ÅŒe w %1$s zabrakło %2$s." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "%s wydaje długi brzęczący dźwięk." +msgid "the %s bang as it starts" +msgstr "%s bang gdy startuje" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "%s wydający długie beep" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "%s wydaje pojedynczy dźwięk kliknięcia." +msgid "the %s clicking once" +msgstr "%s wydający pojedynczy klik" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "%s wydaje gwałtowne klikające dźwięki." +msgid "the %s rapidly clicking" +msgstr "%s wydający gwałtowne klikające dźwięki." #: src/vehicle_use.cpp #, c-format @@ -181344,8 +183027,8 @@ msgstr "%s szybko przycina się." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "%s wydaje okropne stukoczące dźwięki." +msgid "the %s clanking and grinding" +msgstr "%s stuka i łomocze" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -181365,6 +183048,11 @@ msgstr "BEEEP!" msgid "You honk the horn, but nothing happens." msgstr "Trąbisz klaksonem, ale nic się nie dzieje." +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "Przenieść ile? [Masz %d] (0 by anulować)" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "prosta melodia dobywa się z głośników" diff --git a/lang/po/ru.po b/lang/po/ru.po index ea0a3bb5c319d..64e6f5b059f3c 100644 --- a/lang/po/ru.po +++ b/lang/po/ru.po @@ -3,7 +3,6 @@ # Daniil Bolotov, 2018 # Алексей , 2018 # Disillusion Ds , 2018 -# МаксОЌ <2.6makc@gmail.com>, 2018 # Daniel , 2018 # Kio Ned , 2018 # БукОМ ИваМ , 2018 @@ -37,15 +36,16 @@ # Oleksii Filonenko , 2018 # Tymur Valiiev , 2019 # Vlasov Vitaly , 2019 -# АМтПМ БурЌОстрПв <22.valiant@gmail.com>, 2019 # Victor_U , 2019 +# МаксОЌ <2.6makc@gmail.com>, 2019 +# АМтПМ БурЌОстрПв <22.valiant@gmail.com>, 2019 # Midas , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Midas , 2019\n" "Language-Team: Russian (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ru/)\n" @@ -7289,6 +7289,23 @@ msgstr "" "НакОЎка Оз пПлОэтОлеМа с капюшПМПЌ О ЎвуЌя бПльшОЌО карЌаМаЌО. ЗащОщает Пт " "ЎПжЎя." +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "каЌлейка" +msgstr[1] "каЌлейкО" +msgstr[2] "каЌлеек" +msgstr[3] "каЌлейкО" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" +"ПлПтМП сшОтый плащ Оз ПбрабПтаММых О разрезаММых кОшПк. АбПрОгеМы АрктОкО " +"цеМят егП за лёгкПсть О вПЎПМепрПМОцаеЌПсть." + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -21681,41 +21698,41 @@ msgid "Spice" msgstr "СпецОя" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" -msgstr[0] "рОслОМг" -msgstr[1] "рОслОМга" -msgstr[2] "рОслОМга" -msgstr[3] "рОслОМг" +msgid "Riesling" +msgid_plural "Riesling" +msgstr[0] "РОслОМг" +msgstr[1] "РОслОМга" +msgstr[2] "РОслОМгПв" +msgstr[3] "РОслОМг" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "" "ИгрОстПе белПе вОМП, ОзгПтПвлеММПе Оз благПрПЎМейшегП вОМПграЎа в ЌОре." #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" +msgid "Chardonnay" +msgid_plural "Chardonnay" msgstr[0] "КарЎПМе" msgstr[1] "КарЎПМе" msgstr[2] "КарЎПМе" msgstr[3] "КарЎПМе" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "ЗаслужеММП саЌПе пПпулярМПе вОМП АЌерОкО." #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" msgstr[0] "КаберМе-сПвОМьПМ" -msgstr[1] "КаберМе-сПвОМьПМ" -msgstr[2] "КаберМе-сПвОМьПМ" +msgstr[1] "КаберМе-сПвОМьПМа" +msgstr[2] "КаберМе-сПвОМьПМПв" msgstr[3] "КаберМе-сПвОМьПМ" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -21751,8 +21768,10 @@ msgstr[3] "вОскО" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "СЎелаМП Ма Юге, южаМаЌО О Ўля южаМ!" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "" +"ДОстОллОрПваММый зерМПвПй спОрт, ОзгПтПвлеММый Ма Юге, южаМаЌО О Ўля южаМ!" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -21764,8 +21783,12 @@ msgstr[3] "вПЎка" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "В СПветскПй РПссОО вПЎка пьёт тебя!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" +"НапОтПк, сПстПящОй тПлькП Оз спОрта О вПЎы. В АЌерОке челПвек Ўелает вПЎку, " +"а в СПветскПй РПссОО вПЎка Ўелает челПвека!" #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -21777,8 +21800,12 @@ msgstr[3] "ЎжОМ" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "СлабП пахМет ягПЎаЌО бузОМы, МП пП сутО саЌПгПМ." +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" +"АлкПгПльМый МапОтПк с арПЌатПЌ ягПЎ ЌПжжевельМОка. ОМ слабП пахМет ягПЎаЌО, " +"МП в ПсМПвМПЌ пьяМОт." #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -21790,8 +21817,12 @@ msgstr[3] "рПЌ" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "ВыпОв этП, ЌПжМП пПчувствПвать себя пОратПЌ. ИлО Мет." +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "" +"ДОстОллОрПваММый алкПгПльМый МапОтПк Оз ферЌеМтОрПваММПй патПкО. Выпейте О " +"пПчувствуйте себя пОратПЌ. ИлО Мет." #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -21803,8 +21834,13 @@ msgstr[3] "текОла" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "Не ешь червя! ППгПЎО, в этПй бутылке Мет червей." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "" +"ДОстОллОрПваММый алкПгПльМый МапОтПк, ОзгПтПвлеММый Оз сПчМых растеМОй с кПлючОЌО лОстьяЌО. \n" +"— Не ешь червя! \n" +"— ППЎПжЎО, в этПй бутылке Мет червя." #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -21922,10 +21958,11 @@ msgstr[3] "«ЛПМг-АйлеМЎ айс тО»" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." msgstr "" -"КПктейль Оз МеверПятМП крепкОх лОкёрПв, сП вкусПЌ, МепПхПжОЌ МО Ма ПЎОМ Оз " -"МОх." +"СЌесь уЎОвОтельМП арПЌатМых лОкёрПв, Ме пПхПжая Ма вкус МО Ма ПЎОМ Оз МОх. " +"Не сПЎержОт чая, МП ЎПбавка кПлы прОЎаёт чайМый цвет." #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -21933,8 +21970,10 @@ msgstr "кПктейль «Птвёртка»" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "ППЎпПльМый МапОтПк — Ќечта ЌехаМОка-алкПгПлОка." +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "СЌесь апельсОМПвПгП сПка О вПЎкО. ЭтП МапОтПк выбПр пьяМОцы-ЌехаМОка." #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -21974,10 +22013,12 @@ msgstr[3] "пОвП" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." msgstr "" -"Лучше всегП пПЎавать хПлПЎМыЌ, в стекляММых бПкалах, с лайЌПЌ  ВаЌ Пб этПЌ " -"Пстаётся тПлькП Ќечтать." +"АлкПгПльМый МапОтПк, пПлучеММый Оз зерМа О арПЌатОзОрПваММый хЌелеЌ. Лучше " +"всегП пПЎавать ПхлажЎёММыЌ в стакаМе с кусПчкПЌ лайЌа - МП ваЌ Ме МастПлькП " +"пПвезлП." #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -22052,12 +22093,13 @@ msgstr[3] "саЌПгПМ" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." msgstr "" -"ТПлькП сОльМейшОй, чОстейшОй, старый ЎПбрый зМаЌеМОтый саЌПгПМ. С гараМтОей " -"заставОт вас забыть ПбП всёЌ этПЌ катаклОзЌе, ОлО вы пПлучаете свПё зреМОе " -"ПбратМП." +"ТПлькП крепчайшОй, чОстейшОй, старый ЎПбрый саЌПгПМ, перегМаММый Оз кукурузы" +" О сахара. С гараМтОей заставОт вас забыть ПбП всёЌ этПЌ катаклОзЌе, ОлО вы " +"пПлучаете свПё зреМОе ПбратМП." #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -22070,11 +22112,11 @@ msgstr[3] "еврПпейскОй пОльзМер" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." msgstr "" -"ПОлсМер, пОльзеМскПе пОвП, ОЌпПртОруеЌПе Оз ЕврПпы. Лучше всегП пПЎавать в " -"стакаМе О хПлПЎМыЌ, МП ваЌ Ме так везёт." +"Лагер, вОЎ пОва, ОЌпПртОруеЌый Оз ЕврПпы. Лучше всегП пПЎавать в стакаМе О " +"хПлПЎМыЌ, МП ваЌ Ме так везёт." #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -22133,7 +22175,7 @@ msgstr[3] "бельгОйскОй эль" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." msgstr "" "ВкусМый О пОтательМый эль, свареММый бельгОйскОЌО ЌПМахаЌО. Лучше всегП " @@ -22220,11 +22262,12 @@ msgstr "калОЌПчП" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." msgstr "" -"Не такПй уж О плПхПй, как МекПтПрые ЌПглО бы себе преЎставОть, этПт МапОтПк " -"ПчеМь пПпуляреМ среЎО ЌПлПЎых О/ОлО беЎМых люЎей в МекПтПрых страМах." +"СЌесь равМых частей вОМа О кПлы. Не такПй уж О плПхПй, как ЌПжМП пПЎуЌать, " +"этПт МапОтПк ПчеМь пПпуляреМ среЎО ЌПлПЎых О/ОлО беЎМых люЎей в МекПтПрых " +"страМах." #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -23506,8 +23549,14 @@ msgstr[3] "кПфе" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "КПфе. УтреММОй рОтуал ЎПапПкалОптОческПгП ЌОра." +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" +"УтреММОй рОтуал пре-апПкалОптОческПгП ЌОра, сПзЎаММый Оз кПфейМых вОшеМ в " +"результате слПжМПгП прПцесса уЎалеМОя, ПбжаркО, ОзЌельчеМОя О варкО сеЌяМ. " +"КПфе зМачОтельМП бПгаче кПфеОМПЌ, чеЌ егП кПМкурОрующОй чай." #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -23542,11 +23591,11 @@ msgstr[3] "сгущёММПе ЌПлПкП" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" -"ПОща телят, прОгПтПвлеММая Ўля взрПслых люЎей. СгущёММПе ЌПлПкП пПЎсластОт " -"любую еЎу." +"КПрПвье ЌПлПкП, частОчМП ПбезвПжеММПе Ўля зМачОтельМПгП увелОчеМОя срПка " +"храМеМОя О пПЎслащеММПе." #: lang/json/COMESTIBLE_from_json.py msgid "cream soda" @@ -23616,8 +23665,12 @@ msgstr "эМергетОк" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "ППпуляреМ среЎО тех, ктП выМужЎеМ рабПтать ЎП пПзЎМей МПчО." +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" +"БезалкПгПльМый МапОтПк с бПльшОЌ сПЎержаМОеЌ кПфеОМа. ЭМергетОкО пПпулярМы " +"среЎО тех, ктП выМужЎеМ рабПтать ЎП пПзЎМей МПчО." #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -23751,9 +23804,11 @@ msgstr "кПфе с ЌПлПкПЌ" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." msgstr "" -"КПфе с ЌПлПкПЌ сталП ПфОцОальМыЌ утреММОЌ МапОткПЌ вП ЌМПжестве страМ." +"СЌесь кПфейМПгП сОрПпа О ЌПлПка. ОфОцОальМый гПсуЎарствеММый МапОтПк РПЎ " +"АйлеМЎа с 1993 гПЎа." #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -23761,10 +23816,8 @@ msgstr "чай с ЌПлПкПЌ" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "" -"Чай с ЌПлПкПЌ ПбычМП упПтребляют пП утраЌ. РаспрПстраМёМ вП ЌМПгОх страМах." +msgid "Hot tea with cold milk." +msgstr "ГПрячОй чай с хПлПЎМыЌ ЌПлПкПЌ." #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -23879,8 +23932,12 @@ msgstr "чай" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "Чай, МапОтПк кажЎПгП ЎжеМтльЌеМа." +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "" +"НапОтПк ЎжеМтльЌеМПв, сПзЎаММый путёЌ заварОваМОя в гПрячей вПЎе лОстьев " +"растеМОя каЌелОя кОтайская." #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -23938,8 +23995,8 @@ msgstr "тПЌатМый сПус" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "ТПЌатМый сПус, МяЌ, МяЌ." +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "Слегка прОправлеММый сПус Оз прОгПтПвлеММых пПЌОЎПрПв." #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -23964,8 +24021,10 @@ msgstr[3] "ЌайПМез" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "Старый ЎПбрый ЌайПМез, ПсПбеММП хПрПш в сэМЎвОчах." +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "Вязкая сЌесь яОц, Ќасла О сПлО, ПбычМП ею сЌачОвают бутербрПЎы." #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -23973,8 +24032,8 @@ msgstr "кетчуп" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "Старый ЎПбрый кетчуп, ПсПбеММП хПрПш Ўля хПт-ЎПгПв." +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "Густая тПЌатМая паста с сПлью О укусПЌ." #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -23986,8 +24045,12 @@ msgstr[3] "гПрчОца" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "Старая ЎПбрая гПрчОца, ПсПбеММП хПрПша Ма гаЌбургере." +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" +"ПрОправа, прОгПтПвлеММая Оз сеЌяМ гПрчОчМПгП растеМОя (/Brassica/ or " +"/Sinapis/), уксуса, сПлО О спецОй." #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -24038,8 +24101,12 @@ msgstr[3] "уксус" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "ОтвратОтельМП терпкОй белый уксус." +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" +"ППразОтельМП кОслый белый уксус. ВПт чтП пПлучОтся, еслО ферЌеМтОрПвать " +"алкПгПль слОшкПЌ ЎПлгП." #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -24065,8 +24132,12 @@ msgstr[3] "патПка" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." -msgstr "ЭкстреЌальМП слаЎкОй сОрПп сП слегка гПрькПватыЌ прОвкусПЌ." +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." +msgstr "" +"ЧрезвычайМП слаЎкОй лОпкОй сОрПп, пПлучаеЌый выварОваМОеЌ сПка сахарМПгП " +"трПстМОка ОлО сахарМПй свеклы. У МегП гПрькПватПе пПслевкусОе." #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -24655,8 +24726,8 @@ msgstr "" msgid "irradiated huckleberry" msgid_plural "irradiated huckleberries" msgstr[0] "ПблучёММая люссакОя" -msgstr[1] "ПблучёММые люссакОО" -msgstr[2] "ПблучёММых люссакОО" +msgstr[1] "ПблучёММая люссакОя" +msgstr[2] "ПблучёММая люссакОя" msgstr[3] "ПблучёММая люссакОя" #. ~ Description for irradiated huckleberry @@ -25492,8 +25563,12 @@ msgstr[3] "клеМПвый сОрПп" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "СлаЎкОй О вкусМый ВерЌПМтскОй клеМПвый сОрПп." +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" +"ППсле выварОваМОя клеМПвый сПк превращается в слаЎкОй, вкусМый клеМПвый " +"сОрПп." #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -25817,13 +25892,14 @@ msgstr "" "вкусМее О сытМее, МП О пПртОтся быстрП." #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" -msgstr "жареМая курОца" +msgid "deep-fried chicken" +msgstr "курятОМа вП фрОтюре" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "НеЌМПгП жареММПй вП фрОтюре курОцы. НастПлькП плПхП, чтП хПрПшП." +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "" +"КурОМПе ЌясП, прОгПтПвляеЌПе пПгружеМОеЌ в ЌаслП. ЖОрМПе О вПсхОтОтельМПе." #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -26267,8 +26343,12 @@ msgstr "ЌясМПй ПбеЎ" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "ВПсхОтОтельМый ЌясМПй ПбеЎ. МПжМП съесть хПлПЎМыЌ." +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" +"МясП, кПтПрПе былП прОгПтПвлеМП, сПхраМеМП О МарезаМП тПМкОЌО лПЌтОкаЌО Ўля " +"уЎПбМПгП прОгПтПвлеМОя бутербрПЎа. МПжМП есть хПлПЎМыЌ." #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -26277,11 +26357,12 @@ msgstr "бПлПМская кПлбаса" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." msgstr "" -"ПреЎварОтельМП МарезаММый ЌясМПй ПбеЎ. И егП ОЌя тПчМП Ме Оскар. МПжМП есть " -"хПлПЎМыЌ." +"ЀПрЌальМП ОзвестМая как кПлбаса БПлПМья, этП хПрПшП ОзЌельчеММПе кПМсервОрПваММПе ЌясП, кПтПрПе пПставляется в вОЎе круглых лПЌтОкПв. Ее ОЌя Ме Оскар. \n" +"Вы ЌПжете съесть этП хПлПЎМыЌ." #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -26846,11 +26927,12 @@ msgstr "челПвеческая бПлПМская кПлбаса" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." msgstr "" -"ПреЎварОтельМП МарезаММый ЌясМПй ПбеЎ «Оз МепПслушМых Ўетей». ЕгП ОЌя впПлМе" -" ЌПглП быть Оскар. МПжМП есть хПлПЎМыЌ." +"КПМсервОрПваММая О МарезаММая челПвеческая плПть. \n" +"Её ОЌя, вПзЌПжМП, былП Оскар. \n" +"Её ЌПжМП есть хПлПЎМПй, веЎь вы хлаЎМПкрПвМый люЎПеЎ." #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -28253,6 +28335,25 @@ msgstr "" "усОлОвает естествеММПе сПпрПтОвлеМОе ПргаМОзЌа ОМфекцОО. ОЎМа ЎПза Ўействует" " 12 часПв." +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "препарат Пт ОзжПгО" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "Вы прОМОЌаете препарат Пт ОзжПгО." + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" +"КреЌПвП-рПзПвый сОрПп Пт ОзжПгО, сЌягчающОй расстрПеММые желуЎкО О " +"пПЎавляющОй рвПтМые пПзывы; ПткручОвающаяся крышечка также служОт " +"ЎПзОрПвПчМПй лПжкПй." + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -29994,79 +30095,79 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "ОчеМь кОслый цОтрус. МПжМП съесть, еслО О вправЎу хПчется." #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "черМОка" -msgstr[1] "черМОкО" -msgstr[2] "черМОк" -msgstr[3] "черМОка" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "гПрсть черМОкО" +msgstr[1] "гПрсть черМОкО" +msgstr[2] "гПрсть черМОкО" +msgstr[3] "гПрсть черМОкО" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "ОМа гПлубПгП цвета, МП этП Ме зМачОт, чтП ПМа в печалО." #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "зеЌляМОка" -msgstr[1] "зеЌляМОкО" -msgstr[2] "зеЌляМОк" -msgstr[3] "зеЌляМОка" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "гПрсть клубМОкО" +msgstr[1] "гПрсть клубМОкО" +msgstr[2] "гПрсть клубМОкО" +msgstr[3] "гПрсть клубМОкО" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "СлаЎкая сПчМая ягПЎа, частП встречается Ма ЎОкОх пПлях." #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "клюква" -msgstr[1] "клюквы" -msgstr[2] "клюкв" -msgstr[3] "клюква" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "гПрсть клюквы" +msgstr[1] "гПрсть клюквы" +msgstr[2] "гПрсть клюквы" +msgstr[3] "гПрсть клюквы" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "КОслые красМые ягПЎы. ППлезМы Ўля зЎПрПвья." #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "ЌалОМа" -msgstr[1] "ЌалОМы" -msgstr[2] "ЌалОМ" -msgstr[3] "ЌалОМа" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "гПрсть ЌалОМы" +msgstr[1] "гПрсть ЌалОМы" +msgstr[2] "гПрсть ЌалОМы" +msgstr[3] "гПрсть ЌалОМы" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "СлаЎкая красМая ягПЎа." #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "люссакОя" -msgstr[1] "люссакОО" -msgstr[2] "люссакОО" -msgstr[3] "люссакОя" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "гПрсть люссакОя" +msgstr[1] "гПрсть люссакОО" +msgstr[2] "гПрсть люссакОО" +msgstr[3] "гПрсть люссакОО" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "ЛюссакОю частП путают с черМОкПй." #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "шелкПвОца" -msgstr[1] "шелкПвОцы" -msgstr[2] "шелкПвОц" -msgstr[3] "шелкПвОца" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "гПрсть шелкПвОцы" +msgstr[1] "гПрсть шелкПвОцы" +msgstr[2] "гПрсть шелкПвОцы" +msgstr[3] "гПрсть шелкПвОцы" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -30077,14 +30178,14 @@ msgstr "" "ЌОре." #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "бузОМа" -msgstr[1] "бузОМы" -msgstr[2] "бузОМ" -msgstr[3] "бузОМа" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "гПрсть бузОМы" +msgstr[1] "гПрсть бузОМы" +msgstr[2] "гПрсть бузОМы" +msgstr[3] "гПрсть бузОМы" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -30092,14 +30193,14 @@ msgstr "" " прОгПтПвлеМы." #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" -msgstr[0] "шОпПвМОк" -msgstr[1] "шОпПвМОка" -msgstr[2] "шОпПвМОкПв" -msgstr[3] "шОпПвМОк" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" +msgstr[0] "гПрсть шОпПвМОка" +msgstr[1] "гПрсть шОпПвМОка" +msgstr[2] "гПрсть шОпПвМОка" +msgstr[3] "гПрсть шОпПвМОка" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "ПлПЎ ПпылёММПгП рПзПвПгП цветка шОпПвМОка." @@ -30136,14 +30237,14 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "ЊОтрус, вкус кПтПрПгП варьОруется Пт кОслПгП ЎП пПлуслаЎкПгП." #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "вОшМя" -msgstr[1] "вОшМО" -msgstr[2] "вОшеМ" -msgstr[3] "вОшМя" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "гПрсть вОшМО" +msgstr[1] "гПрсть вОшМО" +msgstr[2] "гПрсть вОшМО" +msgstr[3] "гПрсть вОшМО" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "КрасМый слаЎкОй плПЎ, растущОй Ма Ўеревьях." @@ -30159,14 +30260,14 @@ msgid "" msgstr "НескПлькП крупМых фОПлетПвых слОв. ППлезМые О хПрПшП усваОваеЌые." #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "вОМПграЎ" -msgstr[1] "вОМПграЎа" -msgstr[2] "вОМПграЎа" -msgstr[3] "вОМПграЎ" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "гПрсть вОМПграЎа" +msgstr[1] "гПрсть вОМПграЎа" +msgstr[2] "гПрсть вОМПграЎа" +msgstr[3] "гПрсть вОМПграЎа" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "ГрПзЎь сПчМПгП вОМПграЎа." @@ -30221,14 +30322,14 @@ msgid "A large and very sweet fruit." msgstr "БПльшПй О ПчеМь слаЎкОй фрукт." #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "ежевОка" -msgstr[1] "ежевОкО" -msgstr[2] "ежевОкО" -msgstr[3] "ежевОка" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "гПрсть ежевОкО" +msgstr[1] "гПрсть ежевОкО" +msgstr[2] "гПрсть ежевОкО" +msgstr[3] "гПрсть ежевОкО" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "ТёЌМая рПЎствеММОца ЌалОМы." @@ -30273,10 +30374,14 @@ msgstr "" "вПсхОтОтельМая зелёМая ЌякПть." #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "абрОкПс" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "гПрсть абрОкПсПв" +msgstr[1] "гПрсть абрОкПсПв" +msgstr[2] "гПрсть абрОкПсПв" +msgstr[3] "гПрсть абрОкПсПв" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "ГлаЎкПкПжОй фрукт, пПхПжОй Ма персОк." @@ -30341,8 +30446,8 @@ msgstr "капуста" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "ПлПтМый кПчаМ хрустящей белПкПчаММПй капусты." +msgid "Crisp white cabbage." +msgstr "Хрустящая белая капуста." #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -30447,8 +30552,8 @@ msgstr "Пгурец" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "РПЎПЌ Оз сеЌейства ТыквеММые. Не вкусМый, МП ПчеМь сПчМый." +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "РПЎПЌ Оз сеЌейства ТыквеММые. Не слОшкПЌ вкусМый, МП ПчеМь сПчМый." #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -30973,6 +31078,10 @@ msgstr[3] "сеЌеМа ежевОкО" msgid "Some blackberry seeds." msgstr "НескПлькП сеЌяМ ежевОкО." +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "ежевОка" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -30986,6 +31095,10 @@ msgstr[3] "сеЌеМа черМОкО" msgid "Some blueberry seeds." msgstr "НескПлькП сеЌяМ черМОкО." +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "черМОка" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -30999,6 +31112,10 @@ msgstr[3] "сеЌеМа клюквы" msgid "Some cranberry seeds." msgstr "НескПлькП сеЌяМ клюквы." +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "клюква" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -31012,6 +31129,10 @@ msgstr[3] "сеЌеМа люссакОО" msgid "Some huckleberry seeds." msgstr "НескПлькП сеЌяМ люссакОО." +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "люссакОя" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -31025,6 +31146,10 @@ msgstr[3] "сеЌеМа шелкПвОцы" msgid "Some mulberry seeds." msgstr "НескПлькП сеЌяМ шелкПвОцы." +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "шелкПвОца" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -31038,6 +31163,10 @@ msgstr[3] "сеЌеМа бузОМы" msgid "Some elderberry seeds." msgstr "НескПлькП сеЌяМ бузОМы." +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "бузОМа" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -31051,6 +31180,10 @@ msgstr[3] "сеЌеМа ЌалОМы" msgid "Some raspberry seeds." msgstr "НескПлькП сеЌяМ ЌалОМы." +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "ЌалОМа" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -31064,6 +31197,10 @@ msgstr[3] "сеЌеМа зеЌляМОкО" msgid "Some strawberry seeds." msgstr "НескПлькП сеЌяМ зеЌляМОкО." +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "клубМОка" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -31077,6 +31214,10 @@ msgstr[3] "сеЌеМа вОМПграЎа" msgid "Some grape seeds." msgstr "НескПлькП сеЌяМ вОМПграЎа." +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "вОМПграЎ" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -34628,6 +34769,23 @@ msgstr[3] "бПчка тПксОчМых ПтхПЎПв" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "Жёлтая бПчка Ўля храМеМОя ПпасМых тПксОчМых веществ." +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "СаЎПвый гПршПк" +msgstr[1] "СаЎПвых гПршкПв" +msgstr[2] "СаЎПвых гПршкПв" +msgstr[3] "СаЎПвые гПршкО" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" +"ЭтП спецОальМый гПршПк Ўля выращОваМОя растеМОй. ППЎЎержОвает растеМОя в " +"кПЌфПртМых Ўля МОх услПвОях Ўля пПлучеМОя ЌаксОЌальМПй урПжайМПстО." + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -39269,9 +39427,8 @@ msgstr[3] "каЌеМь в МПске" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." -msgstr "КаЌеМь вМутрО завязаММПгП МПска. НастПящее ПружОе безысхПЎМПстО." +msgid "A pair of nested socks filled with a stone. A true weapon of despair." +msgstr "Пара МПскПв с влПжеММыЌ каЌМеЌ. НастПящее ПружОе ПтчаяМОя." #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -42565,6 +42722,19 @@ msgstr[3] "«Вы О цзуй-цюаМь»" msgid "A complete guide to Zui Quan." msgstr "ППЎрПбМПе рукПвПЎствП пП цзуй-цюаМь." +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "Путь КПпья" +msgstr[1] "Путь КПпья" +msgstr[2] "Путь КПпья" +msgstr[3] "Путь КПпья" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "ППлМПе рукПвПЎствП пП СёЎзюцу." + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -45173,6 +45343,457 @@ msgstr[1] "сцепкО патрПММПй леМты" msgstr[2] "сцепПк патрПММПй леМты" msgstr[3] "сцепка патрПММПй леМты" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "СаЎПвый гПршПк (растет тПЌат)" +msgstr[1] "СаЎПвых гПршкПв (растет тПЌат)" +msgstr[2] "СаЎПвых гПршкПв (растет тПЌат)" +msgstr[3] "СаЎПвый гПршПк (растут тПЌаты)" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "ППЌОЎПры гПтПвы к сбПру!" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "ЭтП быстрП растет." + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущОЌО тПЌатаЌО. \n" +"КПгЎа ПМО сПзреют, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "СаЎПвый гПршПк (спелые тПЌаты)" +msgstr[1] "СаЎПвых гПршкПв (спелые тПЌаты)" +msgstr[2] "СаЎПвых гПршкПв (спелые тПЌаты)" +msgstr[3] "СаЎПвые гПршкО (спелые тПЌаты)" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвые Ўля сбПра тПЌаты. \n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "СаЎПвый гПршПк (растет пшеМОца)" +msgstr[1] "СаЎПвых гПршкПв (растет пшеМОца)" +msgstr[2] "СаЎПвых гПршкПв (растет пшеМОца)" +msgstr[3] "СаЎПвый гПршПк (растет пшеМОца)" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "ПшеМОца гПтПва к убПрке." + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "ПшеМОца растет быстрП." + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущей пшеМОцей. \n" +"КПгЎа ПМа сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПру." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "СаЎПвый гПршПк (урПжай пшеМОцы)" +msgstr[1] "СаЎПвых гПршкПв (урПжай пшеМОцы)" +msgstr[2] "СаЎПвых гПршкПв (урПжай пшеМОцы)" +msgstr[3] "СаЎПвый гПршПк (урПжай пшеМОцы)" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй урПжай пшеМОцы.\n" +"РазберОте Ўля сбПра." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "СаЎПвый гПршПк (растет хЌель)" +msgstr[1] "СаЎПвых гПршкПв (растет хЌель)" +msgstr[2] "СаЎПвых гПршкПв (растет хЌель)" +msgstr[3] "СаЎПвый гПршПк (растет хЌель)" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "ХЌель гПтПв к убПрке!" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущОЌ хЌелеЌ. \n" +"КПгЎа ПМ сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПру." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "СаЎПвый гПршПк (сПзревшОй хЌель)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшОй хЌель)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшОй хЌель)" +msgstr[3] "СаЎПвый гПршПк (сПзревшОй хЌель)" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвый Ўля сбПра хЌель.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "СаЎПвый гПршПк (растет гречОха)" +msgstr[1] "СаЎПвых гПршкПв (растет гречОха)" +msgstr[2] "СаЎПвых гПршкПв (растет гречОха)" +msgstr[3] "СаЎПвый гПршПк (растет гречОха)" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущей гречОхПй. \n" +"КПгЎа ПМа сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "СаЎПвый гПршПк (сПзревшая гречОха)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшая гречОха)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшая гречОха)" +msgstr[3] "СаЎПвый гПршПк (сПзревшая гречОха)" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвую Ўля сбПра гречОху.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "СаЎПвый гПршПк (растущая брПккПлО)" +msgstr[1] "СаЎПвых гПршкПв (растущая брПккПлО)" +msgstr[2] "СаЎПвых гПршкПв (растущая брПккПлО)" +msgstr[3] "СаЎПвый гПршПк (растущая брПккПлО)" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущей брПккПлО. \n" +"КПгЎа ПМа сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "СаЎПвый гПршПк (спелая брПккПлО)" +msgstr[1] "СаЎПвых гПршкПв (спелая брПккПлО)" +msgstr[2] "СаЎПвых гПршкПв (спелая брПккПлО)" +msgstr[3] "СаЎПвый гПршПк (спелая брПккПлО)" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвую Ўля сбПра брПккПлО.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "СаЎПвый гПршПк (растущОй Пвес)" +msgstr[1] "СаЎПвых гПршкПв (растущОй Пвес)" +msgstr[2] "СаЎПвых гПршкПв (растущОй Пвес)" +msgstr[3] "СаЎПвый гПршПк (растущОй Пвес)" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущОЌ ПвсПЌ. \n" +"КПгЎа ПМ сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "СаЎПвый гПршПк (сПзревшОй Пвес)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшОй Пвес)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшОй Пвес)" +msgstr[3] "СаЎПвый гПршПк (сПзревшОй Пвес)" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвые Ўля сбПра Пвес.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "СаЎПвый гПршПк (растет ячЌеМь)" +msgstr[1] "СаЎПвых гПршкПв (растет ячЌеМь)" +msgstr[2] "СаЎПвых гПршкПв (растет ячЌеМь)" +msgstr[3] "СаЎПвый гПршПк (растет ячЌеМь)" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущОЌ ячЌеМеЌ. \n" +"КПгЎа ПМ сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "СаЎПвый гПршПк (сПзревшОй ячЌеМь)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшОй ячЌеМь)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшОй ячЌеМь)" +msgstr[3] "СаЎПвый гПршПк (сПзревшОй ячЌеМь)" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвый Ўля сбПра ячЌеМь.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "СаЎПвый гПршПк (растет ЌПркПвь)" +msgstr[1] "СаЎПвых гПршкПв (растет ЌПркПвь)" +msgstr[2] "СаЎПвых гПршкПв (растет ЌПркПвь)" +msgstr[3] "СаЎПвый гПршПк (растет ЌПркПвь)" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущей ЌПркПвью. \n" +"КПгЎа ПМа сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "СаЎПвый гПршПк (сПзревшая ЌПркПвь)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшая ЌПркПвь)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшая ЌПркПвь)" +msgstr[3] "СаЎПвый гПршПк (сПзревшая ЌПркПвь)" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвую Ўля сбПра ЌПркПвь.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "СаЎПвый гПршПк (растет хлПпПк)" +msgstr[1] "СаЎПвых гПршкПв (растет хлПпПк)" +msgstr[2] "СаЎПвых гПршкПв (растет хлПпПк)" +msgstr[3] "СаЎПвый гПршПк (растет хлПпПк)" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущОЌ хлПпкПЌ. \n" +"КПгЎа ПМ сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "СаЎПвый гПршПк (сПзревшОй хлПпПк)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшОй хлПпПк)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшОй хлПпПк)" +msgstr[3] "СаЎПвый гПршПк (сПзревшОй хлПпПк)" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвый Ўля сбПра хлПпПк.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "СаЎПвый гПршПк (растет капуста)" +msgstr[1] "СаЎПвых гПршкПв (растет капуста)" +msgstr[2] "СаЎПвых гПршкПв (растет капуста)" +msgstr[3] "СаЎПвый гПршПк (растет капуста)" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущей капустПй. \n" +"КПгЎа ПМа сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "СаЎПвый гПршПк (сПзревшая капуста)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшая капуста)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшая капуста)" +msgstr[3] "СаЎПвый гПршПк (сПзревшая капуста)" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвую Ўля сбПра капусту.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "СаЎПвый гПршПк (растут Пгурцы)" +msgstr[1] "СаЎПвых гПршкПв (растут Пгурцы)" +msgstr[2] "СаЎПвых гПршкПв (растут Пгурцы)" +msgstr[3] "СаЎПвый гПршПк (растут Пгурцы)" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущОЌО ПгурцаЌО. \n" +"КПгЎа ПМО сПзреют, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "СаЎПвый гПршПк (сПзревшОе Пгурцы)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшОе Пгурцы)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшОе Пгурцы)" +msgstr[3] "СаЎПвый гПршПк (сПзревшОе Пгурцы)" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвые Ўля сбПра Пгурцы.\n" +"РазберОте Ўля сбПра урПжая." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "СаЎПвый гПршПк (растет чесМПк)" +msgstr[1] "СаЎПвых гПршкПв (растет чесМПк)" +msgstr[2] "СаЎПвых гПршкПв (растет чесМПк)" +msgstr[3] "СаЎПвый гПршПк (растет чесМПк)" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" +"ЭтП саЎПвый гПршПк с растущОЌ чесМПкПЌ. \n" +"КПгЎа ПМ сПзреет, ваЌ МужМП актОвОрПвать гПршПк, чтПбы пПЎгПтПвОть урПжай к сбПрке." + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "СаЎПвый гПршПк (сПзревшОй чесМПк)" +msgstr[1] "СаЎПвых гПршкПв (сПзревшОй чесМПк)" +msgstr[2] "СаЎПвых гПршкПв (сПзревшОй чесМПк)" +msgstr[3] "СаЎПвый гПршПк (сПзревшОй чесМПк)" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" +"ЭтП саЎПвый гПршПк сПЎержащОй гПтПвый Ўля сбПра чесМПк.\n" +"РазберОте Ўля сбПра урПжая." + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -49255,6 +49876,15 @@ msgstr "" "ЌПжет вызывать прПблеЌы прО ОспПльзПваМОО сПвЌестМП с ЎругОЌО ПружейМыЌО " "ЌПЎаЌО." +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "ГПршПк Ўля выращОваМОя" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "ППзвПляет выращОвать сеЌеМа в саЎПвПЌ гПршке." + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "РучМая устаМПвка бОПМОк" @@ -67932,6 +68562,17 @@ msgstr[1] "МеактОвМых вПеММых рПбПта" msgstr[2] "МеактОвМых вПеММых рПбПтПв" msgstr[3] "МеактОвМый вПеММый рПбПт" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" +"ВПеММый рПбПт без пОтаМОя, ПсМащеММый встрПеММыЌ ПгМестрельМыЌ ПружОеЌ 7.62 " +"О электрОческОЌ ПружОеЌ. АктОвОруйте этПт преЎЌет с бПепрОпасаЌО в вашеЌ " +"ОМвеМтаре, чтПбы загрузОть О разверМуть рПбПта." + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -69120,6 +69761,10 @@ msgstr "ПрекратОть взаОЌПЎействОе с траМспПрт msgid "Stop training?" msgstr "ПрекратОть треМОрПвку?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr " ПрекратОть ПбщеМОе?" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "ПрекратОть ОспПльзПваМОе аптечкО?" @@ -69288,10 +69933,18 @@ msgstr "ПрекратОть брОться?" msgid "Stop cutting your hair?" msgstr "ПрекратОть стрОчься?" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "Перестать Ограть сП свПОЌ пОтПЌцеЌ?" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "ПрекратОть пПпыткО засМуть?" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "ПрекратОть разгрузку?" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 НОтрП-Экспресс" @@ -72494,6 +73147,18 @@ msgstr "" "Тэг ИИ, еслО преЎлагается треМОрПваться с NPC. ЕслО вОЎОте МаЎпОсь — этП " "сбПй." +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "ППпрПсОл пППбщаться" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" +"ИИ тег: МеЎавМП пПпрПсОл НПС пППбщаться. ЭтП ПшОбка, еслО ПМ у вас есть." + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "СпрПсОлО ОМфПрЌацОю" @@ -73864,22 +74529,6 @@ msgstr "ВаЌ скучМП." msgid "The ceiling collapses on you!" msgstr "На вас ПбрушОлся пПтПлПк!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "ЛечеМОе ствПлПвыЌО клеткаЌО" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "" -"ЛечеМОе МабОрает сОлу, О вашО вМутреММПстО страММыЌ ПбразПЌ переЌещаются." - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "В ваш глаз ввелО раствПр переЌПлПтых кПстей О эЌалО." - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "ПрОМятПе прПтОвПсуЎПрПжМПе" @@ -74451,6 +75100,15 @@ msgstr "паМацея" msgid "You feel incredible! You could take on the world!" msgstr "Вы чувствуете себя МеверПятМП! Вы ЌПжете пПкПрОть ЌОр!" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "УспПкПеММый желуЎПк" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "Вы прОМялО среЎствП Пт ОзжПгО." + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "РазряЎ" @@ -84136,7 +84794,7 @@ msgstr "" #: lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "ar15" -msgstr "" +msgstr "AR-15" #: lang/json/gunmod_from_json.py msgid "lightning link" @@ -84154,6 +84812,12 @@ msgid "" "full-auto is enabled. Reliability and precision suffer greatly due to " "questionable craftsmanship and lack of unobtainium SP-1 parts." msgstr "" +"ИзМачальМП сПзЎаММая Ўля Colt SP-1, эта «репрПЎукцОя» преЎМазМачеМа Ўля " +"превращеМОя AR-15 в пПлМПстью автПЌатОческую вОМтПвку. ППсле вМесеМОя " +"МеПбхПЎОЌых ОзЌеМеМОй О устаМПвкО ЌПЎОфОкацОО пПлуавтПЌатОческОй режОЌ " +"Птключается О включается пПлМый автПЌатОческОй режОЌ. НаЎежМПсть О тПчМПсть " +"сОльМП страЎают Оз-за сПЌМОтельМПгП Ќастерства О ПтсутствОя МеПбрабПтаММых " +"Ўеталей SP-1." #: lang/json/gunmod_from_json.py msgid "firearm waterproofing" @@ -89946,14 +90610,14 @@ msgid "Analyze blood" msgstr "АМалОз крПвО" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "МОстер СтвПлПвая Клетка" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "ЛечеМОе ствПлПвыЌО клеткаЌО" +msgid "Bonesetting Treatment" +msgstr "ОбезбПлОвающее ЛечеМОе" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -91411,6 +92075,39 @@ msgstr "" "+СОла ЎрПбящая брПМя, +ЛПвкПсть кОслПтМая брПМя, +ИМтеллект электрОческая " "брПМя, +ВПспрОятОе ПгМеММая брПМя." +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "СПЎзюцу" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" +"СПЎзюцу, ОлО \"Путь кПпья\" - япПМскПе бПевПе ОскусствП сражеМОя с кПпьёЌ. " +"СПЎзюцу Ўелает упПр Ма сПхраМеМОО ЎОстаМцОО с прПтОвМОкПЌ Ўля пПлучеМОя " +"преОЌущества МаЎ МОЌ." + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "СтПйка сПЎзюцу" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "БПМус к блПку ЎлОММыЌО вОЎаЌО ПружОя, еслО стПять Ма ПЎМПЌ Ќесте" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "РывПк сПЎзюцу" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "УвелОчеММый урПМ вП вреЌя ЎвОжеМОя, МП без ЎПпПлМОтельМПгП блПка" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "СреЎМевекПвый бПй Ма Ќечах" @@ -95150,6 +95847,10 @@ msgstr "ППМравОлПсь: %s" msgid "Enjoyed a hot meal" msgstr "ГПрячая еЎа" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "НаслажЎеМОе бесеЎПй" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "Музыка" @@ -95360,6 +96061,10 @@ msgstr "СвежевыбрОт" msgid "Barfed" msgstr "СтПшМОлП" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "Игра с пОтПЌцеЌ" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "РазПжжёММый ПгПМь" @@ -96561,6 +97266,21 @@ msgstr "" "ХПтя вы пП-прежМеЌу страЎаете Пт МегатОвМых пПслеЎствОй бПлевых ПщущеМОй, " "ПМО также ЎПставляют ваЌ МепереЎаваеЌПе уЎПвПльствОе." +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "ПсОхПз Пт стОЌулятПрПв" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" +"У вас МеПбычМые ПтМПшеМОя сП стОЌулятПраЌО (такОЌО как кПфе ОлО аЌфетаЌОМы)." +" Вы ЌПжете прОМять Ох гПразЎП бПльше без рОска переЎПзОрПвкО, МП прО бПльшПЌ" +" Ох кПлОчестве у вас МачОМаются галлюцОМацОО." + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -96715,10 +97435,10 @@ msgstr "БПй хПлПЎМыЌ ПружОеЌ" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." msgstr "" "Вы практОкПвалОсь бПю с ПружОеЌ. Вы МачОМаете с ПЎМОЌ Оз стОлей: ЭскрОЌа, " -"фехтПваМОе, ПеМчак СОлат ОлО НОтэМ ИтО-рю." +"фехтПваМОе, ПеМчак СОлат, НОтэМ ИтО-рю ОлО СПЎзюцу." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -97456,6 +98176,19 @@ msgstr "" "вы гПразЎП ЌеЎлеММее лечОтесь. Эффект склаЎывается с чертПй «СтекляММая " "челюсть»." +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "ГеМетОческая КатастрПфа" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" +"КатаклОзЌ ОзЌеМОл вашу ДНК МастПлькП сОльМП, чтП вы буЎете ЌутОрПвать чаще " +"ПбычМПгП, а любые ЌутацОО буЎут ПтрОцательМыЌО." + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "Грубая кПжа" @@ -102802,6 +103535,10 @@ msgstr "АпОс" msgid "I'm bugged - I shouldn't talk to you." msgstr "Я забагПваМа - я Ме ЎПлжМа разгПварОвать с тПбПй." +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "НОщОй" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -103163,6 +103900,30 @@ msgstr "БаМЎОт" msgid "Psycho" msgstr "ПсОхП" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "МОщОй" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "РОМа СаМЎху" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "ДОМП Дэйв" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "ЛуП МейчжеМь" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "БрэМЎПМ ГарЎер" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "Юсуке ТэйлПр" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "РейЎер" @@ -109864,6 +110625,132 @@ msgstr "" "перепрПфОлОрПваМОе кПЌЌерческОх рПбПтПв, МП ты МОкПгЎа Ме ЎуЌала, чтП Пт " "этПгП ЌПжет завОсеть твПё выжОваМОе." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "ИМжеМер-РПбПтПтехМОк" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"Вы былО ОМжеМерПЌ МОзкПгП урПвМя в прПОзвПЎстве рПбПтПтехМОкО. РукПвПЎствП " +"все вреЌя пПвтПрялП, чтП ставОть ПгМеЌеты Ма ЌэМхакО былП «МеМужМП» О " +"«слОшкПЌ ПпасМП», МП теперь вас МОчтП Ме ПстаМПвОт." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "ИМжеМер-РПбПтПтехМОк" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" +"Вы былО ОМжеМерПЌ МОзкПгП урПвМя в прПОзвПЎстве рПбПтПтехМОкО. РукПвПЎствП " +"все вреЌя пПвтПрялП, чтП ставОть ПгМеЌеты Ма ЌэМхакО былП «МеМужМП» О " +"«слОшкПЌ ПпасМП», МП теперь вас МОчтП Ме ПстаМПвОт." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "ЧуЎП РПбПтПтехМОк" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" +"Вы стрПОлО рПбПтПв с тех пПр, как ЌПглО Ўержать паяльМОк, О вы Ме МаЌереМы " +"пПзвПлОть кПМцу света пПЌешать этПЌу прПЎПлжаться." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "ЧуЎП РПбПтПтехМОк" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" +"Вы стрПОлО рПбПтПв с тех пПр, как ЌПглО Ўержать паяльМОк, О вы Ме МаЌереМы " +"пПзвПлОть кПМцу света пПЌешать этПЌу прПЎПлжаться." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "СпасёММый РПбПтПЌ" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" +"ВП вреЌя беспПряЎкПв вПеММый рПбПт пПявОлся Оз МОПткуЎа, чтПбы спастО вас. " +"МПжет быть, ПМ ЎуЌает, чтП вы ктП-тП важМый, ктП зМает." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "СпасёММая РПбПтПЌ" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" +"ВП вреЌя беспПряЎкПв вПеММый рПбПт пПявОлся Оз МОПткуЎа, чтПбы спастО вас. " +"МПжет быть, ПМ ЎуЌает, чтП вы ктП-тП важМый, ктП зМает." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "РПбП-ПхПтМОк" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" +"Вы заплатОлО ЌестМПЌу хакеру за ОзгПтПвлеМОе рПбПтОзОрПваММПй ПхПтМОчьей " +"сПбакО. ОМа пПчтО такая же, как МастПящая, МП ей Ме МравОтся быть ЎПЌашМей " +"зверушкПй." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "РПбП-ПхПтМОца" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" +"Вы заплатОлО ЌестМПЌу хакеру за ОзгПтПвлеМОе рПбПтОзОрПваММПй ПхПтМОчьей " +"сПбакО. ОМа пПчтО такая же, как МастПящая, МП ей Ме МравОтся быть ЎПЌашМей " +"зверушкПй." + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -119637,6 +120524,73 @@ msgstr "ВПЎа... ЗЎесь пПблОзПстО есть ПазОс?" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "Ты зМаешь, чтП МеЎПстатПк вПЎы убОвает быстрее, чеЌ МеЎПстатПк сМа?" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" +"Да-Ўа, кПМечМП, Ме ЌПгу Ме заЌетОть, чтП у тебя есть пОвП! Давай ПткупПрОЌ " +"бутылПчку О пПбПлтаеЌ, , как Ўела?" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" +"О, кПМечМП, как Масчёт ПЎМПй Оз бутылПчек пОва, чтП я у тебя вОЎел? ВпрПчеЌ," +" как твПО Ўела?" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" +"Ага, пПЎелОсь пОвкПЌ, я вОЎел, у тебя с сПбПй МескПлькП штук, О Ќы пПбПлтаеЌ" +" П чёЌ угПЎМП! Кучу-шучу, как жОзМь?" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "Эй, кПМечМП, , ЌМе всё равМП МужМП переЎПхМуть, как саЌ-тП?" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "Ага, лаЎы, , как пПжОваешь?" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "Без вПпрПсПв, Ўавай пПтрыМЎОЌ! Ты как, всё МПрЌальМП?" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "ЧегП ж Мет-тП? Как твПО Ўела?" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "У ЌеМя всё МПрЌ, чё как?" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "МПгу уЎелОть пару ЌОМут, как саЌ-тП?" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "Не вПпрПс, , у тебя всё хПрПшП?" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "ХПрПшП, тебе хПчется выгПвПрОться О каЌеМь с ЎушО сМять?" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "ВсегЎа раЎ хПрПшеМькП пПбПлтать! НП чтП случОлПсь, всё МПрЌальМП?" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "ЧтП ж, , МаЌ МаЎП узМать Ўруг Ўруга пПлучше, как ЎержОшься?" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "Я ПпреЎелёММП Ме прПтОв. Как себя чувствуешь?" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "Ќать твПю" @@ -121179,6 +122133,18 @@ msgstr "Я пПсЌПтрю, как ты сЎПхМешь!" msgid "You're going to pay for that, !" msgstr "Ты за этП заплатОшь, !" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "А Му-ка пПтОше таЌ!" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "Ты слышал, ктП-тП гПвПрОл?" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "КтП этП сказал?" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "ЗвучОт плПхП." @@ -121195,6 +122161,10 @@ msgstr "Ты этП слышал?" msgid "What's that noise?" msgstr "ЧтП за шуЌ?" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "ТаЌ чтП-тП есть?" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "Я слышал, как чтП-тП ЎвОгалПсь - пПхПже Ма" @@ -121204,16 +122174,16 @@ msgid "What's that sound? I heard" msgstr "ЧтП за звук? Я слышал" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" -msgstr "КтП таЌ? Я слышал" +msgid "What's there? I heard" +msgstr "ЧтП таЌ такПе? Я слышал" #: lang/json/snippet_from_json.py msgid "Did you hear that? Sounded like" msgstr "Ты этП слышал? ЗвучалП как" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" -msgstr "КтП ОзЎаёт этПт звук? Я слышу" +msgid "What is making that sound? I can hear the" +msgstr "ЧтП этП таЌ шуЌОт? Я слышу" #: lang/json/snippet_from_json.py msgid "Tell me about how you survived the cataclysm." @@ -121348,6 +122318,10 @@ msgstr "хПЎячОй труп" msgid " " msgstr " " +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "МежОть" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "жОвые Ќертвецы" @@ -121360,10 +122334,6 @@ msgstr "зПЌбО" msgid "Z's" msgstr "ЗеЎы" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "Ќёртвый" - #: lang/json/snippet_from_json.py msgid " " msgstr " " @@ -124904,6 +125874,48 @@ msgstr "Давай ПбЌеМяеЌся преЎЌетаЌО." msgid "I can't leave the shelter without equipment." msgstr "Я Ме ЌПгу пПкОМуть убежОще без экОпОрПвкО." +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "" +"Ох, эта летМяя жара ЌеМя ЎПкПМает, Ўавай быстреМькП переЎПхМёЌ, , " +"как саЌ-тП?" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "" +"Сейчас у Мас есть ЌОМутка, я прПстП разЌышлял, уже прПшёл Ќесяц ОлО тОпа " +"тПгП с тех пПр... с тех пПр, как всё случОлПсь, как ты справляешься сП всеЌ " +"этОЌ?" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "О, Му тОпа МеплПхП, МеплПхП..." + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "Я Ме зМаю. Искать прОпасы О ЎругОх выжОвшОх, пПлагаю." @@ -126398,6 +127410,323 @@ 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 "" +"ППжалуйста, пПЌПгО ЌМе. ММе МаЎП пПесть. Разве ты Ме Ох шерОф? Ты ЌМе Ме " +"пПЌПжешь?" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "ППжалуйста, пПЌПгО ЌМе. ММе МужМа еЎа." + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" +"ОМО ЌеМя Ме пускают. ГПвПрят, Ќеста Мет, всё заМятП. ММе пПзвПлОлО пПжОть " +"тут, пПка я прОбОраюсь О Ме развПжу суету, МП ЌМе так хПчется есть." + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "ППчеЌу ты Ме ушёл куЎа-МОбуЎь ещё?" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "ППчеЌу бы тебе саЌПЌу Ме пПОскать себе еЎу?" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "КеЌ ты был ЎП катаклОзЌа?" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "ПрПстО, Ме ЌПгу пПЌПчь." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" +"ГЎе? Я Ме ЌПгу Ўраться с теЌО ЌПМстраЌО. Я ужасМый слабак, у ЌеМя Мет " +"МОкакОх пПлезМых МавыкПв, ЌеМя страшМП пугают О МасОлОе. Как я " +"ЎПлжеМ МайтО безПпасМПе ЌестечкП?" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" +"ВПМ таЌ, сМаружО? ЭтП саЌПубОйствП! ЛюЎО ухПЎят О Ме вПзвращаются, прОчёЌ " +"люЎО, спПсПбМые за себя пПстПять... Ме тП чтП я. СпасОбП, я уж лучше пПпытаю" +" счастья О буЎу пПбОраться за ПбъеЎкО в ПжОЎаМОО, чтП ктП-тП в цеМтре пПЌрёт" +" О ПсвПбПЎОт ЌМе ЌестП." + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" +"Я препПЎавал ЌатеЌатОку в старшОх классах. ХПрПшая была рабПта, я любОл её. " +"ЧтП забавМП, Ме слОшкПЌ вПстребПваММая пПсле кПМца света. ХПчу сказать, " +"кПгЎа-МОбуЎь люЎяЌ сМПва пПМаЎПбятся учОтеля, МП пряЌП сейчас ОЌ МужМы " +"прПстП еЎа, убежОще О ПЎежЎа." + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "ДружОще, гПвПрОл лО я тебе прП картПМ? Нет лО у тебя егП с сПбПй?" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "КартПМ?" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "ЗачеЌ ты тут сОЎОшь?" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "Ты чтП, правЎа МПсОшь кПстюЌ ЎОМПзавра?" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" +"Я стрПю картПММый ЎПЌ. ПесПчМый челПвек прПтОв, МП я пПслал егП Махуй." + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "ППчеЌу картПММый?" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "НаверМПе, ЌМе пПра..." + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" +"НыМче тут пПлМыЌ-пПлМП картПМа, О ПМ ПтпугОвает зПЌбО. ППка чтП картПМ ЌеМя " +"Пберегал. СерЎцевОМа зПЌбО Оспускает бета-лучО, ПМО Ме ЌПгут прПбОть картПМ." +" Из-за ПтражеМОя лучей картПМ Пстаётся МевреЎОЌыЌ." + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" +"ЭтО трусы ЌеМя бПятся. ОМО Ме пускают ЌеМя Ма свПю базу. Я хПчу пПстрПОть " +"свПй сПбствеММый ЎПЌ О Ме пущу Ох к себе." + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "Ты стрПОшь ЎПЌ?" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "Нет." + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "Так чтП таЌ с картПМПЌ?" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "Забей Ма тех ЌуЎакПв." + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "Как Ўела?" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "ЛаЎМП... пПка-пПка." + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "У МОх 'слОшкПЌ ЌМПгП люЎей'. НОхера Ме хПтят ЎелОться." + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "ППчеЌу тПгЎа ты тут жОвёшь?" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "Я пПйЎу, пПжалуй." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "ППчеЌу ты спрашОваешь?" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "ЧтП с тПбПй?" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "ОМО Ме пускают тебя, пПтПЌу чтП ты бПлеМ?" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "Как ты вППбще сюЎа ЎПбрался, еслО так бПлеМ?" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "ППчеЌу ты тут жОвёшь, еслО ПМО тебя Ме пускают?" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" +"Да чтП угПЎМП! АстЌа, ЎОабет, артрОт. С ЎОабетПЌ всё былП Ме так плПхП, пПка" +" я, Му, Ме перестал регулярМП пОтаться. ЛаЎМП, я преЎпПлагаю, чтП всё былП " +"Ме так плПхП. Не тП чтПб я ЌПг Ўелать как-егП-таЌ, Му, этПт аМалОз крПвО, " +"кПтПрыЌ ЎПктПра ЌеМя ЎПставалО кажЎые МескПлькП Ќесяцев." + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" +"ИЌ МужМП кПрЌОть кучу гПлПЎМых люЎей, спПсПбМых пПЎМять сПбствеММый вес. У " +"ЌеМя веса ЌМПгП, О я слОшкПЌ слаб, чтПб егП пПЎМять, так чтП я зЎесь." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" +"ПрОшёл вЌесте с кучкПй люЎей какПе-тП вреЌя МазаЎ. Их впустОлО, ПМО былО " +"ЌПлПЎые О пПЎтяМутые. На саЌПЌ Ўеле ПМО былО ПЎМОЌО Оз пПслеЎМОх, кПгП " +"впустОлО. А я ОЌ Ме пПЎПшёл." + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" +"МОлПсерЎОе. У ЌеМя есть укрытОе, свет О теплП, а ПхраММОкО пПЌПгут, еслО " +"пПявятся зПЌбО. Тут Ме так плПхП. ЕслО б я был саЌ пП себе, у ЌеМя бы МОчегП" +" этПгП Ме былП, О ЌМе всё ещё прОшлПсь бы Оскать еЎу... кПрПче, я был бы в " +"ЌПгОле. ИлО, верПятМП, верМулся бы Оз ЌПгОлы." + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "ПрОвет, ЎружОще." + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "ЧтП ты зЎесь Ўелаешь?" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "Не ЌПгу Ме заЌетОть, ты пПкрыт ЌехПЌ." + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" +"Я тут жОву. Я слОшкПЌ ЌутаМт, чтПбы влОться в клуб крутых ребят, МП " +"МеЎПстатПчМП ЌутаМт, чтПб прОстрелОть ЌеМя Ма Ќесте." + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "ППчеЌу ты тут жОвёшь?" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "ППхПже, ты ЌПжешь пПстПять за себя. Не хПчешь лО ПтправОться сП ЌМПй?" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" +"Тут безПпасМее, чеЌ Оскать свПй сПбствеММый ЎПЌ. КПгЎа МужМП, я вылезаю О " +"сПбОраю еЎу. ППка Ќы пПЎЎержОваеЌ пПряЎПк О пПЌПгаеЌ прО МапаЎеМОО зПЌбО, " +"ПМО пПзвПляют МаЌ тут жОть, тОпа как ЎПпПлМОтельМая защОта. ВпрПчеЌ, ОЌ Ме " +"МравОтся, кПгЎа я прОМПшу еЎу ПстальМыЌ беЎМягаЌ... ДуЌаю, ПМО хПтят " +"ЌеЎлеММП заЌПрОть Мас гПлПЎПЌ, О Ўаже еслО я Ме ЌПгу МакПрЌОть всех ЎПсыта, " +"я прОМПшу ЎПстатПчМП еЎы, чтПб МарПЎ Ўержался. Я пПЎПзреваю, кПгЎа-МОбуЎь " +"ЌеМя вышвырМут вПМ." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" +"МерзкП, правЎа? Ощущается, как вПлПсМя Ма лПбке. НачалП растО пПвсюЎу вскПре" +" пПсле катаклОзЌа. Без пПМятОя, в чёЌ прОчОМа. Я Ме ПсужЎаю, чтП все этП " +"МеМавОЎят, я О саЌ МеМавОжу." + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" +"Ну чтП ж, этП врПЎе ЌОлПе преЎлПжеМОе, О я цеМю, чтП ты вОЎОшь Ме тПлькП ЌПО" +" лПбкПвые вПлПсы пП всеЌу телу. НП прПстО. Я врПЎе чувствую ПтветствеММПсть " +"за эту ЌалеМькую стайку беЎПлаг. Я Ме ЎуЌаю, чтП ЌПгу уйтО, пПка тПлькП я " +"ПЎОМ П МОх забПчусь." + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "МПгу я пПЌПчь ваЌ, Ќаршал?" @@ -131861,6 +133190,44 @@ msgstr "Вы МаМПсОте фазПвый уЎар пП %s" msgid " phase-strikes %s" msgstr " МаМПсОт фазПвый уЎар пП %s" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "ТПлчПк" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "Вы ПтталкОваете %s прПчь" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr " ПтталкОвает %s прПчь" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "Вы лПвкП Ўелаете пПЎМПжку %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr " лПвкП Ўелает пПЎМПжку %s" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "ПереЌещеМОе О кПМтратака" @@ -138136,6 +139503,8 @@ msgid "" "A very bright, circular light that illuminates the area outside the vehicle " "when turned on." msgstr "" +"ОчеМь яркОй кругПвПй прПжектПр. КПгЎа включёМ, Псвещает Пбласть сМаружО " +"траМспПртМПгП среЎства." #. ~ Description for directed floodlight #: lang/json/vehicle_part_from_json.py @@ -138144,6 +139513,9 @@ msgid "" "the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" +"ОчеМь яркОй МаправлеММый прПжектПр. КПгЎа включёМ, Псвещает пПлукруглую " +"Пбласть сМаружО траМспПртМПгП среЎства. ВП вреЌя устаМПвкО ЌПжМП выбрать, " +"куЎа МаправОть свет." #: lang/json/vehicle_part_from_json.py msgid "headlight" @@ -138174,6 +139546,10 @@ msgid "" "so multiple headlights can illuminate the sides or rear, as well as the " "front." msgstr "" +"ЯркОй прПжектПр. КПгЎа включёМ, Псвещает Пбласть шОрПкОЌ кПМусПЌ сМаружО " +"траМспПртМПгП среЎства. ВП вреЌя устаМПвкО ЌПжМП выбрать, куЎа МаправОть " +"свет, так чтП МескПлькОЌО прПжектПраЌО ЌПжМП пПЎсветОть бПкПвые стПрПМы, " +"заЎМюю ОлО переЎМюю часть." #: lang/json/vehicle_part_from_json.py msgid "" @@ -140889,6 +142265,11 @@ msgstr "Вы закПМчОлО жЎать." msgid "%s finishes with you..." msgstr "%s закаМчОвает с ваЌО..." +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "%s закаМчОвает бПлтать с ваЌО." + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "Вы вПрПчаетесь О крутОтесь..." @@ -140964,6 +142345,11 @@ msgstr "Вы закПМчОлО кПпать %s." msgid "You finish filling up %s." msgstr "Вы закПМчОлО закапывать %s." +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "Игра с %s пПЎМяла ваЌ МастрПеМОе." + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "Вы ПткрылО свПй МабПр О пПбрОлОсь." @@ -140972,6 +142358,16 @@ msgstr "Вы ПткрылО свПй МабПр О пПбрОлОсь." msgid "You give your hair a trim." msgstr "Вы пПЎстрОглОсь." +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "Вы разбОраете %s." + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "Вы разряжаете %s." + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "Вы сПбралО урПжай сП всех вПзЌПжМых участкПв." @@ -142310,6 +143706,10 @@ msgstr "" "регулярМП, МП пПчтО МезаЌетМП уЌеМьшается О увелОчОвается в разЌерах, слПвМП" " ЎышОт" +#: src/artifact.cpp +msgid "dead" +msgstr "Ќёртвый" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "леЎяМПй Ма Пщупь" @@ -144333,7 +145733,7 @@ msgstr "ОжОЎаеЌПе улучшеМОе качества: %s" #: src/character.cpp msgid "You don't expect any improvement from using this." -msgstr "Вы Ме ЎуЌаете, чтП с этОЌ ЌПжет пПлучОться лучше." +msgstr "ПрОЌеМеМОе этПгП преЎЌета Ме Ўаст МОкакПгП улучшеМОя." #: src/character.cpp #, c-format @@ -144385,7 +145785,7 @@ msgstr "ЗЎПрПвП." #: src/character.cpp msgid "You don't expect any effect from using this." -msgstr "Вы Ме ЎуЌаете, чтП ОспПльзПваМОя буЎет какПй-тП эффект." +msgstr "ПрОЌеМеМОе этПгП преЎЌета Ме прОМесёт МОкакПй пПльзы." #: src/character.cpp msgid "No limb would benefit from it." @@ -145213,12 +146613,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "ЀАЙЛ ПОВРЕЖДЁН, НАЖМИТЕ ЛЮБУЮ КЛАВИКУ " #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." -msgstr "" -"МашОМа ввПЎОт в ваш глаз раствПр \n" -"Оз переЌПлПтых кПстей О ЛСД." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." +msgstr "МашОМа быстрП выправляет вашу слПЌаММую %s О МаклаЎывает шОМу." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -146314,6 +147711,62 @@ msgstr "Вы МаелОсь слаЎкПгП ЌёЎа." msgid "You can't finish it all!" msgstr "Вы Ме ПсОлОлО всю пПрцОю ЎП кПМца!" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "ТеМО сгущаются ещё сОльМее." + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "У вас плПхПе преЎчувствОе." + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "Вас Пхватывает сОльМый ужас." + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "ПП вашей кПже пПлзут ЌурашкО." + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "ОМО ОЎут за ваЌО." + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "НаверМП, этП была плПхая ОЎея..." + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "На этПт раз вы ЎПОгралОсь." + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "НужМП сПхраМять бЎОтельМПсть. ОМО всегЎа сЌПтрят..." + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "ПшОбка ПшОбка ПшОбка ПшОбка ПшОбка" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "ПрПстП спПкПйствОе, О вы справОтесь." + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "Вы чувствуете себя ПчеМь МервМП." + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "ЧтП-тП Ўёргается Ма краю вашегП зреМОя." + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "ОМО зМают, чтП ты МаЎелал..." + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "Вы чувствуете ещё бПльшую параМПйю, чеЌ ПбычМП." + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "Вы ПбъелОсь, гПтПвясь к спячке." @@ -146836,13 +148289,10 @@ msgstr "пПказать ОлО Мет запПЌМеММыеExamples:\n" msgstr "" -"ПП уЌПлчаМОю ОспПльзуется пПОск пП ОЌеМаЌ. НекПтПрые ПЎМПсОЌвПльМые префОксы ЌПжМП ОспПльзПвать с пПЌПщью ЎвПетПчОя (:) Ўля пПОска ЎругОЌО ЌетПЎаЌО.\n" -"\n" -"ПрОЌеры:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -153166,6 +154616,10 @@ msgstr "ППказать ПтлаЎПчМПе сППбщеМОе" msgid "Crash game (test crash handling)" msgstr "Вылет Огры (тест ПбрабПткО вылета)" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "ВыйтО в главМПе ЌеМю" @@ -153514,22 +154968,25 @@ msgid "Underground" msgstr "ППЎ зеЌлёй" #: src/game.cpp -msgid "Weather:" +msgid "Weather :" msgstr "ППгПЎа:" #: src/game.cpp -msgid "Temperature:" -msgstr "ТеЌпература:" - -#: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "ЛуМа %s" +msgid "Temp :" +msgstr "" #: src/game.cpp msgid "Lighting:" msgstr "ОсвещеМОе:" +#: src/game.cpp +msgid "Deaf!" +msgstr "ГлухПта!" + +#: src/game.cpp +msgid "Sound: " +msgstr "Звук: " + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -153840,6 +155297,11 @@ msgstr "ВыбрПсОть всё" msgid "Attach bag" msgstr "ДПбавОть суЌку" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "ППОграть с %s" + #: src/game.cpp msgid "Untie" msgstr "Развязать" @@ -153914,6 +155376,11 @@ msgstr "%1$s перегружеМ. Вы Ме ЌПжете переМестО %2$ msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "%2$s (%1$s) Ме сПЎержОт ЎПстатПчМП Ќеста, этП слОшкПЌ грПЌПзЎкП!" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "ППОграть МеЌМПгП с %s?" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "ТПчМП убОть зПЌбО-раба?" @@ -154707,63 +156174,6 @@ msgstr "У вас Мет МОчегП, чтП ЌПжМП былП бы разр msgid "You're not wielding anything." msgstr "Вы МОчегП Ме ЎержОте в руках." -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "Вы убОраете %s в свПй ОМвеМтарь." - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "ЭтПт %s уже пуст!" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "ЖОЎкПсть Ме ЌПжет быть вылОта в такПЌ сПстПяМОО!" - -#: src/game.cpp -msgid "Unload what?" -msgstr "РазряЎОть чтП?" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "Вы Ме ЌПжете разряЎОть %s!" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "Вы Ме ЌПжете разряЎОть перезаряжаеЌый %s!" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "Ваш %s Ме заряжеМ." - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "%s Ме заряжеМ." - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "Вы разбОраете %s." - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "Вы разряжаете %s." - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "Вы пПлучаете %i МеОспПльзПваММПгП плутПМОя." - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "Вы Ме ЌПжете убрать частОчМП ПбеЎМёММый ураМ!" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -156284,10 +157694,6 @@ msgstr "Да." msgid "Yes, and save game before sleeping." msgstr "Да, О сПхраМОть Огру переЎ сМПЌ." -#: src/handle_action.cpp -msgid "No." -msgstr "Нет." - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "ВПзЌПжМП, вы захПтОте ПтключОть этП переЎ теЌ, как лечь спать." @@ -162777,13 +164183,8 @@ msgid "No music on device" msgstr "Нет ЌузыкО в устрПйстве" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "Рецепт: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" -msgstr "ПрПсЌПтреть рецепт Ма экраМе с электрПММыЌО черМОлаЌО" +msgid "View recipes on E-ink screen" +msgstr "ПрПсЌПтреть рецепты Ма плаМшете" #: src/iuse.cpp msgid "Your collection of monsters" @@ -162852,13 +164253,8 @@ msgid "You turned on music on your %s." msgstr "Вы включаете Ќузыку Ма вашеЌ %s." #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "ВыберОте рецепт:" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "Вы лОстаете экраМ плаМшета, чтПбы пПсЌПтреть рецепт %s." +msgid "List recipes:" +msgstr "СпОсПк рецептПв:" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -164165,7 +165561,7 @@ msgstr "ЭтПт преЎЌет (%1$s) слОшкПЌ тяжёл Ўля %2$s!" #: src/iuse_actor.cpp #, c-format msgid "You don't think putting your %1$s in your %2$s is a good idea" -msgstr "Вы Ме ЎуЌаете, чтП пПлПжОть ваш %1$s в ваш %2$s этП хПрПшая ОЎея." +msgstr "Вы ЎуЌаете, чтП пПлПжОть %1$s в %2$s - Ме ПчеМь хПрПшая ОЎея." #: src/iuse_actor.cpp #, c-format @@ -166124,6 +167520,10 @@ msgstr "МПжМП разбОть. " msgid "Diggable. " msgstr "МПжМП кПпать. " +#: src/map.cpp +msgid "Plowable. " +msgstr "МПжМП пахать." + #: src/map.cpp msgid "Rough. " msgstr "НерПвМПе. " @@ -172841,7 +174241,7 @@ msgstr "ЗЎесь Мет лагеря, чтПбы егП заМять!" msgid "%s has abandoned the camp." msgstr "%s забрасывает лагерь." -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "кулакО" @@ -173079,6 +174479,16 @@ msgstr "%s прОлОчМП вас пПстрОг..." msgid "%s gives you a decent shave..." msgstr "%s прОлОчМП вас пПбрОл..." +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "БылП прОятМП пППбщаться с %s..." + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "БылП прОятМП пППбщаться с %s." + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -174443,7 +175853,7 @@ msgstr "ДействОе прО кПМце ЌОра" #: src/options.cpp msgid "Handling of game world when last character dies." -msgstr "ЧтП Ўелать с ЌОрПЌ, кПгЎа в МёЌ уЌОрает пПслеЎМОй персПМаж" +msgstr "ЧтП Ўелать с ЌОрПЌ, кПгЎа в МёЌ уЌОрает пПслеЎМОй персПМаж." #: src/options.cpp msgid "Keep" @@ -175308,13 +176718,14 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "ПрОЌер: -pipe,-chunk,-steel" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" -msgstr "ППОск пП [c]категПрОО, [m]ЌатерОалу, ОлО [q]качеству:" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" +msgstr "" +"ППОск пП [c] категПрОО, [m] ЌатерОалу [q] качеству ОлО [d] кПЌпПМеМтаЌ:" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "НапрОЌер: c:food,m:iron,q:hammering" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "НапрОЌер: c:food,m:iron,q:hammering,d:pipe" #: src/output.cpp msgid "unknown" @@ -175661,6 +177072,10 @@ msgstr "ППйЌать ОлО выпустОть существП" msgid "Load or unload a vehicle" msgstr "Загружать ОлО выгружать траМспПрт" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "ППлПжОть сеЌеМа в сеялку" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -176226,6 +177641,14 @@ msgstr "ваш грПЌкОй выкрОк!" msgid "The sound of your voice is almost completely muffled!" msgstr "Звук вашегП гПлПса практОческО пПлМПстью заглушёМ!" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "МеразбПрчОвый гПлПс" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "ваш прОглушёММый выкрОк" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "Звук вашегП гПлПса зМачОтельМП заглушёМ!" @@ -176901,10 +178324,6 @@ msgstr "ППчеЌу ты ЌеМя преслеЎуешь?" msgid "This place is dangerous, you shouldn't be here." msgstr "ЗЎесь ПпасМП, тебе Ме слеЎует зЎесь МахПЎОться." -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "ЧтП ты зЎесь Ўелаешь?" - #: src/player.cpp msgid "That's not true, is it?" msgstr "ЭтП же МеправЎа, так веЎь?" @@ -177836,6 +179255,53 @@ msgstr "Вы Ме ЌПжете пПлПжОть сюЎа преЎЌеты!" msgid " can't place items here!" msgstr " Ме ЌПжет пПлПжОть сюЎа преЎЌеты!" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "Вы убОраете %s в свПй ОМвеМтарь." + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "ЭтПт %s уже пуст!" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "ЖОЎкПсть Ме ЌПжет быть вылОта в такПЌ сПстПяМОО!" + +#: src/player.cpp +msgid "Unload what?" +msgstr "РазряЎОть чтП?" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "Вы Ме ЌПжете разряЎОть %s!" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "Вы Ме ЌПжете разряЎОть перезаряжаеЌый %s!" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "Ваш %s Ме заряжеМ." + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "%s Ме заряжеМ." + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "Вы пПлучаете %i МеОспПльзПваММПгП плутПМОя." + +#: src/player.cpp +msgid "You can't remove partially depleted plutonium!" +msgstr "Вы Ме ЌПжете убрать частОчМП ПбеЎМёММый ураМ!" + #: src/player.cpp #, c-format msgid "Your %s needs %d charge from some UPS." @@ -178323,6 +179789,10 @@ msgstr "" msgid "You resume your task." msgstr "Вы вПзПбМПвОлО ЎействОе." +#: src/player.cpp +msgid "Weapon : fists" +msgstr "Weapon: кулакО" + #: src/player.cpp msgid "Wield what?" msgstr "ЧтП взять в рукО?" @@ -179122,14 +180592,6 @@ msgstr "Стала жертвПй прОступа астЌы." msgid "You wheeze and gasp for air." msgstr "Вы хрОпОте О пытаетесь сЎелать глПтПк вПзЎуха." -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "ВашО кПстО слПвМП резОМа, легкП вПсстаМавлОвают свПю фПрЌу." - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "ВашО кПстО слПвМП трещат О крПшатся." - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "У вас слегка бПлОт гПлПва." @@ -179931,15 +181393,6 @@ msgstr "ОчеМь хПлПЎМП!%s" msgid "Freezing!%s" msgstr "ЗаЌерзаМОе%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "ГлухПта!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "КуЌ %d" - #: src/sidebar.cpp msgid "Parched" msgstr "ПересПхшОй" @@ -181313,7 +182766,7 @@ msgstr "ПП безЎПрПжью: %4d%%" #: src/veh_interact.cpp #, c-format msgid "Draft: %4.2fm" -msgstr "" +msgstr "ОсаЎка: %4.2f ÐŒ" #: src/veh_interact.cpp msgid "Name: " @@ -181614,10 +183067,10 @@ msgstr "Вы пПчОМОлО %2$s в ЌашОМе (%1$s)." msgid "Lost connection with the vehicle due to distance!" msgstr "ППтеряМП сПеЎОМеМОе с траМспПртПЌ Оз-за расстПяМОя!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "БУХ!" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -182329,18 +183782,23 @@ msgstr "ППхПже, траМспПртМПе среЎствП (%1$s) Пста #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "%s ОзЎаёт ЎПлгОй пОкающОй звук." +msgid "the %s bang as it starts" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "%s ОзЎаёт ПЎОМПчМый щёлкающОй звук." +msgid "the %s clicking once" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "%s ОзЎаёт быстрый щёлкающОй звук." +msgid "the %s rapidly clicking" +msgstr "" #: src/vehicle_use.cpp #, c-format @@ -182349,8 +183807,8 @@ msgstr "%s быстрП гасМет." #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "%s ОзЎаёт ужасМый лязгающОй звук." +msgid "the %s clanking and grinding" +msgstr "" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -182370,6 +183828,11 @@ msgstr "«БИИИП!»" msgid "You honk the horn, but nothing happens." msgstr "Вы сОгМалОте, МП МОчегП Ме прПОсхПЎОт." +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "СкПлькП переМестО? [ИЌеется %d] (0 — ПтЌеМа)" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "прПстая ЌелПЎОя звучОт Оз грПЌкПгПвПрОтелей. " diff --git a/lang/po/zh_CN.po b/lang/po/zh_CN.po index 5b3e45b4a63ff..0ded56bc6a7d2 100644 --- a/lang/po/zh_CN.po +++ b/lang/po/zh_CN.po @@ -24,13 +24,14 @@ # 䜕方神圣 䜕 <1366003560@qq.com>, 2018 # 等犻子 坊克 , 2019 # Amans Tofu , 2019 +# Dao Da , 2019 # cainiao , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+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" @@ -5905,6 +5906,18 @@ msgid "" "from rain." msgstr "䞀件垊倎垜和䞀䞪特倧口袋的塑料倧衣保技䜠免受雚淋。" +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "爱斯基摩肠制倧衣" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "䞀件经过粟心猝制的防寒倧衣䜿甚倄理过的割匀的劚物肠子制成。因其蜻䟿防氎圚北极的土著居民䞭倇受青睐。" + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -6527,9 +6540,7 @@ msgstr[0] "毛绒猫尟" msgid "" "A fuzzy tawny tail weighted down with tiny beads of plastic. Sways behind " "you when you walk." -msgstr "" -"䞀䞲塑料小珠子吊着䞀条黄色毛茞茞的尟巎圓䜠走劚时䌚随之摇摆非垞可爱匕人泚目。\n" -"\"䞀件䞍是甚来穿而是甚‘塞’的饰品。\"" +msgstr "䞀䞲塑料小珠子吊着䞀条黄色毛茞茞的尟巎圓䜠走劚时䌚随之摇摆非垞可爱匕\"人\"泚目。" #: lang/json/ARMOR_from_json.py msgid "faux fur cat tail" @@ -6553,7 +6564,7 @@ msgstr[0] "毛绒猫咪项圈" msgid "" "A decorative 'collar' made out of fur, complete with a little bell hanging " "from the front. Don't worry, it's silent." -msgstr "䞀䞪毛皮制䜜的装饰甚的项圈前面还配了䞀䞪䞍䌚响的小铃铛非垞可爱匕人泚目。" +msgstr "䞀䞪毛皮制䜜的装饰甚的项圈前面还配了䞀䞪䞍䌚响的小铃铛非垞可爱匕\"人\"泚目。" #: lang/json/ARMOR_from_json.py msgid "faux fur kitty collar" @@ -16445,31 +16456,31 @@ msgid "Spice" msgstr "銙料" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" +msgid "Riesling" +msgid_plural "Riesling" msgstr[0] "雷斯林癜葡萄酒" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "䞀种枅新銥郁、有着倚层风味的癜葡萄酒产自執囜葡萄挑选粟心而䞥栌。" #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" +msgid "Chardonnay" +msgid_plural "Chardonnay" msgstr[0] "倏敊埃癜葡萄酒" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "䞀种酒色呈淡金色的癜葡萄酒又称莎圓劮葡萄酒口感非垞柔顺䞔产量高成䞺最流行的葡萄酒之䞀。" #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" msgstr[0] "赀霞珠波尔倚葡萄酒" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -16495,8 +16506,9 @@ msgstr[0] "嚁士忌" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "䞀种由倧麊等谷物酿制圚橡朚桶䞭陈酿倚幎后调配成43床巊右的烈性蒞銏酒。" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "䞀种经过蒞銏的谷物酿造的高床酒由真正的南方邊联䞊校制造䟛真正的南郚邊联䞊校享甚" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -16505,10 +16517,10 @@ msgstr[0] "䌏特加" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "" -"䞀种俄眗斯䌠统的酒粟饮料以谷物或马铃薯䞺原料酒莚晶莹柄柈无色䞔枅淡爜口入口入烈焰般及其浓烈最垞见的鞡尟酒基酒之䞀。\n" -"\"同志䌏特加\"" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "䞀种陀了酒粟和氎之倖而没有其他添加物的高床酒。圚矎囜是男人们造的䌏特加而圚苏联是䌏特加造的男人。" #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -16517,9 +16529,10 @@ msgstr[0] "琮酒" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "" -"䞀种最先由荷兰生产圚英囜倧量生产后闻名于䞖的烈酒具有芳芬诱人的銙气无色透明味道枅新爜口可单独饮甚也可调配鞡尟酒并䞔是调配鞡尟酒䞭惟䞀䞍可猺少的酒种。" +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "䞀种䜿甚杜束浆果调味的酒类饮料。它闻起来有点浆果的味道䜆成分䞭倧郚分郜还是酒。" #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -16528,9 +16541,10 @@ msgstr[0] "朗姆酒" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "" -"䞀种原产圚叀巎口感甜涊、芬芳銥郁的蒞銏酒酒液有琥珀色、棕色也有无色的绰号又叫海盗之酒因䞺过去暪行圚加勒比海地区的海盗郜喜欢喝朗姆酒。" +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "䞀种经过蒞銏的由糖蜜发酵而成的酒类饮料。喝䞋它也讞䌚让䜠觉埗自己像䞪海盗。也讞䞍䌚。" #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -16539,10 +16553,11 @@ msgstr[0] "韙舌兰酒" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." msgstr "" -"䞀种呈淡琥珀色或透明无色的蒞銏酒䞀口䞋去极其舒爜配合着柠檬汁的枅爜和气泡酒的效果曎胜让人心肺瞬闎灌热是墚西哥的囜酒被称䞺墚西哥的灵魂。\n" -"\"记埗别把虫子吃䞋去等等瓶子里奜像没有虫子。泚墚西哥人垞将蝎蝶幌虫浞泡圚酒䞭\"" +"䞀种经过蒞銏的䜿甚韙舌兰酿成的酒类饮料韙舌兰汁液䞰富䞔叶子䞊长有刺。别吃虫子等等这瓶酒里没有虫子。泚墚西哥药酒垞甚韙舌兰酒泡虫子" #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -16628,8 +16643,10 @@ msgstr[0] "长岛冰茶" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." -msgstr "䞀种䌏特加、朗姆酒、琎酒、韙舌兰酒等几种基酒、也可以再加入冰块、癜薄荷酒、柠檬汁等配料调制而成的䞀欟鞡尟酒。" +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." +msgstr "" +"䞀种䜿甚各种烈酒混合而成的鞡尟酒具有埈浓烈风味尝起来的华䞍像它们䞭的任䜕䞀种。它实际䞊䞍含茶叶成分䞍过加入的可乐让它看䞊去有茶䞀样的颜色。" #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -16637,8 +16654,10 @@ msgstr "螺䞝刀鞡尟酒" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "䞀种将䌏特加和柠檬、西柚或其他柑橘类果汁倒入牛角杯䞭螺旋匏搅拌后饮甚的饮料并因歀而埗名口感酞甜爜口、枅爜。" +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "䞀种䜿甚橙汁和䌏特加混合而成的鞡尟酒。这是那些偷偷摞摞的酒鬌工皋垈们的銖选饮品。" #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -16668,9 +16687,9 @@ msgstr[0] "啀酒" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." -msgstr "" -"䞀种倧麊芜、酒花、氎䞺䞻芁原料经酵母发酵䜜甚酿制而成的饱含二氧化碳的䜎酒粟床酒口感枅爜、刺激有独特的酒花銙味和苊味䞖界䞊最受欢迎的饮料之䞀。" +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." +msgstr "䞀种䜿甚啀酒花调味的谷物酒。最奜是冰过装圚玻璃杯里配䞊些柠檬——䜆䜠可没那么幞运吧。" #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -16727,9 +16746,10 @@ msgstr[0] "私酿嚁士忌" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." -msgstr "䞀种最区的最纯掁的最奜的老匏烈酒保证让䜠忘掉这䞀切关于灟隟的事情或者取回曟经的愿景。" +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." +msgstr "䞀种经过蒞銏的䜿甚玉米和糖酿成的高床酒最区、最纯、最奜的老匏烈酒保证让䜠忘掉这䞀切关于灟隟的事情或给䜠些梊䞀般的幻象。" #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -16739,9 +16759,9 @@ msgstr[0] "比尔森啀酒" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." -msgstr "从欧掲进口的比尔森啀酒。\"冷藏后风味曎䜳\"——这行字劂同讜刺䞀般跃入県垘。" +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." +msgstr "䞀种从欧掲进口的拉栌淡啀酒。最奜是冰过装圚玻璃杯里——䜆䜠可没那么幞运吧。" #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -16791,7 +16811,7 @@ msgstr[0] "比利时麊酒" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." msgstr "䞀种源自比利时修道士的果酒气味䞰富又胜填饱肚子。最奜是胜配长脚玻璃杯来饮甚。" @@ -16860,9 +16880,9 @@ msgstr "可乐鞡尟酒" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." -msgstr "kalimotxo红酒和可乐的组合尝起来没有有些人想的那样糟糕。某些囜家幎蜻人和穷人的最爱。" +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." +msgstr "䞀种䜿甚等比䟋的可乐和酒粟混合调成的鞡尟酒。尝起来没有想象䞭那样糟听诎是某些囜家幎蜻人和穷人的最爱。" #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -17910,8 +17930,11 @@ msgstr[0] "咖啡" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "䞀仜经过烘焙的咖啡豆或咖啡粉冲泡制䜜出来的矎味饮料味道略苊䜆非垞銙醇有着提神醒脑等倚种功效。" +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "曟经圚䞖界末日前是䞀种早晚仪匏咖啡果经过䞀系列倍杂的陀种、烘焙、研磚和调制最终埗到的饮品。咖啡比它的对手茶含有曎倚的咖啡因。" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -17941,9 +17964,9 @@ msgstr[0] "炌乳" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." -msgstr "䞀仜乳牛口粮成人也可以食甚。这仜牛奶已加糖并增皠可䜿其成䞺任䜕食物的甜味添加剂。 " +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." +msgstr "䞀种经过郚分脱氎的牛奶这极倧提升了它的保莚期。哊还加入了甜味剂调味。" #: lang/json/COMESTIBLE_from_json.py msgid "cream soda" @@ -18002,10 +18025,10 @@ msgstr "胜量饮料" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "" -"䞀眐流行于熬倜加班族们的高效提神饮料倧灟变前最流行的饮料之䞀。\n" -"\"喝䞋去并䞍䌚像广告䞭那样从尞矀䞭杀出重囎。\"" +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "䞀种含有倧量咖啡因的蜯饮料。胜量饮料圚那些需芁熬倜工䜜的人䞭埈受欢迎。" #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -18117,8 +18140,9 @@ msgstr "牛奶咖啡" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." -msgstr "牛奶咖啡圚讞倚囜家郜是标准枅晚饮品。" +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." +msgstr "䞀种将咖啡糖混入牛奶䞭而成的饮品。自1993幎起它就䞀盎是眗執岛州的州立饮品。" #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -18126,9 +18150,8 @@ msgstr "奶茶" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "通垞郜圚早䞊喝讞倚囜家郜有喝奶茶的习俗。" +msgid "Hot tea with cold milk." +msgstr "䞀仜热茶加入了冷牛奶。" #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -18225,10 +18248,10 @@ msgstr "茶" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "" -"䞀仜源自䞭囜的叀老饮品略苊䜆銙气氀氲、枅新怡人蕎藏其䞭的䞝䞝銙甜什人感到回味无穷。\n" -"\"圚鞊片战争前倕只有掺了沙子的茶才叫正宗的䞭囜茶。\"" +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "䞀仜䟛党球绅士享甚的饮品通过将滚烫的匀氎倒入被称䜜\"山茶科山茶属\"的茶树的叶子䞭而成。" #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -18276,8 +18299,8 @@ msgstr "番茄沙叞" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "番茄酱奜吃就是吃䞍借" +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "䞀种由煮熟的西红柿制成的酱汁陀歀之倖没加入其他调味料。" #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -18296,8 +18319,10 @@ msgstr[0] "蛋黄酱" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "䌠统口味的䞉明治蛋黄酱。" +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "䞀种由鞡蛋、食甚油和盐混合而成的粘皠混合物䌠统䞊甚于给䞉明治调味。" #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -18305,8 +18330,8 @@ msgstr "番茄酱" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "矎味的䌠统番茄酱热狗蘞䞊它味道奜极了。" +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "䞀种加入了盐和醋调味的粘皠番茄酱。" #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -18315,8 +18340,10 @@ msgstr[0] "芥末酱" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "䌠统口味的芥末酱汉堡里加䞀点味道䞍错。" +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "䞀种䜿甚芥菜种子黄芥或癜芥、醋、盐和各种銙料制成的调味品。" #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -18357,10 +18384,10 @@ msgstr[0] "食醋" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "" -"䞀些由糯米、高梁、倧米、玉米、小麊以及糖类和酒类发酵制成的酞味液态调味品。\n" -"\"差点就变成酒。\"" +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "䞀种酞埗掉牙的癜醋。圓䜠的酒发酵过倎时就䌚埗到这样的结果。" #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -18379,8 +18406,10 @@ msgstr[0] "糖蜜" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." -msgstr "䞀些粘皠、黑耐色、呈半流劚的物䜓像糖浆的极甜的焊油略垊苊涩。" +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." +msgstr "䞀种富含糖分的焊油状糖浆通过反倍煮沞甘蔗汁或甜菜汁而产生。回味有点苊。" #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -19509,8 +19538,10 @@ msgstr[0] "枫树糖浆" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "䞀些真正的䜛蒙特州銙甜可口的枫糖浆。" +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "通过把枫树的汁液煮沞浓猩而成的銙甜可口的枫糖浆。" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -19776,15 +19807,13 @@ msgid "" msgstr "䞀磅倚汁的肉类加䞊䞀磅銙喷喷的碳氎化合物新鲜出炉风味曎䜳曎易饱腹也曎容易坏掉。" #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" +msgid "deep-fried chicken" msgstr "ç‚žéž¡" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "" -"䞀仜垞见于各䞪快逐店里的炞鞡有着金黄銙脆的倖皮里面是鲜嫩倚汁的鞡肉。\n" -"\"Ba la la ba baBa la la ba baBa la la ba baBa la la ba ba(麊圓劳广告语)\"" +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "通过将鞡肉完党浞泡圚油䞭炞熟而成。油腻䜆可口。" #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -20146,8 +20175,10 @@ msgstr "午逐肉" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "䞀些压猩的肉糜有着各种加工方匏甚䜜其它料理通垞圚野逐时食甚。军队䞭午逐肉是必倇的军需物品。" +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "将煮熟的肉腌制之后切成薄片䟿于倹圚䞉明治䞭。也胜圓䜜冷盘吃。" #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -20156,9 +20187,10 @@ msgstr "博掛尌亚红肠" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." -msgstr "䞀些博掛尌亚红肠无需加热即可食甚。泚该种銙肠圚矎囜垂场䞊倚䞺\"奥斯卡\"牌类䌌于火腿肠领域䞭的双汇。" +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." +msgstr "䞀仜源自博掛尌亚的正宗红肠经过切碎腌制的细肉末被灌进肠衣后切成圆圢薄片。䞍是奥斯卡牌的胜圓䜜冷盘吃。" #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -20521,7 +20553,7 @@ msgid "" "Surprisingly tasty and quite filling, it is best served with boiled root " "vegetables and strong whisky." msgstr "" -"苏栌兰䌠统风味垃䞁将肉、内脏和燕麊片切碎混合后攟入胃囊䞭猝奜、煮熟。銅料充实而矎味䞎它的䞑陋倖衚圢成鲜明对比。正宗吃法还芁搭配煮块根类蔬菜再来点高床嚁士忌。又译哈革斯、肉銅矊杂。" +"苏栌兰䌠统风味垃䞁将肉、内脏和燕麊片切碎混合后攟入胃囊䞭猝奜、煮熟。銅料充实而矎味䞎它的䞑陋倖衚圢成鲜明对比。正宗吃法还芁搭配煮块根再来点高床嚁士忌。又译哈革斯、肉銅矊杂。" #: lang/json/COMESTIBLE_from_json.py msgid "fish makizushi" @@ -20629,11 +20661,9 @@ msgstr "博掛尌亚人肠" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." -msgstr "" -"䞀种采甚预先切奜的人肉制䜜的午逐肉。可䞍加热盎接食甚。\n" -"\"嘿奥斯卡先生。\"" +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." +msgstr "经过切碎腌制的细人肉末被灌进肠衣后切成圆圢薄片。他也讞曟经叫奥斯卡胜圓䜜冷盘吃就像现圚的冷血食人的䜠。" #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -21728,7 +21758,7 @@ msgstr[0] "倧麻叶片" #. ~ Use action activation_message for marijuana. #: lang/json/COMESTIBLE_from_json.py msgid "You smoke some weed. Good stuff, man!" -msgstr "䜠吞了点倧麻倪爜了劈的" +msgstr "䜠吞了䞀口倧麻。真是痛快" #. ~ Description for marijuana #: lang/json/COMESTIBLE_from_json.py @@ -21786,6 +21816,22 @@ msgid "" "it boosts the body's resistance against them. One dose lasts twelve hours." msgstr "䞀种广谱抗生玠甚于预防和抑制感染。功效还䞍足以圻底治愈感染䜆可增区䜓内免疫力。䞀剂药持续十二小时。" +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "胃药" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "䜠服甚了䞀些胃药。" + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "䞀眐粘皠的粉红色胃药糖浆胜猓解胃郚䞍适平息呕吐冲劚垊着䞀䞪胜借拧䞋的盖子胜圓䜜测量剂量的量杯䜿甚。" + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -23246,88 +23292,88 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "䞀䞪芞銙科柑橘属怍物果实富含绎生玠C䜆是非垞埗酞。" #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "蓝莓" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "䞀把蓝莓" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "" -"䞀种起源于北矎的倚幎生灌朚小浆果果树因果实呈蓝色故称䞺蓝莓。\n" +"䞀把北矎垞见的蓝莓灌朚所结出的蓝色果实。\n" "\"适合圚蓝色的倩空䞋的蓝色小屋里听着蓝调垃鲁斯吃着蓝莓。\"" #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "草莓" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "䞀把草莓" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." -msgstr "䞀䞪原产南矎的草莓劂今圚野倖也埈垞见鲜红的果肉倚汁又矎味。" +msgstr "䞀把圚野倖垞见的草莓灌朚所结出的果实鲜红的果肉倚汁又矎味。" #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "蔓越莓" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "䞀把蔓越莓" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." -msgstr "䞀些小红莓有着酞味的红色浆果对健康有益。" +msgstr "䞀把蔓越莓灌朚所结出的红色浆果埈酞䜆对健康有益。" #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "朚莓" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "䞀把树莓" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." -msgstr "䞀种甜甜的红色浆果酞甜可口具有埈高的营养价倌。" +msgstr "䞀把树莓灌朚所结出的红色浆果酞甜可口。" #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "越橘" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "䞀把越橘" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." -msgstr "矎掲越橘经垞䌚和蓝莓混淆。" +msgstr "䞀把矎掲越橘经垞䌚和蓝莓混淆。" #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "桑怹" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "䞀把桑怹" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " "described to have the strongest flavor of any variety in the world." -msgstr "北矎桑怹这种红色品种是北矎䞜郚所独有的并被讀䞺是䞖界䞊所有品种䞭风味最浓的䞀䞪品种。" +msgstr "䞀把北矎桑怹这种红色品种是北矎䞜郚所独有的并被讀䞺是䞖界䞊所有品种䞭风味最浓的䞀䞪品种。" #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "接骚朚果" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "䞀把接骚朚果" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." -msgstr "接骚朚果生吃有毒䜆煮熟后埈矎味。" +msgstr "䞀把接骚朚果生吃有毒䜆煮熟后埈矎味。" #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" -msgstr[0] "玫瑰果" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" +msgstr[0] "䞀把玫瑰果" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." -msgstr "䞀颗经过授粉后的玫瑰花所结的果实。" +msgstr "䞀把玫瑰果是经过授粉后的玫瑰花所结的果实。" #: lang/json/COMESTIBLE_from_json.py msgid "juice pulp" @@ -23359,14 +23405,14 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "䞀䞪柑橘类氎果有酞味和甘味成熟时果皮䞀般呈䞍均匀的橙色或红色果肉淡红癜色。" #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "暱桃" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "䞀把暱桃" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." -msgstr "䞀种长圚树䞊的红色果实埈甜。" +msgstr "䞀把暱桃树结出的红色果实埈甜。" #: lang/json/COMESTIBLE_from_json.py msgid "plum" @@ -23379,11 +23425,11 @@ msgid "" msgstr "䞀䞪玫色的倧李子饱满圆涊玲珑剔透圢态矎艳口味甘甜是人们最喜欢的氎果之䞀。" #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "葡萄" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "䞀把葡萄" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "" @@ -23439,11 +23485,11 @@ msgid "A large and very sweet fruit." msgstr "䞀䞪又倧又甜的瓜又称銙瓜等含有苹果酞、葡萄糖、氚基酞、甜菜茄、绎生玠C等䞰富营养。" #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "黑莓" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "䞀把黑莓" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "䞀些原产地北矎掲的黑莓有着非垞䞰富的营养价倌。" @@ -23488,13 +23534,14 @@ msgid "" msgstr "䞀䞪倧倧的有着棕色纹装倖皮的氎果绿色的果肉有着奇匂的味道。" #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "杏子" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "䞀把杏子" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." -msgstr "䞀些果皮倚䞺癜色、黄色至黄红色向阳郚垞具红晕和斑点、有着暗黄色果肉味甜倚汁的氎果。" +msgstr "䞀把杏子衚皮埈光滑有着味甜倚汁的暗黄色果肉是桃子的近亲。" #: lang/json/COMESTIBLE_from_json.py msgid "barley" @@ -23545,8 +23592,8 @@ msgstr "卷心菜" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "䞀团枅柈雪癜的拳倎倧小的卷心菜。" +msgid "Crisp white cabbage." +msgstr "䞀团枅柈雪癜的卷心菜。" #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -23633,8 +23680,8 @@ msgstr "黄瓜" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "䞀根黄瓜葫芊科怍物味甘甜、性凉有着特殊的倖观和䜜甚。" +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "䞀种葫芊科怍物没什么味道䜆是非垞倚汁。" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -23716,7 +23763,7 @@ msgstr "液囊" msgid "" "A fluid bladder from a plant based lifeform. Not very nutritious, but fine " "to eat anyway." -msgstr "䞀䞪富有生机的怍物的液䜓气囊里面有䞀些汁液营养并䞍䞰富䜆仍有食甚价倌。" +msgstr "䞀䞪从那些掻生生的怍物䜓䞊采集来的囊胞里面有䞀些汁液营养并䞍䞰富䜆勉区胜食甚。" #: lang/json/COMESTIBLE_from_json.py msgid "raw potato" @@ -23762,7 +23809,7 @@ msgstr "倧黄" #. ~ Description for rhubarb #: lang/json/COMESTIBLE_from_json.py msgid "Sour stems of the rhubarb plant, often used in baking pies." -msgstr "䞀䞪垊酞味的倧黄叶柄烀銅饌时垞甚它。" +msgstr "䞀些北矎菜甚倧黄的肉莚叶柄埈酞烀銅饌时垞甚它。" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet" @@ -24055,6 +24102,10 @@ msgstr[0] "黑莓种子" msgid "Some blackberry seeds." msgstr "䞀些黑莓种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "黑莓" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -24065,6 +24116,10 @@ msgstr[0] "蓝莓种子" msgid "Some blueberry seeds." msgstr "䞀些蓝莓种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "蓝莓" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -24075,6 +24130,10 @@ msgstr[0] "蔓越莓种子" msgid "Some cranberry seeds." msgstr "䞀些蔓越莓种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "蔓越莓" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -24085,6 +24144,10 @@ msgstr[0] "越橘种子" msgid "Some huckleberry seeds." msgstr "䞀些越橘种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "越橘" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -24095,6 +24158,10 @@ msgstr[0] "桑怹种子" msgid "Some mulberry seeds." msgstr "䞀些桑怹种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "桑怹" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -24105,6 +24172,10 @@ msgstr[0] "接骚朚种子" msgid "Some elderberry seeds." msgstr "䞀些接骚朚种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "接骚朚果" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -24115,6 +24186,10 @@ msgstr[0] "树莓种子" msgid "Some raspberry seeds." msgstr "䞀些树莓种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "朚莓" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -24125,6 +24200,10 @@ msgstr[0] "草莓种子" msgid "Some strawberry seeds." msgstr "䞀些草莓种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "草莓" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -24135,6 +24214,10 @@ msgstr[0] "葡萄种子" msgid "Some grape seeds." msgstr "䞀些葡萄种子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "葡萄" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -26922,6 +27005,18 @@ msgstr[0] "攟射废料桶" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "䞀䞪黄色倧桶䞊面印有蟐射譊告标识甚于傚存攟射性废料。" +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "花盆" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "䞀䞪胜甚来种怍怍物的特殊花盆。胜借保证怍物圚合适的环境䞋生长䜿其获埗最倧的产量。" + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -30373,11 +30468,8 @@ msgstr[0] "袜装石销" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." -msgstr "" -"将石块攟到袜子底郚组成的、䞀种䞍胜抱倚倧垌望的原始歊噚。\n" -"\"劂果甚装石倎的是黑䞝袜可获埗最倧攻击距犻。\"" +msgid "A pair of nested socks filled with a stone. A true weapon of despair." +msgstr "䞀对套圚䞀起的袜子里面装了䞪石倎。绝对是绝境䞋才䌚䜿甚的歊噚。" #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -31965,7 +32057,7 @@ msgstr "䞀台结构玧凑的蜊蜜冰柜讟计甚于运蟓各种需芁冰冻 #: lang/json/vehicle_part_from_json.py msgid "washing machine" msgid_plural "washing machines" -msgstr[0] "蜊蜜掗衣机" +msgstr[0] "掗衣机" #. ~ Description for washing machine #: lang/json/GENERIC_from_json.py @@ -32817,6 +32909,16 @@ msgstr[0] "醉拳拳法" msgid "A complete guide to Zui Quan." msgstr "䞀本完敎的醉拳拳法秘籍。" +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "矛之道" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "䞀郚完敎的日本枪术指南。" + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -34678,6 +34780,337 @@ msgid "belt ammo link" msgid_plural "belt ammo links" msgstr[0] "子匹垊铟节" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "花盆番茄生长䞭" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "䜜物已经可以收割了" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "䜜物还圚迅速生长。" + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了番茄的花盆。圓番茄成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "花盆番茄已成熟" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "䞀䞪种了番茄的花盆番茄已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "花盆小麊生长䞭" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "䜜物已经可以收割了" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "䜜物还圚迅速生长。" + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了小麊的花盆。圓小麊成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "花盆小麊已成熟" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "䞀䞪种了小麊的花盆小麊已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "花盆啀酒花生长䞭" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "䜜物已经可以收割了" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了啀酒花的花盆。圓啀酒花成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "花盆啀酒花已成熟" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "䞀䞪种了啀酒花的花盆啀酒花已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "花盆荞麊生长䞭" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了荞麊的花盆。圓荞麊成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "花盆荞麊已成熟" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "䞀䞪种了荞麊的花盆荞麊已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "花盆西兰花生长䞭" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了西兰花的花盆。圓西兰花成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "花盆西兰花已成熟" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "䞀䞪种了西兰花的花盆西兰花已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "花盆燕麊生长䞭" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了燕麊的花盆。圓燕麊成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "花盆燕麊已成熟" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "䞀䞪种了燕麊的花盆燕麊已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "花盆倧麊生长䞭" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了倧麊的花盆。圓倧麊成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "花盆倧麊已成熟" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "䞀䞪种了倧麊的花盆倧麊已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "花盆胡萝卜生长䞭" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了胡萝卜的花盆。圓胡萝卜成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "花盆胡萝卜已成熟" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "䞀䞪种了胡萝卜的花盆胡萝卜已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "花盆棉花生长䞭" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了棉花的花盆。圓棉花成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "花盆棉花已成熟" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "䞀䞪种了棉花的花盆棉花已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "花盆卷心菜生长䞭" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了卷心菜的花盆。圓卷心菜成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "花盆卷心菜已成熟" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "䞀䞪种了卷心菜的花盆卷心菜已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "花盆黄瓜生长䞭" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了黄瓜的花盆。圓黄瓜成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "花盆黄瓜已成熟" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "䞀䞪种了黄瓜的花盆黄瓜已经成熟了。拆解它来收获。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "花盆倧蒜生长䞭" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "䞀䞪种了倧蒜的花盆。圓倧蒜成熟时䜠需芁激掻它来准倇收割。" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "花盆倧蒜已成熟" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "䞀䞪种了倧蒜的花盆倧蒜已经成熟了。拆解它来收获。" + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -37891,6 +38324,15 @@ msgid "" "other gun mods." msgstr "䜿甚几欟通甚枪械及匹药替代原版各类倍杂的枪械䞎匹药类型。譊告该暡组䌚频繁报错郚分物品无法正垞䜿甚无法和其他枪械类暡组同时启甚。" +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "胜种菜的花盆" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "让䜠胜甚花盆种怍郚分蔬菜。" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "手劚安装生化插件" @@ -52356,6 +52798,14 @@ msgid "inactive military robot" msgid_plural "inactive military robots" msgstr[0] "军甚机噚人关" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "䞀台劚力耗尜的军甚机噚人装䞊了䞀把内眮7.62mm口埄步枪及䞀把电击枪。圓䜠的物品栏䞭有匹药时䜠可以激掻以装填并郚眲该机噚人。" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -53281,6 +53731,10 @@ msgstr "停止控制蜜具" msgid "Stop training?" msgstr "停止训练" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "停止闲聊" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "停止急救" @@ -53449,10 +53903,18 @@ msgstr "停止剃须" msgid "Stop cutting your hair?" msgstr "停止理发" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "停止和宠物玩耍" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr " 停止尝试入睡" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "停止枅空" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express 匹" @@ -56338,6 +56800,17 @@ msgstr "被芁求训练" msgid "AI tag for asking to NPCs to train you. This is a bug if you have it." msgstr "AI䞓甚标筟芁求训练。" +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "被芁求闲聊" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "AI䞓甚标筟芁求闲聊。" + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "被芁求䞪人信息" @@ -57667,21 +58140,6 @@ msgstr "䜠被猠绕䜏了。" msgid "The ceiling collapses on you!" msgstr "倩花板掉萜䞋来并砞圚了䜠身䞊" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "干细胞治疗" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "圓䜠受到药物治疗时䜠的䜓内䌚发生各种奇怪的反应。" - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "骚倎和釉莚的混合浆液被泚射到了䜠的県球䞭。" - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "服甚抗惊厥药物" @@ -58235,6 +58693,15 @@ msgstr "䞇胜药" msgid "You feel incredible! You could take on the world!" msgstr "䜠感到隟以眮信䜠感觉自己随时准倇奜盎面这䞪䞖界了。" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "猓解胃病" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "䜠的胃郚䞍适症状埗到了猓解。" + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "挏电" @@ -70390,14 +70857,14 @@ msgid "Analyze blood" msgstr "分析血样" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "干细胞倧垈" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "干细胞治疗" +msgid "Bonesetting Treatment" +msgstr "接骚治疗" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -71764,6 +72231,36 @@ msgid "" "armor, +Perception fire armor." msgstr "+力量 钝击防技+敏捷 酞液防技+智力 电击防技+感知 火焰防技。" +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "日本枪术" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "日本枪术又称\"矛之道\"是䞀种源自日本的䜿甚长矛䜜战的歊术。日本枪术䞓泚于圚战斗䞭保持同对手的距犻以䟿绎持自身战斗䌘势。" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "日本枪术之匏" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "静立䞍劚时远距攻击歊噚栌挡几率提升" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "日本枪术突刺" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "移劚时增加䌀害䜆䞍提升栌挡几率" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "䞭䞖纪剑术" @@ -74959,6 +75456,10 @@ msgstr "享受 %s" msgid "Enjoyed a hot meal" msgstr "享受䞀顿热饭" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "享受闲聊" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "音乐" @@ -75169,6 +75670,10 @@ msgstr "剃了须" msgid "Barfed" msgstr "呕吐过" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "䞎宠物玩耍过" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "点了把火" @@ -75924,7 +76429,7 @@ msgstr "䜠身䜓的自愈系统曎加出色睡眠时损䌀郚䜍恢倍的曎 #: lang/json/mutation_from_json.py msgid "Light Eater" -msgstr "饭量小" +msgstr "饭量少" #. ~ Description for Light Eater #: lang/json/mutation_from_json.py @@ -76202,7 +76707,7 @@ msgstr "䞍攻击人的劚物䞍䌚从䜠身蟹跑匀甚至那些富有攻击 #: lang/json/mutation_from_json.py msgid "Terrifying" -msgstr "什人恐惧" +msgstr "恐惧气息" #. ~ Description for Terrifying #: lang/json/mutation_from_json.py @@ -76275,6 +76780,19 @@ msgid "" "unique pleasure to you." msgstr "䜠有受虐癖疌痛䜿䜠感到快乐虜然䜠还䌚承受疌痛的莟面效果䜆这同时䌚让䜠感到䞀种独特的快感。" +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "兎奋剂粟神病" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" +"䜠和兎奋剂劂咖啡因或安非他明之闎有过䞀段独特的经历。䜠比普通人胜借承受曎高剂量的兎奋剂而䞍过量䜆劂果䜠吞入过倚䜠匀始看见䞀些奇怪的事情发生  " + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -76306,7 +76824,7 @@ msgstr "䜠具有非垞完矎的基因基础圓䜠发生变匂时有利变 #: lang/json/mutation_from_json.py msgid "Scout" -msgstr "斥候" +msgstr "䟊察者" #. ~ Description for Scout #: lang/json/mutation_from_json.py @@ -76403,8 +76921,8 @@ msgstr "剑术垈" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." -msgstr "䜠曟圚圓地道场接受过䞀套近身歊噚训练。䜠圚匀始的时候可以选择菲埋実剑棍术、击剑术、班卡苏拉刀术或二倩䞀流剑术之䞀。" +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." +msgstr "䜠曟经接受过䞀套近身歊噚训练。䜠圚匀始的时候可以选择菲埋実剑棍术、击剑术、班卡苏拉刀术、二倩䞀流剑术或日本枪术之䞀。" #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -76896,7 +77414,7 @@ msgstr "䜠䞍把䜠的背包装满就觉埗浑身䞍对劲。圓䜠携垊物品 #: lang/json/mutation_from_json.py msgid "Savant" -msgstr "独通䞀行" +msgstr "独匀䞀窍" #. ~ Description for Savant #: lang/json/mutation_from_json.py @@ -76905,7 +77423,8 @@ msgid "" "at half speed in all skills except your best one. Note that combining this " "with Fast Learner will come out to a slower rate of learning for all skills." msgstr "" -"䜠圚技胜䞊䞥重偏科陀了䜠所喜欢的那䞀䞪其他郜䞍愿意去孊将䌚富臎其他的技胜升级速床减慢。泚劂䜠同时拥有快速孊习特性时将䌚䜿䜠所有的技胜升级速床减慢。" +"䜠只䞓泚于䞀项技胜对其他技胜郜䞍甚了解。陀了䜠等级最高的技胜倖䜠的所有其他技胜经验获取速床减半。歀倖圓䞎孊埗快特性配合时将䌚䜿所有技胜的孊习速床减慢。\n" +" " #: lang/json/mutation_from_json.py msgid "Pacifist" @@ -77029,6 +77548,17 @@ msgid "" "you heal much slower. Stacks with Glass Jaw." msgstr "䜠的身䜓由于疟病等困扰还是倩生劂歀䜠的身䜓极䞺脆匱。其最倧HP比正垞情况䜎75HP恢倍速床也埈慢。胜和脆匱倎骚叠加。" +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "基因恶性埪环" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "䞀次倧灟变䞭发生的事故已经䞥重损坏了䜠的DNA䜿其隟以恢倍。䜠䌚经垞获埗变匂而䞔䜠获埗的所有变匂无论来源郜是莟面的。" + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "粗糙皮肀" @@ -81674,6 +82204,10 @@ msgstr "蜜蜂人" msgid "I'm bugged - I shouldn't talk to you." msgstr "我出现了Bug我䞍该跟䜠诎话的。" +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "乞䞐" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -81993,6 +82527,30 @@ msgstr "区盗" msgid "Psycho" msgstr "粟神病人" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "乞䞐" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "䞜嚜 桑執" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "迪诺 戎倫" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "眗矎珍" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "垃兰顿 莟執尔" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "雄介 泰勒" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "区盗" @@ -87892,6 +88450,112 @@ msgid "" "commercial robots, but you never thought your survival might depend on it." msgstr "圚末日来䞎之前䜠的䞚䜙爱奜是非法将民甚机噚人重新猖皋并改装䜆䜠从来没有想过䜠的生存可胜䟝赖于䜠的这项爱奜。" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "自劚化工皋垈" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "䜠是䞀家机噚人制造商的䜎级工皋垈。管理䞀盎告诉䜠把喷火噚安装圚飞锯无人机䞊\"䞍必芁\"而䞔\"倪危险\"了䜆现圚再没有谁胜阻止䜠这么干了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "自劚化工皋垈" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "䜠是䞀家机噚人制造商的䜎级工皋垈。管理䞀盎告诉䜠把喷火噚安装圚飞锯无人机䞊\"䞍必芁\"而䞔\"倪危险\"了䜆现圚再没有谁胜阻止䜠这么干了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "机械奇才" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "䜠自打孊䌚甚电烙铁起就䞀盎圚制造机噚人现圚䜠可䞍打算让䞖界末日阻止䜠继续干䞋去。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "机械奇才" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "䜠自打孊䌚甚电烙铁起就䞀盎圚制造机噚人现圚䜠可䞍打算让䞖界末日阻止䜠继续干䞋去。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "机噚人养子" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "圓暎乱发生时䞀只军甚机噚人䞍知道从什么地方冒了出来并救䞋了䜠。也讞它讀䞺䜠是䞪重芁人物谁知道呢。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "机噚人养女" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "圓暎乱发生时䞀只军甚机噚人䞍知道从什么地方冒了出来并救䞋了䜠。也讞它讀䞺䜠是䞪重芁人物谁知道呢。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "机械化猎手" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "䜠雇了䞀名本地黑客给䜠造了䞀只机噚人猎狗。它几乎和真狗䞀样奜䜆它可䞍想仅仅被䜠圓䜜宠物对埅。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "机械化猎手" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "䜠雇了䞀名本地黑客给䜠造了䞀只机噚人猎狗。它几乎和真狗䞀样奜䜆它可䞍想仅仅被䜠圓䜜宠物对埅。" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -95964,6 +96628,67 @@ msgstr "氎  附近有绿掲吗" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "䜠芁知道喝氎䞍足比起䌑息䞍足曎加可以杀死人。" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "圓然可以我看到䜠身䞊垊着啀酒让我们匀䞀瓶冰啀酒坐䞋来聊䞀聊怎么样" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "哊圓然䞍劂给我䞀瓶䜠垊着的啀酒怎么样怎么样成亀" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "是的䞍过䜠埗先分我䞀瓶䜠囀的那些啀酒然后我们接着聊隟道䜠只是圚诎笑话吗怎么样" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "哊圓然可以正奜我也该攟束䞀䞋了䜠最近怎么样" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "哊可以近况劂䜕啊" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "圓然我们聊聊吧䜠还奜吧" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "䞺什么䞍呢䜠还奜吗" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "我䞍介意怎么了" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "我可以抜出几分钟时闎怎么了" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "圓然䜠还奜吗" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "奜吧䜠有什么芁诎的吗" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "我随时奉陪䜆是䞺什么呢䜠还奜吗" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "奜吧我们是应该互盞了解䞀䞋䜠过埗怎样" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "圓然可以我奉陪。䜠还奜吗 " + #: lang/json/snippet_from_json.py msgid "darn" msgstr "该死的" @@ -97504,6 +98229,18 @@ msgstr "我们这是圚里诺城吗因䞺我芁看着䜠死泚Folsom msgid "You're going to pay for that, !" msgstr "䜠芁䞺歀付出代价" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "安静点听见诎话声了吗" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "䜠听到有人诎话了吗" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "谁诎了话" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "那声音听起来可䞍劙。" @@ -97520,6 +98257,10 @@ msgstr "䜠听到了吗" msgid "What's that noise?" msgstr "什么声音" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "那蟹有什么䞜西吗" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "我听见什么䞜西圚劚就像是" @@ -97529,16 +98270,16 @@ msgid "What's that sound? I heard" msgstr "那是什么声音我听见" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" -msgstr "谁圚那里我听见" +msgid "What's there? I heard" +msgstr "那是什么声音我听见" #: lang/json/snippet_from_json.py msgid "Did you hear that? Sounded like" msgstr "䜠听到了吗听䞊去像是" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" -msgstr "是谁发出的声音我胜听见" +msgid "What is making that sound? I can hear the" +msgstr "是什么发出的声音我胜听见" #: lang/json/snippet_from_json.py msgid "Tell me about how you survived the cataclysm." @@ -97673,6 +98414,10 @@ msgstr "行尞走肉" msgid " " msgstr "" +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "䞍死之人" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "掻死人" @@ -97685,10 +98430,6 @@ msgstr "䞧尞" msgid "Z's" msgstr "䞧尞们" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "死亡的" - #: lang/json/snippet_from_json.py msgid " " msgstr "" @@ -101102,6 +101843,42 @@ msgstr "[亀易]做些亀易吧怎样" msgid "I can't leave the shelter without equipment." msgstr "[玢取]䞀点装倇郜没的话我可䞍敢犻匀这䞪避隟所。" +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "是的炎炎倏日让我埈隟受让我们䌑息䞀䞋䜠最近劂䜕啊 " + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "现圚我们可以皍埮歇䞀䌚我刚刚圚想这埗有䞀䞪倚月了吧  发生了这倚事䜠是怎么应付这䞀切的" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "哊䜠知道的勉区还行  " + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "䞍知道或讞我们应该寻扟其他幞存者和补给。" @@ -102396,6 +103173,277 @@ msgid "" 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 "拜托垮垮我。我需芁食物。䜠䞍是他们的譊长吗䜠䞍胜垮垮我吗" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "拜托垮垮我。我需芁食物。" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "他们䞍让我进去。他们诎他们已经满人了。他们让我圚这露营前提是我保持这里干净敎掁䞍惹事生非䜆我实圚是倪饿了。" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "䜠䞺什么䞍去别的地方呢" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "䜠䞺什么䞍自食其力呢" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "䜠圚倧灟隟之前是做什么的" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "对䞍起我垮䞍了䜠。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" +"还有别的地方吗我䞍胜圚倖面和那些怪物搏斗。我身䜓状况埈差又没有䞀技之长我被倖面那些 和暎行吓坏了。我该怎么扟䞪安党的地方" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" +"去倖面那是自杀每䞪出去的人郜没胜回来那些可是胜自己过掻的人  䞍像我。我宁愿圚这里求口剩饭吃等埅里面的人死掉䞀些䞺我腟出䜍眮谢谢。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" +"我是高䞭数孊老垈。那是䞀仜奜工䜜我埈喜欢。可笑的是圚䞖界末日之后这并没有什么甚。我是诎埈久埈久之后也讞人们䌚再次需芁䞀䞪老垈䜆现圚他们想芁的只是食物䜏所和衣服。" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "我跟䜠诎过硬纞板的事吗朋友䜠有吗" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "硬纞板" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "䜠䞺什么坐圚这里" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "䜠真的就这么穿着恐韙套装吗" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "我正圚甚硬纞板盖房子。睡魔告诉我别这么做䜆我告诉它赶玧滚。" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "䞺什么是硬纞板" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "我想我埗走了  " + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" +"现圚有甚䞍完的硬纞板了而䞔䞧尞们郜怕它。至少到目前䞺止它郜保技了我的安党。从䞧尞䜓内䌚发射出莝塔射线䜆䞀旊击䞭纞板就无法穿透。反射射线可以避免任䜕进䞀步的䌀害。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "那些胆小鬌郜怕我。他们䞍让我进入他们的基地。我芁盖我自己的新房子而我也䞍䌚让他们进来的。" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "盖房子" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "吊" + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "那硬纞板是怎么回事" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "别理那些混蛋们。" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "怎么了" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "奜吧  回倎见。" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "他们诎\"人倪倚了\"。劈的䞀垮䞍懂分享的混蛋。" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "那䜠䞺什么还䜏这里" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "我埗走了。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "䜠䞺什么这么问" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "䜠怎么了" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "他们䞍让䜠进去来是因䞺䜠生病了" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "䜠劂果䜠埗了重病那䜠还怎么可胜来到这里的" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "既然他们䞍让䜠进去䜠䞺什么还芁圚这里扎营" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" +"凡是䜠想埗到的哮喘、糖尿病、关节炎。糖尿病目前没那么䞥重了自从我停止䜠知道的吃䞜西之后。嗯我猜的。诎的奜像我还胜去叫什么来着去验血䞀样医生过去每隔几䞪月郜芁催着我去验血。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "他们芁养的人倪倚需芁每䞪人有足借的劳劚力来撑起自己的䜓重。我倪重了䜆身䜓倪虚撑䞍起所以我就圚这了。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "和之前的䞀小矀人䞀起来的。其他人郜埈幎蜻身䜓埈奜他们进去了。实际䞊他们是最后几䞪被收进去的人。我没胜被算䞊。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" +"倚亏了他们的恩執。现圚我有䜏的地方、有照明和保暖劂果有䞧尞出现那些譊卫还䌚垮我们倄理掉。也没那么糟。劂果我䞀䞪人圚倖面的话我啥郜䞍䌚有而䞔同样埗扟食物  换句话诎我䌚必死无疑。或者我该诎\"䞍死\"无疑。" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "嘿老铁。" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "䜠到这来做什么" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "我䞍埗䞍诎䞀句䜠浑身䞊䞋郜长毛了。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "我䜏圚这里。变匂倪倚䞍可胜加入酷孩子俱乐郚䜆还变匂埗䞍足以䞀県见到就杀人。" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "䞺什么䜏圚这里" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "䜠看䞊去胜自己照顟自己。䞺什么䞍和我䞀起走呢" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" +"这比我自己再去造䞀䞪家曎安党。必芁时我就去森林里搜寻些果子吃。只芁我们保持这里干净敎掁并圚䞧尞来时尜我们䞀仜力他们就䌚让我们蹲圚这里䜜䞺额倖的䞀层防埡。他们䞍倪喜欢我给这里的其他人垊吃的  我想他们准倇让我们慢慢地饿死尜管我没法让这每䞪人郜吃饱䜆我垊回来的食物足借绎持这些人生存䞋去。我想他们最终䌚扟䞪借口把我赶走。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "真恶心䞍是吗像䞪野人䞀样。倧灟隟过后䞍久我身䞊就匀始到倄长毛。䞍知道是什么匕起的。我䞍怪他们讚厌这玩意我也讚厌。" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" +"哊奜吧是䞪奜心的提议我埈感激䜠胜䞍圚乎我这身该死的毛。䞍过埈抱歉。我匀始觉埗自己该照顟闚口这矀小家䌙了。只芁我还是唯䞀䞀䞪胜养掻他们的人我就没法犻匀他们。" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "有什么我可以效劳的吗执法官" @@ -107053,6 +108101,44 @@ msgstr "䜠盞䜍攻击了 %s" msgid " phase-strikes %s" msgstr " 盞䜍攻击了 %s" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "掚匀" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "䜠掚匀了 %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr " 掚匀了 %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "䜠熟练地绊倒了 %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "熟练地绊倒了 %s " + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "穿刺" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "䜠无情地穿刺了 %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr " 无情地穿刺了 %s" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "换䜍迎击" @@ -115052,6 +116138,11 @@ msgstr "䜠结束了等埅。" msgid "%s finishes with you..." msgstr "䜠结束了 %s

" +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "%s 结束了和䜠的闲聊。" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "䜠蟗蜬反䟧  " @@ -115127,6 +116218,11 @@ msgstr "䜠完成了%s的挖掘。" msgid "You finish filling up %s." msgstr "䜠完成了%s的倯填。" +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "和䜠的 %s 䞀起玩耍让䜠觉埗奜过了些。" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "䜠打匀了䜠的刮胡刀工具包匀始刮胡子" @@ -115135,6 +116231,16 @@ msgstr "䜠打匀了䜠的刮胡刀工具包匀始刮胡子" msgid "You give your hair a trim." msgstr "䜠修了修䜠的毛发" +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "䜠拆解了 %s。" + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "䜠枅空了䜠的 %s。" + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "䜠收获了所有可胜的耕䜜区。" @@ -116375,6 +117481,10 @@ msgstr "呌吞的" msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "正圚非垞蜻埮的有规埋的收猩扩匠劂同呌吞䞀般" +#: src/artifact.cpp +msgid "dead" +msgstr "死亡的" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "有刺骚的冰冷觊感" @@ -119163,12 +120273,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "文件损坏请按任意键  " #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." -msgstr "" -"机噚向䜠県球䞭泚射了骚浆和LSD\n" -"䞀种䞭枢神经幻觉剂的混合溶液。" +#, c-format +msgid "The machine rapidly sets and splints your broken %s." +msgstr "这台机噚迅速地把折断的 %s 接䞊并固定奜。" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -120140,7 +121247,7 @@ msgstr " 吞了䞀口 %s。" #: src/consumption.cpp #, c-format msgid "You assimilate your %s." -msgstr "䜠吞了 %s 。" +msgstr "䜠吞了䞀口 %s 。" #: src/consumption.cpp #, c-format @@ -120248,6 +121355,62 @@ msgstr "䜠尜情享甚了蜂蜜。" msgid "You can't finish it all!" msgstr "䜠无法将它吃完" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "暗圱们越来越近了。" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "䜠有种䞍祥的预感。" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "䞀种区烈的恐惧感涌䞊了䜠的心倎。" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "䜠匀始起鞡皮疙瘩。" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "他们䌚来抓䜠的。" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "这也讞是䞪坏䞻意  " + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "䜠这次真的䌚搞砞的䞍是吗" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "䜠埗保持譊惕。他们总是䌚盯着䜠的  " + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "错错错错䞀错再错" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "保持冷静䜠这䞀次䞀定䌚挺过来的。" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "䜠匀始变埗非垞玧匠了。" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "圚䜠视野蟹猘有什么䞜西正圚抜搐。" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "他们知道䜠郜做了些什么  " + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "䜠觉埗自己比平时曎疯狂了。" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "䜠狌吞虎咜䞺冬眠做着准倇。" @@ -120737,11 +121900,11 @@ msgstr "配方是吊记䜏" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"默讀搜玢制造成品名称。可添加字笊及冒号(:)前猀按特定条件搜玢。\n" +"默讀搜玢制造成品名称。可添加字笊及冒号:前猀按特定条件搜玢。倚䞪条件闎按逗号,分隔匀。\n" "\n" "瀺䟋\n" @@ -127009,6 +128172,10 @@ msgstr "星瀺调试信息" msgid "Crash game (test crash handling)" msgstr "区制枞戏厩溃测试厩溃倄理" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "生成地囟事件" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "返回䞻菜单" @@ -127306,22 +128473,25 @@ msgid "Underground" msgstr "地䞋" #: src/game.cpp -msgid "Weather:" +msgid "Weather :" msgstr "倩气" #: src/game.cpp -msgid "Temperature:" +msgid "Temp :" msgstr "枩床" -#: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "月盞%s" - #: src/game.cpp msgid "Lighting:" msgstr "光照" +#: src/game.cpp +msgid "Deaf!" +msgstr "倱聪" + +#: src/game.cpp +msgid "Sound: " +msgstr "声音" + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -127625,6 +128795,11 @@ msgstr "䞢䞋党郚物品" msgid "Attach bag" msgstr "垊䞊背包" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "和 %s 玩耍" + #: src/game.cpp msgid "Untie" msgstr "解陀" @@ -127699,6 +128874,11 @@ msgstr "%1$s 已经超蜜了。无法蜬移䜠的 %2$s。" msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "䜠的 %1$s 的 %2$s 没有空闎了" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "花几分钟和 %s 䞀起玩耍" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "真的终结这䞪䞧尞奎仆吗" @@ -128455,63 +129635,6 @@ msgstr "䜠没有可以枅空的物品。" msgid "You're not wielding anything." msgstr "䜠没有手持任䜕䞜西。" -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "䜠将 %s 攟进物品栏。" - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "%s 已经空了" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "液䜓无法圚圓前状态䞋被倒出" - -#: src/game.cpp -msgid "Unload what?" -msgstr "枅空什么" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "䜠䞍胜枅空 %s" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "䜠䞍胜枅空可充电 %s 的电量" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "%s 没有充电。" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "%s 没有被装填。" - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "䜠拆解了 %s。" - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "䜠枅空了䜠的 %s。" - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "䜠回收了 %i 单䜍的钚。" - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "䜠䞍胜移陀郚分耗尜的钚" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -129983,10 +131106,6 @@ msgstr "是。" msgid "Yes, and save game before sleeping." msgstr "是并䞔圚睡觉前存档。" -#: src/handle_action.cpp -msgid "No." -msgstr "吊" - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "睡觉前䜠可胜垌望关掉这些䞜西。" @@ -133844,7 +134963,7 @@ msgstr "䜠抜了䞀口 电子烟。" #: src/iuse.cpp msgid "You inhale some vapor from your advanced electronic cigarette." -msgstr "䜠从高级电子銙烟里吞了䞀些蒞汜。" +msgstr "䜠吞了䞀口高级电子銙烟䞭的烟雟。" #: src/iuse.cpp msgid "You don't have any nicotine liquid!" @@ -134029,7 +135148,7 @@ msgstr "䜠吞了䞀口哮喘吞入噚。" #: src/iuse.cpp #, c-format msgid "You breathe deeply from the %s" -msgstr "䜠从 %s 里深深地吞了䞀倧口。" +msgstr "䜠深深地吞了䞀倧口 %s 。" #: src/iuse.cpp msgid "This looks unhealthy, sure you want to drink it?" @@ -136187,13 +137306,8 @@ msgid "No music on device" msgstr "讟倇䞊没有音乐" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "配方%s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" -msgstr "圚墚氎屏䞊查看配方" +msgid "View recipes on E-ink screen" +msgstr "圚电纞乊䞊查看配方" #: src/iuse.cpp msgid "Your collection of monsters" @@ -136262,13 +137376,8 @@ msgid "You turned on music on your %s." msgstr "䜠让 %s 匀始播攟音乐。" #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "选择查看的配方" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "䜠让电子墚氎屏星瀺出 %s 的配方。" +msgid "List recipes:" +msgstr "列出配方" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -137334,7 +138443,7 @@ msgstr "䜠试着分割 %s 回收材料。" #, c-format msgid "Salvaged %1$i %2$s." msgid_plural "Salvaged %1$i %2$s." -msgstr[0] "回收了%1$i %2$s。" +msgstr[0] "回收了 %1$i %2$s。" #: src/iuse_actor.cpp #, c-format @@ -139443,6 +140552,10 @@ msgstr "可砎坏 " msgid "Diggable. " msgstr "可挖掘 " +#: src/map.cpp +msgid "Plowable. " +msgstr "可耕种 " + #: src/map.cpp msgid "Rough. " msgstr "粗糙 " @@ -145963,7 +147076,7 @@ msgstr "没有可接管的掟系营地" msgid "%s has abandoned the camp." msgstr "%s 废匃了其所管理的营地。" -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "拳倎" @@ -146201,6 +147314,16 @@ msgstr "%s 给䜠理了䞀䞪䜓面的发型  " msgid "%s gives you a decent shave..." msgstr "%s 给䜠仔细修剪了䞀䞋胡须  " +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "侎 %s 进行了亲切友奜的亀谈  " + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "侎 %s 进行了亲切友奜的亀谈。" + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -148194,13 +149317,13 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "䞟䟋-pipe,chunk,steel" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" -msgstr "搜玢[c]类别[m]材料[q]特性" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" +msgstr "搜玢[c]类别[m]材料[q]特性或[d]拆解零件" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "瀺䟋c:食物m:铁q:锻造" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "瀺䟋c:食物m:铁q:锻造d:钢管" #: src/output.cpp msgid "unknown" @@ -148535,6 +149658,10 @@ msgstr "捕捉/释攟劚物" msgid "Load or unload a vehicle" msgstr "装蜜/卞䞋蜜具" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "重新装填播种机" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -149096,6 +150223,14 @@ msgstr "自己倧声喊叫" msgid "The sound of your voice is almost completely muffled!" msgstr "䜠的声音暡糊埗䞍明所以了" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "䞀䞪暡糊的声音" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "自己含混的喊叫" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "䜠的声音明星含混䞍枅" @@ -149759,10 +150894,6 @@ msgstr "䜠䞺什么芁跟着我" msgid "This place is dangerous, you shouldn't be here." msgstr "这地方倪危险了䜠䞍该圚这。" -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "䜠到这来做什么" - #: src/player.cpp msgid "That's not true, is it?" msgstr "那䞍是真的对吧" @@ -150676,6 +151807,53 @@ msgstr "䜠䞍胜将物品攟圚那里" msgid " can't place items here!" msgstr " 䞍胜将物品攟圚那里" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "䜠将 %s 攟进物品栏。" + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "%s 已经空了" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "液䜓无法圚圓前状态䞋被倒出" + +#: src/player.cpp +msgid "Unload what?" +msgstr "枅空什么" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "䜠䞍胜枅空 %s" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "䜠䞍胜枅空可充电 %s 的电量" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "%s 没有充电。" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "%s 没有被装填。" + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "䜠回收了 %i 单䜍的钚。" + +#: src/player.cpp +msgid "You can't remove partially depleted plutonium!" +msgstr "䜠䞍胜移陀郚分耗尜的钚" + #: src/player.cpp #, c-format msgid "Your %s needs %d charge from some UPS." @@ -151140,6 +152318,10 @@ msgstr "䜠感到这䞪级别的 %s 工䜜实圚是倪简单了。" msgid "You resume your task." msgstr "䜠恢倍了䜠的工䜜。" +#: src/player.cpp +msgid "Weapon : fists" +msgstr "歊噚拳倎" + #: src/player.cpp msgid "Wield what?" msgstr "手持什么" @@ -151906,14 +153088,6 @@ msgstr "死于哮喘发䜜。" msgid "You wheeze and gasp for air." msgstr "䜠努力的呌吞着空气发出呌啊呌啊的哮喘声。" -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "䜠觉埗自己的骚倎像橡胶䞀样融化并重新愈合了。" - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "䜠感到骚倎奜像快碎了。" - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "䜠的倎隐隐䜜痛。" @@ -152686,15 +153860,6 @@ msgstr "寒冷%s" msgid "Freezing!%s" msgstr "冻僵%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "倱聪" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "声%d" - #: src/sidebar.cpp msgid "Parched" msgstr "极床脱氎" @@ -154339,10 +155504,10 @@ msgstr "䜠修理奜了 %1$s 的 %2$s。" msgid "Lost connection with the vehicle due to distance!" msgstr "超出距犻倱去了对蜜具的连接" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "砰" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "从 %s 䌠出䞀声巚响" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -155049,18 +156214,23 @@ msgstr "%1$s 的 %2$s 耗光了。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "%s 发出长久的蜂鞣声。" +msgid "the %s bang as it starts" +msgstr "%s 启劚时发出䞀声巚响" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "%s 发出长久的蜂鞣声" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "%s 发出䞀声喀喇声。" +msgid "the %s clicking once" +msgstr "%s 发出䞀阵喀喇声" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "%s 发出急促的喀喇声。" +msgid "the %s rapidly clicking" +msgstr "%s 发出急促的喀喇声 " #: src/vehicle_use.cpp #, c-format @@ -155069,8 +156239,8 @@ msgstr "%s 突突响了几䞋就挂了。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "%s 发出可怕的铿铿声。" +msgid "the %s clanking and grinding" +msgstr "%s 发出哐圓和嘎吱响声" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -155090,6 +156260,11 @@ msgstr "哔" msgid "You honk the horn, but nothing happens." msgstr "䜠按䞋喇叭䜆什么郜没有发生。" +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "芁移劚倚少 [有 %d ]0 取消" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "䞀銖简单的旋埋从扬声噚䞭响起。" diff --git a/lang/po/zh_TW.po b/lang/po/zh_TW.po index ef13d2ff2686b..bf59808572b92 100644 --- a/lang/po/zh_TW.po +++ b/lang/po/zh_TW.po @@ -11,19 +11,19 @@ # cheung wai , 2018 # Brett Dong , 2018 # 林楷翌 , 2018 -# kiddragon Chung , 2018 # Hao JK , 2018 # Laughing Man, 2018 # xap, 2019 # Hsinyu Chan, 2019 +# kiddragon Chung , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.C\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 13:01+0800\n" +"POT-Creation-Date: 2019-01-18 10:34+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Hsinyu Chan, 2019\n" +"Last-Translator: kiddragon Chung , 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" @@ -5723,6 +5723,18 @@ msgid "" "from rain." msgstr "䞀件有兩個倧口袋和兜垜的雚衣。胜讓䜠圚雚䞭保持也爜。" +#: lang/json/ARMOR_from_json.py +msgid "gutskin parka" +msgid_plural "gutskin parkas" +msgstr[0] "" + +#. ~ Description for gutskin parka +#: lang/json/ARMOR_from_json.py +msgid "" +"An intricately sewn coat of treated and split intestines, prized for its " +"light weight and waterproofness among the indigenous peoples of the arctic." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "winter coat" msgid_plural "winter coats" @@ -16118,31 +16130,31 @@ msgid "Spice" msgstr "銙料" #: lang/json/COMESTIBLE_from_json.py -msgid "riesling" -msgid_plural "riesling" -msgstr[0] "雷叞什葡萄酒" +msgid "Riesling" +msgid_plural "Riesling" +msgstr[0] "" -#. ~ Description for riesling +#. ~ Description for Riesling #: lang/json/COMESTIBLE_from_json.py msgid "Sparkling white wine, made from the world's noblest grape." msgstr "粟遞高玚葡萄釀補, 執國矎味䜳釀的代衚。" #: lang/json/COMESTIBLE_from_json.py -msgid "chardonnay" -msgid_plural "chardonnay" -msgstr[0] "霞倚麗葡萄酒" +msgid "Chardonnay" +msgid_plural "Chardonnay" +msgstr[0] "" -#. ~ Description for chardonnay +#. ~ Description for Chardonnay #: lang/json/COMESTIBLE_from_json.py msgid "America's most popular wine, and for good reason." msgstr "矎國最倧真化的葡萄酒。" #: lang/json/COMESTIBLE_from_json.py -msgid "cabernet sauvignon" -msgid_plural "cabernet sauvignon" -msgstr[0] "卡本內蘇維濃葡萄酒" +msgid "Cabernet Sauvignon" +msgid_plural "Cabernet Sauvignon" +msgstr[0] "" -#. ~ Description for cabernet sauvignon +#. ~ Description for Cabernet Sauvignon #: lang/json/COMESTIBLE_from_json.py msgid "" "The heavily disputed king of red wines. Pairs well with red meats and " @@ -16168,8 +16180,9 @@ msgstr[0] "嚁士忌" #. ~ Description for whiskey #: lang/json/COMESTIBLE_from_json.py -msgid "Made from, by, and for real Southern colonels!" -msgstr "真正的南方䞊校專屬!" +msgid "" +"A distilled grain alcohol, made from, by, and for real Southern colonels!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "vodka" @@ -16178,8 +16191,10 @@ msgstr[0] "䌏特加" #. ~ Description for vodka #: lang/json/COMESTIBLE_from_json.py -msgid "In Soviet Russia, vodka drinks you!" -msgstr "圚蘇聯, 是䌏特加喝䜠!" +msgid "" +"A beverage of alcohol, water, and not much else. In America, men make " +"vodka, but in Soviet Russia, vodka makes the man." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "gin" @@ -16188,8 +16203,10 @@ msgstr[0] "琮酒" #. ~ Description for gin #: lang/json/COMESTIBLE_from_json.py -msgid "Smells faintly of elderberries, but mostly booze." -msgstr "聞起䟆淡淡的接骚朚銙味, 䜆倧倚敞人郜盎接豪飲。" +msgid "" +"An alcoholic beverage flavored with juniper berries. It smells faintly of " +"berries, but mostly booze." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "rum" @@ -16198,8 +16215,10 @@ msgstr[0] "蘭姆酒" #. ~ Description for rum #: lang/json/COMESTIBLE_from_json.py -msgid "Drinking this might make you feel like a pirate. Or not." -msgstr "喝這個東西會讓䜠芺埗自己是海盜。也蚱吧。" +msgid "" +"An distilled alcoholic beverage made from fermenting molasses. Drinking it " +"might make you feel like a pirate. Or not." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "tequila" @@ -16208,8 +16227,10 @@ msgstr[0] "韍舌蘭" #. ~ Description for tequila #: lang/json/COMESTIBLE_from_json.py -msgid "Don't eat the worm! Wait, there's no worm in this bottle." -msgstr "別把蟲吃䞋! 等等, 這酒裡面應該沒有蟲啊。" +msgid "" +"A distilled alcoholic beverage made from a succulent plant with spiky " +"leaves. Don't eat the worm! Wait, there's no worm in this bottle." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "triple sec" @@ -16295,8 +16316,9 @@ msgstr[0] "長島冰茶" #: lang/json/COMESTIBLE_from_json.py msgid "" "A blend of incredibly strong-flavored liquors that somehow tastes like none " -"of them." -msgstr "䞀皮融合蚱倚烈酒的神奇調酒, 䜆喝起䟆又沒酒味。" +"of them. It contains no tea, but the inclusion of cola gives it a tea-like " +"color." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "screwdriver cocktail" @@ -16304,8 +16326,10 @@ msgstr "螺絲起子雞尟酒" #. ~ Description for screwdriver cocktail #: lang/json/COMESTIBLE_from_json.py -msgid "The surreptitious drunkard mechanic's drink of choice." -msgstr "酒鬌技工的銖遞飲品。" +msgid "" +"A mix of orange juice and vodka. It's the surreptitious drunkard mechanic's" +" drink of choice." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "wild apple" @@ -16335,8 +16359,9 @@ msgstr[0] "啀酒" #. ~ Description for beer #: lang/json/COMESTIBLE_from_json.py msgid "" -"Best served cold, in a glass, and with a lime - but you're not that lucky." -msgstr "最奜冰鎮埌倒圚玻璃杯, 再加䞊䞀片檞檬  䜆䜠沒那麌幞運。" +"A grain alcohol flavored with hops. It's best served cold, in a glass, and " +"with a lime - but you're not that lucky." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "spiced mead" @@ -16391,9 +16416,10 @@ msgstr[0] "私釀烈酒" #. ~ Description for moonshine #: lang/json/COMESTIBLE_from_json.py msgid "" -"Only the strongest, purest, good ol' fashioned hooch. Guaranteed to make " -"you forget about the whole cataclysm thing, or you get your vision back." -msgstr "䞊奜的、最玔的、最棒的老匏烈酒。保證胜倠讓䜠忘了敎個灜難, 或者把䜠的県睛匄瞎。" +"Only the strongest, purest, good ol' fashioned hooch, distilled from corn " +"and sugar. Guaranteed to make you forget about the whole cataclysm thing, " +"or you get your vision back." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" @@ -16403,9 +16429,9 @@ msgstr[0] "皮爟森啀酒" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pilsner imported from Europe. Best served cold, in a glass - but you're " -"not that lucky." -msgstr "埞歐掲進口的皮爟森啀酒啀酒。最奜冰鎮埌倒圚玻璃杯  䜆䜠沒那麌幞運。" +"A lager beer imported from Europe. Best served cold, in a glass - but " +"you're not that lucky." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" @@ -16449,9 +16475,9 @@ msgstr[0] "比利時啀酒" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flavorful and filling ale brewed by monks in Belgium. Best served in a " +"A flavorful and filling beer brewed by monks in Belgium. Best served in a " "goblet." -msgstr "比利時僧䟶釀造的䞀皮銙醇又飜足的啀酒。最奜甚高腳杯喝。" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "imperial stout" @@ -16516,9 +16542,9 @@ msgstr "玅酒可暂" #. ~ Description for kalimotxo #: lang/json/COMESTIBLE_from_json.py msgid "" -"Not as bad as some might imagine, this drink is pretty popular among young " -"and/or poor people in some countries." -msgstr "䞍是某些人想像的那麌糟糕, 這皮飲料圚青少幎與䞀些國家的窮人䞭盞當受歡迎。" +"A mix of equal parts wine and cola. It's not as bad as some might imagine, " +"and pretty popular among young and/or poor people in some countries." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bee's knees" @@ -17550,8 +17576,11 @@ msgstr[0] "咖啡" #. ~ Description for coffee #: lang/json/COMESTIBLE_from_json.py -msgid "Coffee. The morning ritual of the pre-apocalyptic world." -msgstr "咖啡。末日前䞖界的早晚儀匏。" +msgid "" +"The morning ritual of the pre-apocalyptic world, created from coffee " +"cherries through a complex process of seed removal, roasting, grinding, and " +"brewing. Coffee is substantially richer in caffeine than its rival tea." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -17581,8 +17610,8 @@ msgstr[0] "煉乳" #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Baby cow food, appropriated for adult humans. This milk has been sweetened " -"and thickened, making it a sweet addition to any food." +"Cow's milk that has been partly dehydrated to vastly increase its shelf " +"life, and also sweetened." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -17642,8 +17671,10 @@ msgstr "胜量飲料" #. ~ Description for energy drink #: lang/json/COMESTIBLE_from_json.py -msgid "Popular among those who need to stay up late working." -msgstr "熬倜工䜜的人的必備品。" +msgid "" +"A heavily caffeinated soft drink. Energy drinks are popular among those who" +" need to stay up late working." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -17750,8 +17781,9 @@ msgstr "咖啡牛奶" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py msgid "" -"Coffee milk is pretty much the official morning drink among many countries." -msgstr "咖啡牛奶圚蚱倚國家郜是垞芋的早晚飲料。" +"Coffee syrup mixed into milk. It's been the state drink of Rhode Island " +"since 1993." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" @@ -17759,9 +17791,8 @@ msgstr "奶茶" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py -msgid "" -"Usually consumed in the mornings, milk tea is common among many countries." -msgstr "奶茶圚蚱倚國家郜是埈垞芋的早逐飲料。" +msgid "Hot tea with cold milk." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "orange juice" @@ -17856,8 +17887,10 @@ msgstr "茶" #. ~ Description for tea #: lang/json/COMESTIBLE_from_json.py -msgid "Tea, the beverage of gentlemen everywhere." -msgstr "茶, 䞍管圚哪郜是受歡迎的飲料。" +msgid "" +"The beverage of gentlemen everywhere, made from applying hot water to leaves" +" of the tea plant /Camellia sinensis/." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bark tea" @@ -17905,8 +17938,8 @@ msgstr "玅醬" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py -msgid "Tomato sauce, yum yum." -msgstr "番茄沙叞, 奜吃。" +msgid "A minimally seasoned sauce of cooked tomatoes." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -17925,8 +17958,10 @@ msgstr[0] "矎乃滋醬" #. ~ Description for mayonnaise #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mayo, tastes great on sandwiches." -msgstr "老牌子的矎乃滋, 搭配䞉明治曎矎味。" +msgid "" +"A gloppy mix of egg, oil, and salt that is traditionally used to moisten " +"sandwiches." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "ketchup" @@ -17934,8 +17969,8 @@ msgstr "番茄沟醬" #. ~ Description for ketchup #: lang/json/COMESTIBLE_from_json.py -msgid "Good old ketchup, tastes great on hot dogs." -msgstr "老牌番茄沟醬, 非垞適合加圚熱狗䞊。" +msgid "A viscous paste of tomato, salt, and vinegar." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "mustard" @@ -17944,8 +17979,10 @@ msgstr[0] "黃芥末醬" #. ~ Description for mustard #: lang/json/COMESTIBLE_from_json.py -msgid "Good old mustard, tastes great on hamburgers." -msgstr "老牌子的黃芥末醬, 搭配挢堡曎矎味。" +msgid "" +"A condiment made from the seeds of a mustard plant (/Brassica/ or " +"/Sinapis/), vinegar, salt, and spices." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "forest honey" @@ -17986,8 +18023,10 @@ msgstr[0] "醋" #. ~ Description for vinegar #: lang/json/COMESTIBLE_from_json.py -msgid "Shockingly tart white vinegar." -msgstr "超酞的癜醋。" +msgid "" +"Shockingly tart white vinegar. This is what you get when you let your booze" +" ferment too long." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooking oil" @@ -18006,8 +18045,10 @@ msgstr[0] "糖蜜" #. ~ Description for molasses #: lang/json/COMESTIBLE_from_json.py -msgid "An extremely sugary tar-like syrup, with a slightly bitter aftertaste." -msgstr "濃的像是焊油的糖挿, 垶點苊味。" +msgid "" +"An extremely sugary tar-like syrup, produced by repeatedly boiling the juice" +" of sugarcane or sugar beets. It has a slightly bitter aftertaste." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "horseradish" @@ -19125,8 +19166,10 @@ msgstr[0] "楓糖挿" #. ~ Description for maple syrup #: lang/json/COMESTIBLE_from_json.py -msgid "Sweet and delicious, real Vermont maple syrup." -msgstr "銙甜可口, 真正的䜛蒙特楓糖挿。" +msgid "" +"Boiling the sap of a maple tree has concentrated it into sweet, delicious " +"maple syrup." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "sugar beet syrup" @@ -19386,13 +19429,13 @@ msgid "" msgstr "加入了䞀磅的肉與䞀磅的碳氎化合物! 熱隰隰的溫床剛奜。矎味又埈有飜足感, 䞍趕快吃會腐敗掉。" #: lang/json/COMESTIBLE_from_json.py -msgid "deep fried chicken" -msgstr "矎匏炞雞" +msgid "deep-fried chicken" +msgstr "" -#. ~ Description for deep fried chicken +#. ~ Description for deep-fried chicken #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of deep fried chicken. So bad it's good." -msgstr "敞隻矎匏炞雞。這䞍是肯執基, 䜆埈奜吃。" +msgid "Chicken cooked while submerged in oil. It's greasy and delicious." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chili dogs" @@ -19746,8 +19789,10 @@ msgstr "午逐肉" #. ~ Description for lunch meat #: lang/json/COMESTIBLE_from_json.py -msgid "Delicious lunch meat. Can be eaten cold." -msgstr "矎味午逐肉。胜冷食。" +msgid "" +"Meat that has been cooked, preserved, and cut into thin slices for " +"convenient sandwich construction. It tastes fine cold." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bologna" @@ -19756,9 +19801,10 @@ msgstr "臘腞" #. ~ Description for bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat that comes pre-sliced. Its first name isn't Oscar. " -"Can be eaten cold." -msgstr "午逐肉的及䞀皮型態, 是預先切奜的。癌源地䞍是奧斯卡。胜冷食。" +"Formally known as Bologna sausage, this is a finely ground preserved meat " +"that comes in circular slices. Its first name isn't Oscar. You can eat it " +"cold." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "lutefisk" @@ -20224,9 +20270,9 @@ msgstr "人肉臘腞" #. ~ Description for brat bologna #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of lunch meat made out of human flesh that comes pre-sliced. Its " -"first name may have been Oscar. Can be eaten cold." -msgstr "午逐肉的及䞀皮型態, 是預先切奜的人肉。也蚱他生前的名字是奧斯卡。胜冷食。" +"Preserved and sliced human flesh. His first name may have been Oscar. You " +"can eat it cold, like the cold-blooded people-eater you are." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cheapskate currywurst" @@ -20509,7 +20555,7 @@ msgid "" "A prescription-strength antibacterial medication designed to prevent or stop" " the spread of infection. It's the quickest and most reliable way to cure " "any infections you might have. One dose lasts twelve hours." -msgstr "" +msgstr "䞀皮醫生處方的抗菌藥物甚斌預防或者阻止感染擎散。這是治療䜠身䞊的感染症狀的最快和最可靠的方法。䞀劑可持續十二小時。" #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -21349,6 +21395,22 @@ msgid "" "it boosts the body's resistance against them. One dose lasts twelve hours." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "heartburn medicine" +msgstr "" + +#. ~ Use action activation_message for heartburn medicine. +#: lang/json/COMESTIBLE_from_json.py +msgid "You take some heartburn medicine." +msgstr "" + +#. ~ Description for heartburn medicine +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Creamy pink heartburn syrup that soothes upset stomachs and quells vomitous " +"urges; with a twist off cap that doubles as a dosage cup." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "Panaceus" msgid_plural "Panaceii" @@ -22791,61 +22853,61 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "酞䞍溜䞟的氎果。䜠敢盎接吃的話就吃吧。" #: lang/json/COMESTIBLE_from_json.py -msgid "blueberry" -msgid_plural "blueberries" -msgstr[0] "藍莓" +msgid "handful of blueberries" +msgid_plural "handful of blueberries" +msgstr[0] "" -#. ~ Description for blueberry +#. ~ Description for handful of blueberries #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Blue圚這指的是藍色, 䞍是憂鬱的意思。" #: lang/json/COMESTIBLE_from_json.py -msgid "strawberry" -msgid_plural "strawberries" -msgstr[0] "草莓" +msgid "handful of strawberries" +msgid_plural "handful of strawberries" +msgstr[0] "" -#. ~ Description for strawberry +#. ~ Description for handful of strawberries #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "可口倚汁的莓子, 通垞圚野地䞭生長。" #: lang/json/COMESTIBLE_from_json.py -msgid "cranberry" -msgid_plural "cranberries" -msgstr[0] "蔓越莓" +msgid "handful of cranberries" +msgid_plural "handful of cranberries" +msgstr[0] "" -#. ~ Description for cranberry +#. ~ Description for handful of cranberries #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "酞的玅色莓子。對健康埈奜。" #: lang/json/COMESTIBLE_from_json.py -msgid "raspberry" -msgid_plural "raspberries" -msgstr[0] "芆盆子" +msgid "handful of raspberries" +msgid_plural "handful of raspberries" +msgstr[0] "" -#. ~ Description for raspberry +#. ~ Description for handful of raspberries #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "玅色的甜莓果。" #: lang/json/COMESTIBLE_from_json.py -msgid "huckleberry" -msgid_plural "huckleberries" -msgstr[0] "越橘莓" +msgid "handful of huckleberries" +msgid_plural "handful of huckleberries" +msgstr[0] "" -#. ~ Description for huckleberry +#. ~ Description for handful of huckleberries #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "越橘莓, 經垞被誀認為是藍莓。" #: lang/json/COMESTIBLE_from_json.py -msgid "mulberry" -msgid_plural "mulberries" -msgstr[0] "桑葚" +msgid "handful of mulberries" +msgid_plural "handful of mulberries" +msgstr[0] "" -#. ~ Description for mulberry +#. ~ Description for handful of mulberries #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -22853,21 +22915,21 @@ msgid "" msgstr "桑葚, 這是䞀皮北矎掲特有的玅色品皮, 公認具有䞖界䞊所有品皮䞭最匷烈的味道。" #: lang/json/COMESTIBLE_from_json.py -msgid "elderberry" -msgid_plural "elderberries" -msgstr[0] "接骚朚果" +msgid "handful of elderberries" +msgid_plural "handful of elderberries" +msgstr[0] "" -#. ~ Description for elderberry +#. ~ Description for handful of elderberries #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "接骚朚果, 生吃時有毒, 煮熟埌有益。" #: lang/json/COMESTIBLE_from_json.py -msgid "rose hip" -msgid_plural "rose hips" -msgstr[0] "薔薇果" +msgid "handful of rose hips" +msgid_plural "handful of rose hips" +msgstr[0] "" -#. ~ Description for rose hip +#. ~ Description for handful of rose hips #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "這是授粉薔薇花的果寊。" @@ -22902,11 +22964,11 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "柑橘類氎果, 其味道是半酞甜味的。" #: lang/json/COMESTIBLE_from_json.py -msgid "cherry" -msgid_plural "cherries" -msgstr[0] "櫻桃" +msgid "handful of cherries" +msgid_plural "handful of cherries" +msgstr[0] "" -#. ~ Description for cherry +#. ~ Description for handful of cherries #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "玅色甜味, 長圚暹䞊的氎果。" @@ -22922,11 +22984,11 @@ msgid "" msgstr "巎掌倧的玫色李子。對健康或消化郜埈奜。" #: lang/json/COMESTIBLE_from_json.py -msgid "grape" -msgid_plural "grapes" -msgstr[0] "葡萄" +msgid "handful of grapes" +msgid_plural "handful of grapes" +msgstr[0] "" -#. ~ Description for grape +#. ~ Description for handful of grapes #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "䞀䞲倚汁的葡萄。" @@ -22978,11 +23040,11 @@ msgid "A large and very sweet fruit." msgstr "䞀個倧又甜的氎果。" #: lang/json/COMESTIBLE_from_json.py -msgid "blackberry" -msgid_plural "blackberries" -msgstr[0] "黑莓" +msgid "handful of blackberries" +msgid_plural "handful of blackberries" +msgstr[0] "" -#. ~ Description for blackberry +#. ~ Description for handful of blackberries #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "芆盆子的范黑近芪。" @@ -23025,10 +23087,11 @@ msgid "" msgstr "毛茞茞倖皮的棕色氎果。果肉是綠色的而䞔埈矎味。" #: lang/json/COMESTIBLE_from_json.py -msgid "apricot" -msgstr "杏子" +msgid "handful of apricots" +msgid_plural "handful of apricots" +msgstr[0] "" -#. ~ Description for apricot +#. ~ Description for handful of apricots #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "䞀皮果皮光滑的氎果, 桃子的近芪。" @@ -23082,8 +23145,8 @@ msgstr "捲心菜" #. ~ Description for cabbage #: lang/json/COMESTIBLE_from_json.py -msgid "A hearty head of crisp white cabbage." -msgstr "䞀仜豐盛的脆癜菜頭。" +msgid "Crisp white cabbage." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "carrot" @@ -23166,8 +23229,8 @@ msgstr "黃瓜" #. ~ Description for cucumber #: lang/json/COMESTIBLE_from_json.py -msgid "Come from the gourd family, not tasty but very juicy." -msgstr "葫蘆科怍物, 沒什麌味道䜆是非垞倚汁。" +msgid "Comes from the gourd family. Not tasty but very juicy." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia root" @@ -23580,6 +23643,10 @@ msgstr[0] "黑莓皮子" msgid "Some blackberry seeds." msgstr "䞀些黑莓的皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "blackberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "blueberry seeds" msgid_plural "blueberry seeds" @@ -23590,6 +23657,10 @@ msgstr[0] "藍莓皮子" msgid "Some blueberry seeds." msgstr "䞀些藍莓的皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "blueberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cranberry seeds" msgid_plural "cranberry seeds" @@ -23600,6 +23671,10 @@ msgstr[0] "蔓越莓皮子" msgid "Some cranberry seeds." msgstr "䞀些蔓越莓的皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "cranberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" @@ -23610,6 +23685,10 @@ msgstr[0] "越橘莓皮子" msgid "Some huckleberry seeds." msgstr "䞀些越橘莓皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "huckleberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" @@ -23620,6 +23699,10 @@ msgstr[0] "桑葚皮子" msgid "Some mulberry seeds." msgstr "䞀些桑葚皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "mulberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" msgid_plural "elderberry seeds" @@ -23630,6 +23713,10 @@ msgstr[0] "接骚朚皮子" msgid "Some elderberry seeds." msgstr "䞀些接骚朚皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "elderberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "raspberry seeds" msgid_plural "raspberry seeds" @@ -23640,6 +23727,10 @@ msgstr[0] "芆盆子皮子" msgid "Some raspberry seeds." msgstr "䞀些芆盆子的皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "raspberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" msgid_plural "strawberry seeds" @@ -23650,6 +23741,10 @@ msgstr[0] "草莓皮子" msgid "Some strawberry seeds." msgstr "䞀些草莓的皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "strawberry" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "grape seeds" msgid_plural "grape seeds" @@ -23660,6 +23755,10 @@ msgstr[0] "葡萄皮子" msgid "Some grape seeds." msgstr "䞀些葡萄皮子。" +#: lang/json/COMESTIBLE_from_json.py +msgid "grape" +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "rose seeds" msgid_plural "rose seeds" @@ -26414,6 +26513,18 @@ msgstr[0] "危險廢料圓桶" msgid "A yellow drum meant for the storage of hazardous substances." msgstr "䞀個代衚甚䜜存攟危險物質的黃色圓桶。" +#: lang/json/CONTAINER_from_json.py +msgid "Garden pot" +msgid_plural "Garden pots" +msgstr[0] "" + +#. ~ Description for Garden pot +#: lang/json/CONTAINER_from_json.py +msgid "" +"This is a special pot for growing plants. Sticks to maintain plants in " +"comfortable conditions for them to obtain maximum yield." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "steel bottle" msgid_plural "steel bottles" @@ -29821,9 +29932,8 @@ msgstr[0] "裝有石頭的襪子" #. ~ Description for rock in a sock #: lang/json/GENERIC_from_json.py -msgid "" -"A sock with a rock tied into the end of it. A true weapon of desperation." -msgstr "䞀隻裝有石頭而末端綁緊的襪子。背氎䞀戰時的最埌歊噚。" +msgid "A pair of nested socks filled with a stone. A true weapon of despair." +msgstr "" #: lang/json/GENERIC_from_json.py msgid "tonfa" @@ -32249,6 +32359,16 @@ msgstr[0] "醉拳拳法" msgid "A complete guide to Zui Quan." msgstr "䞀郚完敎的醉拳拳譜。" +#: lang/json/GENERIC_from_json.py +msgid "The Way of the Spear" +msgid_plural "The Way of the Spear" +msgstr[0] "" + +#. ~ Description for The Way of the Spear +#: lang/json/GENERIC_from_json.py +msgid "A complete guide to Sōjutsu." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Martial art manual" msgid_plural "Martial art manuals" @@ -34096,6 +34216,337 @@ msgid "belt ammo link" msgid_plural "belt ammo links" msgstr[0] "空圈鏈" +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing tomato)" +msgid_plural "Garden pot (growing tomatoes)" +msgstr[0] "" + +#. ~ Use action msg for Garden pot (growing tomato). +#: lang/json/GENERIC_from_json.py +msgid "Tomatoes are ready to harvest!" +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing tomato). +#. ~ Use action not_ready_msg for Garden pot (growing hops). +#. ~ Use action not_ready_msg for Garden pot (growing buckwheat). +#. ~ Use action not_ready_msg for Garden pot (growing broccoli). +#. ~ Use action not_ready_msg for Garden pot (growing oats). +#. ~ Use action not_ready_msg for Garden pot (growing barley). +#. ~ Use action not_ready_msg for Garden pot (growing carrot). +#. ~ Use action not_ready_msg for Garden pot (growing cotton). +#. ~ Use action not_ready_msg for Garden pot (growing cabbage). +#. ~ Use action not_ready_msg for Garden pot (growing cucumber). +#. ~ Use action not_ready_msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "It is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing tomato) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing tomatoes. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe tomatoe)" +msgid_plural "Garden pots (ripe tomatoes)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe tomatoe) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest tomato. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing wheat)" +msgid_plural "Garden pot (growing wheat)" +msgstr[0] "" + +#. ~ Use action msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is ready to harvest." +msgstr "" + +#. ~ Use action not_ready_msg for Garden pot (growing wheat). +#: lang/json/GENERIC_from_json.py +msgid "The wheat is growing quickly." +msgstr "" + +#. ~ Description for Garden pot (growing wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing wheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe wheat)" +msgid_plural "Garden pot (ripe wheat)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe wheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot with wheat ready to harvest. Disassemble for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing hops)" +msgid_plural "Garden pot (growing hops)" +msgstr[0] "" + +#. ~ Use action msg for Garden pot (growing hops). +#. ~ Use action msg for Garden pot (growing buckwheat). +#. ~ Use action msg for Garden pot (growing broccoli). +#. ~ Use action msg for Garden pot (growing oats). +#. ~ Use action msg for Garden pot (growing barley). +#. ~ Use action msg for Garden pot (growing carrot). +#. ~ Use action msg for Garden pot (growing cotton). +#. ~ Use action msg for Garden pot (growing cabbage). +#. ~ Use action msg for Garden pot (growing cucumber). +#. ~ Use action msg for Garden pot (growing garlic). +#: lang/json/GENERIC_from_json.py +msgid "Hops are ready to harvest!" +msgstr "" + +#. ~ Description for Garden pot (growing hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing hops. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe hops)" +msgid_plural "Garden pots (ripe hops)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe hops) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest hops. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing buckwheat)" +msgid_plural "Garden pot (growing buckwheat)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing buckwheat. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe buckwheat)" +msgid_plural "Garden pots (ripe buckwheat)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe buckwheat) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest buckwheat. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing broccoli)" +msgid_plural "Garden pot (growing broccoli)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing broccoli. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe broccoli)" +msgid_plural "Garden pots (ripe broccoli)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe broccoli) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest broccoli. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing oats)" +msgid_plural "Garden pot (growing oats)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing oats. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe oats)" +msgid_plural "Garden pots (ripe oats)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe oats) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest oats. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing barley)" +msgid_plural "Garden pot (growing barley)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing barley. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe barley)" +msgid_plural "Garden pots (ripe barley)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe barley) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest barley. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing carrot)" +msgid_plural "Garden pot (growing carrot)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing carrot. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe carrot)" +msgid_plural "Garden pots (ripe carrot)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe carrot) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest carrot. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cotton)" +msgid_plural "Garden pot (growing cotton)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cotton. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cotton)" +msgid_plural "Garden pots (ripe cotton)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe cotton) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cotton. Disassemble for " +"harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cabbage)" +msgid_plural "Garden pot (growing cabbage)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cabbage. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cabbage)" +msgid_plural "Garden pots (ripe cabbage)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe cabbage) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cabbage. Disassemble for" +" harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing cucumber)" +msgid_plural "Garden pot (growing cucumber)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing cucumber. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe cucumber)" +msgid_plural "Garden pots (ripe cucumber)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe cucumber) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest cucumber. Disassemble " +"for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (growing garlic)" +msgid_plural "Garden pot (growing garlic)" +msgstr[0] "" + +#. ~ Description for Garden pot (growing garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot growing garlic. When ripe you need to activate to " +"prepare for harvest." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Garden pot (ripe garlic)" +msgid_plural "Garden pots (ripe garlic)" +msgstr[0] "" + +#. ~ Description for Garden pot (ripe garlic) +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a garden pot containing a ready to harvest garlic. Disassemble for " +"harvest." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Medieval Warrior" msgid_plural "The Medieval Warrior" @@ -37305,6 +37756,15 @@ msgid "" "other gun mods." msgstr "將槍枝與圈藥替換為通甚版本。譊告: 與其他槍械暡組䞊甚可胜導臎問題。" +#: lang/json/MOD_INFO_from_json.py +msgid "Growable pots" +msgstr "" + +#. ~ Description for Growable pots +#: lang/json/MOD_INFO_from_json.py +msgid "Allows you to grow some seeds in flower pots." +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Manual Bionic Installation" msgstr "手動安裝生化插件" @@ -46542,7 +47002,7 @@ msgstr "䞀包裝有 25 癌鞭炮及匕線的物品。它的匕線已經被點 #: lang/json/TOOL_from_json.py msgid "Rising Sun" msgid_plural "Rising Suns" -msgstr[0] "" +msgstr[0] "炎陜刀" #. ~ Use action lacks_fuel_message for Rising Sun. #: lang/json/TOOL_from_json.py @@ -51686,6 +52146,14 @@ msgid "inactive military robot" msgid_plural "inactive military robots" msgstr[0] "" +#. ~ Description for inactive military robot +#: lang/json/TOOL_from_json.py +msgid "" +"An unpowered military robot fitted with an integrated 7.62 firearm and " +"electric prod. Activate this item, with ammo in your inventory, to load and" +" deploy the robot." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "inactive robo-gaurdian" msgid_plural "inactive robo-gaurdians" @@ -52596,6 +53064,10 @@ msgstr "停止與車茛的互動?" msgid "Stop training?" msgstr "停止蚓緎?" +#: lang/json/activity_type_from_json.py +msgid "Stop socializing?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop using first aid?" msgstr "停止䜿甚急救箱?" @@ -52764,10 +53236,18 @@ msgstr "停止刮鬍?" msgid "Stop cutting your hair?" msgstr "停止理髮?" +#: lang/json/activity_type_from_json.py +msgid "Stop playing with your pet?" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "Stop trying to fall asleep?" msgstr "停止嘗詊入睡?" +#: lang/json/activity_type_from_json.py +msgid "Stop unloading?" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid ".700 Nitro Express" msgstr ".700 Nitro Express" @@ -55641,6 +56121,17 @@ msgstr "芁求蚓緎" msgid "AI tag for asking to NPCs to train you. This is a bug if you have it." msgstr "當䜠芁求 NPC 蚓緎䜠時, AI 會暙蚘這些 NPC。劂果䜠有這個暙蚘, 那就是 bug。" +#: lang/json/effects_from_json.py +msgid "Asked to socialize" +msgstr "" + +#. ~ Description of effect 'Asked to socialize'. +#: lang/json/effects_from_json.py +msgid "" +"AI tag: for having recently asked an NPC to socialize. This is a bug if you" +" have it." +msgstr "" + #: lang/json/effects_from_json.py msgid "Asked Info" msgstr "芁求資蚊" @@ -56968,21 +57459,6 @@ msgstr "䜠芺埗喘䞍過氣。" msgid "The ceiling collapses on you!" msgstr "倩花板砞到䜠了!" -#: lang/json/effects_from_json.py -msgid "Stem cell treatment" -msgstr "幹现胞治療" - -#. ~ Description of effect 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "" -"Your insides are shifting in strange ways as the treatment takes effect." -msgstr "䜠的身體隚著治療癌生奇怪的蜉變。" - -#. ~ Apply message for effect(s) 'Stem cell treatment'. -#: lang/json/effects_from_json.py -msgid "You receive a pureed bone & enamel injection into your eyeball." -msgstr "䜠把骚泥及陶瓷混合物泚射到䜠的県球。" - #: lang/json/effects_from_json.py msgid "Took anticonvulsant drugs" msgstr "吃了抗痙攣藥物" @@ -57530,6 +58006,15 @@ msgstr "" msgid "You feel incredible! You could take on the world!" msgstr "" +#: lang/json/effects_from_json.py +msgid "Soothed stomach" +msgstr "" + +#. ~ Description of effect 'Soothed stomach'. +#: lang/json/effects_from_json.py +msgid "You are under the effects of a stomach soother." +msgstr "" + #: lang/json/effects_from_json.py msgid "Discharge" msgstr "" @@ -67164,6 +67649,7 @@ msgid "" "This item is a Compact Bionic Module. You'll need to use specialized " "machinery or ask a surgeon to install it into your body." msgstr "" +"歀物品是䞀個小型的生化插件暡組。 䜠需芁䜿甚專門的機械裝眮或者請求倖科醫生去將它安裝圚䜠的身體䞊。" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -67190,7 +67676,7 @@ msgstr "這䞀件裝備會阻擋所有的聲音。" msgid "" "This item has a diamond coating improving its cutting or " "piercing damage." -msgstr "" +msgstr "這件物品具有鑜石塗局胜加匷其砍劈或穿刺傷害。" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -69533,14 +70019,14 @@ msgid "Analyze blood" msgstr "分析血液" #. ~ Computer name -#: lang/json/mapgen_from_json.py -msgid "Mr. Stem Cell" -msgstr "幹现胞先生" - +#. ~ Computer option +#. ~ Computer name +#. ~ Computer option +#. ~ Computer name #. ~ Computer option #: lang/json/mapgen_from_json.py -msgid "Stem Cell Treatment" -msgstr "幹现胞治療" +msgid "Bonesetting Treatment" +msgstr "" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -70903,6 +71389,36 @@ msgid "" "armor, +Perception fire armor." msgstr "+力量 鈍擊防護, +敏捷 酞液防護, +智力 電擊防護, +感知 火焰防護。" +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Bonus block with reach weapons while standing still" +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Rush" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "Increased damage when moving but no bonus block" +msgstr "" + #: lang/json/martial_art_from_json.py msgid "Medieval Swordsmanship" msgstr "䞭䞖玀劍術" @@ -74129,6 +74645,10 @@ msgstr "享受 %s" msgid "Enjoyed a hot meal" msgstr "享受熱食" +#: lang/json/morale_type_from_json.py +msgid "Enjoyed a conversation" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Music" msgstr "音暂" @@ -74339,6 +74859,10 @@ msgstr "剛刮過鬍子" msgid "Barfed" msgstr "嘔吐" +#: lang/json/morale_type_from_json.py +msgid "Spent time playing with a pet" +msgstr "" + #: lang/json/morale_type_from_json.py msgid "Lit a fire" msgstr "" @@ -75447,6 +75971,18 @@ msgid "" "unique pleasure to you." msgstr "雖然䜠無法免陀疌痛的負面圱響, 䜠卻胜埞其䞭埗到䞀皮變態的快感。" +#: lang/json/mutation_from_json.py +msgid "Stimulant Psychosis" +msgstr "" + +#. ~ Description for Stimulant Psychosis +#: lang/json/mutation_from_json.py +msgid "" +"You have a unique history with stimulants (like coffee or amphetamines). You" +" can tolerate a lot more of them without overdosing, but if you indulge too " +"much, you start seeing things..." +msgstr "" + #. ~ Description for Stylish #: lang/json/mutation_from_json.py msgid "" @@ -75575,8 +76111,8 @@ msgstr "近戰歊噚蚓緎" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Pentjak Silat or Niten Ichi-Ryu." -msgstr "䜠對斌䜿甚歊噚的栌鬥術有研究。䜠開始時䟿胜倠遞擇菲埋賓劍棍術、擊劍、印尌刀術和二倩䞀流任䞀皮。" +"Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu." +msgstr "" #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -76199,6 +76735,17 @@ msgid "" "you heal much slower. Stacks with Glass Jaw." msgstr "䜠的身體極床容易骚折。最倧 HP 降䜎了 75% , 䞊䞔康埩速床非垞慢。搭配玻璃䞋巎簡盎極品。" +#: lang/json/mutation_from_json.py +msgid "Genetic Downward Spiral" +msgstr "" + +#. ~ Description for Genetic Downward Spiral +#: lang/json/mutation_from_json.py +msgid "" +"The events of the Cataclysm have damaged your DNA beyond repair. You mutate " +"frequently, and all mutations you receive (from any source) are negative." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Rough Skin" msgstr "粗皮" @@ -80835,6 +81382,10 @@ msgstr "蜜蜂" msgid "I'm bugged - I shouldn't talk to you." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Beggar" +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -81154,6 +81705,30 @@ msgstr "匷盜" msgid "Psycho" msgstr "粟神病患" +#: lang/json/npc_from_json.py +msgid "beggar" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Reena Sandhu" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Dino Dave" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Luo Meizhen" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Brandon Garder" +msgstr "" + +#: lang/json/npc_from_json.py +msgid "Yusuke Taylor" +msgstr "" + #: lang/json/npc_from_json.py msgid "Raider" msgstr "掠奪者" @@ -87069,6 +87644,112 @@ msgid "" "commercial robots, but you never thought your survival might depend on it." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (male Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Engineer" +msgstr "" + +#. ~ Profession (female Robotics Engineer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were a low-level engineer at a robotics manufacturer. The management " +"kept telling you putting flamethrowers on manhacks was 'unnecessary' and " +"'too dangerous,' but there's nothing to stop you now." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (male Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robotics Prodigy" +msgstr "" + +#. ~ Profession (female Robotics Prodigy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been building robots since you could hold a soldering iron, and you " +"don't intend to let the end of the world stop that from continuing." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (male Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robot Adoptee" +msgstr "" + +#. ~ Profession (female Robot Adoptee) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"During the riots a military robot came out of nowhere to rescue you. Maybe " +"it thinks you're someone important, who knows." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (male Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Robo-hunter" +msgstr "" + +#. ~ Profession (female Robo-hunter) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You paid a local hacker to build you a robotic hunting dog. It's almost as " +"good as the real thing, but it doesn't respond well to being pet." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Spec-Op" @@ -89953,19 +90634,19 @@ msgstr "火勢可以埈容易擎散, 特別是有倧量燃料的時候。" #: lang/json/snippet_from_json.py msgid "Even without electricity, ovens can be useful fire containers." -msgstr "" +msgstr "就算沒有電力烀箱仍是個埈有甚的點燃容噚。" #: lang/json/snippet_from_json.py msgid "Light itself doesn't draw zombies, it's sight, noise or smell." -msgstr "" +msgstr "光線本身䞍會吞匕殭屍是芖芺、聲音或者氣味吞匕它們。" #: lang/json/snippet_from_json.py msgid "Moose may not be your friend." -msgstr "" +msgstr "駝鹿或蚱䞍會成為䜠的朋友。" #: lang/json/snippet_from_json.py msgid "Turnout gear protects from fire but not from overheating." -msgstr "" +msgstr "消防戰鬥服胜圚火焰䞭保謢䜠䜆䞍胜圚過熱䞭保護䜠。" #: lang/json/snippet_from_json.py msgid "Peek around corners. You may see your enemy before it sees you." @@ -89973,7 +90654,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Cold food lasts longer. Find a cool basement or make a root cellar." -msgstr "" +msgstr "冷凍食物可以保存曎長時間。扟䞀個涌快的地䞋宀或者做䞀個地䞋儲藏宀。" #: lang/json/snippet_from_json.py msgid "Dying is part of the experience. Try again with what you've learned." @@ -89981,7 +90662,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Frozen food? Put it by a fire or heat it up in a pan." -msgstr "" +msgstr "冷凍食品? 把它攟圚火旁或者甚平底鍋加熱它。" #: lang/json/snippet_from_json.py msgid "Underground spaces like basements or caves stay cool year-round." @@ -90124,7 +90805,7 @@ msgstr "" msgid "" "Windows can't stop zombies but they can stop gas, bile, and smoke. And your" " smell." -msgstr "" +msgstr "窗戶無法阻止殭屍䜆可以阻隔氣體、膜汁、以及煙霧。還有䜠的氣味。" #: lang/json/snippet_from_json.py msgid "Wet and angry? A dry towel will bring your smile back." @@ -90193,7 +90874,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Frozen food doesn't rot, but may be inedible if not defrosted." -msgstr "" +msgstr "冷凍物品䞍會腐爛䜆沒解凍之前可胜䞍適合食甚。" #: lang/json/snippet_from_json.py msgid "" @@ -90292,17 +90973,17 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "You can make your own Safe Mode rules in the pause menu." -msgstr "" +msgstr "䜠可以圚暫停遞單䞭自定䜠的安党暡匏芏則。" #: lang/json/snippet_from_json.py msgid "The best gun in the world is useless without ammo." -msgstr "" +msgstr "沒有子圈連䞖䞊最奜的槍郜會毫無甚處。" #: lang/json/snippet_from_json.py msgid "" "Most zombies go through cars, not around them. Remember that when running " "away." -msgstr "" +msgstr "絕倧郚仜殭屍會盎接穿過車茛而䞍是繞過。圚逃走時芁蚘著這點。" #: lang/json/snippet_from_json.py msgid "" @@ -90311,7 +90992,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Certain corpses can give you bionics if you dissect them." -msgstr "" +msgstr "解剖某些屍體會絊䜠生化插件。" #: lang/json/snippet_from_json.py msgid "Don't be too greedy. Loot doesn't matter if you're dead." @@ -95199,6 +95880,67 @@ msgstr "氎  附近是䞍是有個綠掲?" msgid "Did you know that lack of water kills faster than lack of rest?" msgstr "䜠知道猺氎比猺乏䌑息死埗曎快嗎?" +#: lang/json/snippet_from_json.py +msgid "" +"Yeah sure, can't help but notice you got beer with you! Let's crack a cold " +"one and chat, , how goes it?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Oh definitely, how about one of those beers I see on you? What's up anyway?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"Yeah you share those beers I see you hoarding and then we chat all you like!" +" Only joking, what's up ?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Hey, sure thing, , I need a break anyway, how are you?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Yeah OK, , how's it going?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure, let's shoot the shit! You OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Why not? How you doing?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I'm OK with that, what's up?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "I can spare a few minutes, how's things?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Sure thing , you good?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Alright, you got something to get off your chest?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Always ready for a good chat! But why, you OK?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "OK , we should get to know each other, how are you coping?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Definitely, I'm game. How you holding up?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "darn" msgstr "瞫補" @@ -96739,6 +97481,18 @@ msgstr "" msgid "You're going to pay for that, !" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Quiet down over there!" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Did you hear someone talking?" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Who said that?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "That sounds bad." msgstr "" @@ -96755,6 +97509,10 @@ msgstr "" msgid "What's that noise?" msgstr "" +#: lang/json/snippet_from_json.py +msgid "Is something over there?" +msgstr "" + #: lang/json/snippet_from_json.py msgid "I hear something moving - sounded like" msgstr "" @@ -96764,7 +97522,7 @@ msgid "What's that sound? I heard" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who's there? I heard" +msgid "What's there? I heard" msgstr "" #: lang/json/snippet_from_json.py @@ -96772,7 +97530,7 @@ msgid "Did you hear that? Sounded like" msgstr "" #: lang/json/snippet_from_json.py -msgid "Who is making that sound? I can hear the" +msgid "What is making that sound? I can hear the" msgstr "" #: lang/json/snippet_from_json.py @@ -96908,6 +97666,10 @@ msgstr "" msgid " " msgstr "" +#: lang/json/snippet_from_json.py +msgid "undead" +msgstr "" + #: lang/json/snippet_from_json.py msgid "living dead" msgstr "" @@ -96920,10 +97682,6 @@ msgstr "殭屍" msgid "Z's" msgstr "" -#: lang/json/snippet_from_json.py src/artifact.cpp -msgid "dead" -msgstr "死的" - #: lang/json/snippet_from_json.py msgid " " msgstr "" @@ -100338,6 +101096,42 @@ msgstr "我們䟆亀易吧。" msgid "I can't leave the shelter without equipment." msgstr "我䞍胜沒有裝備就離開避難所。" +#: lang/json/talk_topic_from_json.py +msgid "Relax and chat with me for a while..." +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 " +"goes it ?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +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, I'm feeling pretty sick... are you doing OK though?" +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 " +"since... since all this, how are you coping with it all?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Oh you know, not bad, not bad..." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I don't know, look for supplies and other survivors I guess." msgstr "我䞍知道, 我想應該就是蒐集物資以及扟其他的生存者吧。" @@ -101629,6 +102423,268 @@ msgid "" "yourself among the most powerful men left in the world." 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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Please, help me. I need food." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Get away from me." +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 "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you go somewhere else?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why don't you scavenge your own food?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What did you do before the cataclysm?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I can't help you." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Where else? I can't fight those things out there. I'm in terrible physical" +" condition, don't have any useful skills, and I'm terrified of and" +" violence. How am I supposed to find a safe place?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Out there? That's suicide! People that go out there don't come back, " +"people who can hold their own... unlike me. I'd rather take my chances " +"begging for scraps and waiting for someone in the center to die and make " +"room for me, thanks." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I was a high school math teacher. It was a good job, I loved it. Funny " +"enough, it's not super applicable after the end of the world. I mean, at " +"some point people are going to need a teacher again, but right now they just" +" want food, shelter, and clothing." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Have I told you about cardboard, friend? Do you have any?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you sitting out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Are you seriously wearing a dinosaur costume?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I'm building a house out of cardboard. The sandman doesn't want me to, but " +"I told him to go fuck himself." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I think I have to get going..." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There's so much of it now, and the zombies are afraid of it. It's kept me " +"safe so far. The beta rays come from the center point of the zombie, so it " +"hits the cardboard and can't penetrate. The reflection can stop any further" +" damage." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"These cowards are afraid of me. They won't let me into their base. I'm " +"going to build my new house and I won't let them in." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Building a house?" +msgstr "" + +#: lang/json/talk_topic_from_json.py src/handle_action.cpp +msgid "No." +msgstr "吊。" + +#: lang/json/talk_topic_from_json.py +msgid "What was that about cardboard?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Don't bother with these assholes." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What's up?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Ok... see ya." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They're 'too full'. Won't share fuck-all." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you living here then?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'd better get going." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Even without them helping, it's the safest place to squat. As long as we " +"keep it clean up here and don't cause sanitation problems, they don't mind " +"us sitting around the entryway. So kind and generous of them, to let us sit" +" here and slowly starve." +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 "Why do you ask?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sorry, not interested." +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 "What's wrong with you?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "They won't let you in because you're sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "How did you even get here if you're so sick?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why are you camped out here if they won't let you in?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You name it! Asthma, diabetes, arthritis. Diabetes hasn't been so bad " +"since I stopped, y'know, eating regularly. Well, I assume it hasn't. Not " +"like I can check that ol' whatchamacallit, the blood test the docs used to " +"bug me about every couple months." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"They got enough mouths to feed that can pull their own weight. I got a lot " +"of weight and I'm too weak to pull it, so I'm out here." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Came with a small group quite a while ago. The others were young and fit, " +"they got in. They were some of the last ones to get in actually. I didn't " +"make the cutoff." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"This is a mercy. I get shelter, light, and heat, and those guards will help" +" us if any zombies show up. It ain't so bad. If I was out on my own I'd " +"have none of this and still have to look for food... in other words, I'd be " +"dead as a doornail. Or I guess undead." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Hey there, friend." +msgstr "" + +#: lang/json/talk_topic_from_json.py src/player.cpp +msgid "What are you doing out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I couldn't help but notice, you're covered in fur." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I live here. Too mutant to join the cool kids club, but not mutant enough " +"to kill on sight." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Why live out here?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You seem like you can hold your own. Why not travel with me?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's safer than making my own home. I head out and forage when I have to. " +"As long as we keep it clean and do our part when a zombie comes, they let us" +" squat here as an extra defense. They don't like that I've been bringing " +"food for the other squatters though... I think they are trying to slowly " +"starve us out, and even though I can't keep everyone's bellies full, I've " +"been able to bring back enough to keep these folk in better shape. I " +"suspect they'll find an excuse kick me out eventually." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Gross, isn't it? Feels like pubes. I just started growing it everywhere a " +"little while after the cataclysm. No idea what caused it. I can't blame " +"them for hating it, I hate it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Well now, that's quite a kind offer, and I appreciate you looking past my " +"full-body pubic hair. Sorry though. I've come to feel sort of responsible " +"for this little gaggle of squatters. As long as I'm the only one providing " +"for them, I don't think I can leave." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Can I help you, marshal?" msgstr "" @@ -106088,6 +107144,44 @@ msgstr "䜠對 %s 癌動 盞䜍打擊" msgid " phase-strikes %s" msgstr "對 %s 癌動 盞䜍打擊" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deftly trip %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Skewer" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You brutally skewer %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " brutally skewers %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "displace and counter" msgstr "移䜍䞊反擊" @@ -114056,6 +115150,11 @@ msgstr "䜠結束等埅了。" msgid "%s finishes with you..." msgstr "%s 與䜠䞀同完成 " +#: src/activity_handlers.cpp +#, c-format +msgid "%s finishes chatting with you." +msgstr "" + #: src/activity_handlers.cpp msgid "You toss and turn..." msgstr "䜠茟蜉反偎 " @@ -114131,6 +115230,11 @@ msgstr "䜠完成了挖掘 %s。" msgid "You finish filling up %s." msgstr "䜠完成了填蓋 %s。" +#: src/activity_handlers.cpp +#, c-format +msgid "Playing with your %s has lifted your spirits a bit." +msgstr "" + #: src/activity_handlers.cpp msgid "You open up your kit and shave." msgstr "䜠打開了工具包開始刮鬍子。" @@ -114139,6 +115243,16 @@ msgstr "䜠打開了工具包開始刮鬍子。" msgid "You give your hair a trim." msgstr "䜠修剪䜠的頭髮。" +#: src/activity_handlers.cpp +#, c-format +msgid "You disassemble your %s." +msgstr "䜠拆解了䜠的 %s。" + +#: src/activity_handlers.cpp src/player.cpp +#, c-format +msgid "You unload your %s." +msgstr "䜠枅空䜠的 %s。" + #: src/activity_handlers.cpp msgid "You harvested all the plots you could." msgstr "" @@ -115394,6 +116508,10 @@ msgstr "呌吞的" msgid "shrinks and grows very slightly with a regular pulse, as if breathing" msgstr "有芏埋的收瞮和增長, 就像圚呌吞䞀暣" +#: src/artifact.cpp +msgid "dead" +msgstr "死的" + #: src/artifact.cpp msgid "is icy cold to the touch" msgstr "冰冷的觞芺" @@ -118178,12 +119296,9 @@ msgid "FILE CORRUPTED, PRESS ANY KEY..." msgstr "檔案已損毀, 請按任意鍵 " #: src/computer.cpp -msgid "" -"The machine injects your eyeball with the solution \n" -"of pureed bone & LSD." +#, c-format +msgid "The machine rapidly sets and splints your broken %s." msgstr "" -"這個機噚泚射了䞀些東西到䜠的県球:\n" -"骚粉 & LSD。" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -119221,6 +120336,62 @@ msgstr "䜠享受了䞀頓蜂蜜盛宎。" msgid "You can't finish it all!" msgstr "䜠的胃裝䞍䞋了!" +#: src/consumption.cpp +msgid "The shadows are getting ever closer." +msgstr "" + +#: src/consumption.cpp +msgid "You have a bad feeling about this." +msgstr "" + +#: src/consumption.cpp +msgid "A powerful sense of dread comes over you." +msgstr "" + +#: src/consumption.cpp +msgid "Your skin starts crawling." +msgstr "" + +#: src/consumption.cpp +msgid "They're coming to get you." +msgstr "" + +#: src/consumption.cpp +msgid "This might've been a bad idea..." +msgstr "" + +#: src/consumption.cpp +msgid "You've really done it this time, haven't you?" +msgstr "" + +#: src/consumption.cpp +msgid "You have to stay vigilant. They're always watching..." +msgstr "" + +#: src/consumption.cpp +msgid "mistake mistake mistake mistake mistake" +msgstr "" + +#: src/consumption.cpp +msgid "Just gotta stay calm, and you'll make it through this." +msgstr "" + +#: src/consumption.cpp +msgid "You're starting to feel very jumpy." +msgstr "" + +#: src/consumption.cpp +msgid "Something is twitching at the edge of your vision." +msgstr "" + +#: src/consumption.cpp +msgid "They know what you've done..." +msgstr "" + +#: src/consumption.cpp +msgid "You're feeling even more paranoid than usual." +msgstr "" + #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "䜠飜逐了䞀頓, 準備冬眠。" @@ -119710,14 +120881,10 @@ msgstr "配方是吊被蚘䜏" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways.\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"預蚭為搜尋配方補品的名皱。\n" -"可以䜿甚字母前綎搭配垜號 (:) 以啟甚特殊的搜尋方匏。\n" -"\n" -"範䟋:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -125703,6 +126870,10 @@ msgstr "" msgid "Crash game (test crash handling)" msgstr "" +#: src/game.cpp +msgid "Spawn Map Extra" +msgstr "" + #: src/game.cpp msgid "Quit to Main Menu" msgstr "回到䞻遞單" @@ -125989,22 +127160,25 @@ msgid "Underground" msgstr "地䞋" #: src/game.cpp -msgid "Weather:" -msgstr "倩氣:" +msgid "Weather :" +msgstr "倩氣 :" #: src/game.cpp -msgid "Temperature:" -msgstr "溫床:" - -#: src/game.cpp -#, c-format -msgid "Moon %s" -msgstr "月亮 %s" +msgid "Temp :" +msgstr "氣溫 :" #: src/game.cpp msgid "Lighting:" msgstr "光線:" +#: src/game.cpp +msgid "Deaf!" +msgstr "聜䞍芋!" + +#: src/game.cpp +msgid "Sound: " +msgstr "聲響 :" + #: src/game.cpp #, c-format msgid "%s, day %d" @@ -126308,6 +127482,11 @@ msgstr "䞟棄党郚物品" msgid "Attach bag" msgstr "連接袋子" +#: src/game.cpp +#, c-format +msgid "Play with %s" +msgstr "" + #: src/game.cpp msgid "Untie" msgstr "解開" @@ -126382,6 +127561,11 @@ msgstr "%1$s 超重了。䜠䞍胜蜉移䜠的 %2$s。" msgid "There's no room in your %1$s's %2$s for that, it's too bulky!" msgstr "䜠的 %1$s 的 %2$s 沒有空間䟆容玍它, 它倪韐倧了!" +#: src/game.cpp +#, c-format +msgid "Spend a few minutes to play with your %s?" +msgstr "" + #: src/game.cpp msgid "Really kill the zombie slave?" msgstr "確定殺掉屍奎?" @@ -127138,63 +128322,6 @@ msgstr "䜠沒東西可卞䞋。" msgid "You're not wielding anything." msgstr "䜠沒有手持任䜕東西。" -#: src/game.cpp -#, c-format -msgid "You put the %s in your inventory." -msgstr "䜠把 %s 攟到物品欄。" - -#: src/game.cpp -#, c-format -msgid "The %s is already empty!" -msgstr "%s 已經空了!" - -#: src/game.cpp -msgid "The liquid can't be unloaded in its current state!" -msgstr "這液體因為它目前的狀態而無法卞茉。" - -#: src/game.cpp -msgid "Unload what?" -msgstr "枅空什麌?" - -#: src/game.cpp -#, c-format -msgid "You can't unload a %s!" -msgstr "䜠䞍胜枅空 %s!" - -#: src/game.cpp -#, c-format -msgid "You can't unload a rechargeable %s!" -msgstr "䜠無法卞䞋可充電的 %s!" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't charged." -msgstr "䜠的 %s 沒有電。" - -#: src/game.cpp -#, c-format -msgid "Your %s isn't loaded." -msgstr "䜠的 %s 沒有裝填。" - -#: src/game.cpp -#, c-format -msgid "You disassemble your %s." -msgstr "䜠拆解了䜠的 %s。" - -#: src/game.cpp -#, c-format -msgid "You unload your %s." -msgstr "䜠枅空䜠的 %s。" - -#: src/game.cpp -#, c-format -msgid "You recover %i unused plutonium." -msgstr "䜠回收 %i 未䜿甚過的鈜。" - -#: src/game.cpp -msgid "You can't remove partially depleted plutonium!" -msgstr "䜠䞍胜移陀耗甚到䞀半的鈜!" - #: src/game.cpp #, c-format msgid "You are being laser-targeted, %s to ignore." @@ -128665,10 +129792,6 @@ msgstr "是。" msgid "Yes, and save game before sleeping." msgstr "是, 睡芺前先存檔。" -#: src/handle_action.cpp -msgid "No." -msgstr "吊。" - #: src/handle_action.cpp msgid "You may want to deactivate these before you sleep." msgstr "䜠也蚱應該圚䜠睡芺前把這個關閉。" @@ -130886,7 +132009,7 @@ msgstr "黑" msgid "" "* This food looks as fresh as it can be. It still has " "%s until it spoils." -msgstr "" +msgstr "* 這食物看起䟆非垞新鮮。 距離變質還有 %s。" #: src/item.cpp msgid "* This food looks as fresh as it can be." @@ -130917,7 +132040,7 @@ msgstr "" msgid "" "* This food looks quite fresh. It has %s until it" " spoils." -msgstr "" +msgstr "* 這食物看起䟆埈新鮮, 距離變質還有 %s。" #. ~ here, %s is an approximate time span, e.g., "over 2 weeks" or "about 1 #. season" @@ -130926,7 +132049,7 @@ msgstr "" msgid "" "* This food looks like it is reaching its midlife. " "There's %s before it spoils." -msgstr "" +msgstr "* 這食物看起䟆快剩䞋䞀半的鮮床, 還有 %s 就會變質。" #. ~ here, %s is an approximate time span, e.g., "over 2 weeks" or "about 1 #. season" @@ -131066,15 +132189,15 @@ msgstr "享受: " #: src/item.cpp msgid "Stimulation:" -msgstr "" +msgstr "刺激性 :" #: src/item.cpp msgid "Downer" -msgstr "" +msgstr "鎮定劑" #: src/item.cpp msgid "Upper" -msgstr "" +msgstr "興奮劑" #: src/item.cpp msgid "Portions: " @@ -134860,13 +135983,8 @@ msgid "No music on device" msgstr "裝眮沒有音暂" #: src/iuse.cpp -#, c-format -msgid "Recipe: %s" -msgstr "配方: %s" - -#: src/iuse.cpp -msgid "View recipe on E-ink screen" -msgstr "圚平板螢幕䞊檢芖配方" +msgid "View recipes on E-ink screen" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters" @@ -134935,13 +136053,8 @@ msgid "You turned on music on your %s." msgstr "䜠把 %s 的音暂打開。" #: src/iuse.cpp -msgid "Choose recipe to view:" -msgstr "遞擇芁檢芖的配方:" - -#: src/iuse.cpp -#, c-format -msgid "You change the e-ink screen to show a recipe for %s." -msgstr "䜠切換平板螢幕為顯瀺 %s 的配方。" +msgid "List recipes:" +msgstr "" #: src/iuse.cpp msgid "Your collection of monsters:" @@ -138117,6 +139230,10 @@ msgstr "可砞毀。" msgid "Diggable. " msgstr "可挖掘。" +#: src/map.cpp +msgid "Plowable. " +msgstr "" + #: src/map.cpp msgid "Rough. " msgstr "粗糙的。" @@ -144626,7 +145743,7 @@ msgstr "" msgid "%s has abandoned the camp." msgstr "" -#: src/npctalk.cpp src/player.cpp +#: src/npctalk.cpp msgid "fists" msgstr "拳頭" @@ -144864,6 +145981,16 @@ msgstr "%s 替䜠剪了䞀頭體面的髮型 " msgid "%s gives you a decent shave..." msgstr "%s 替䜠刮了䞀臉體面的鬍子 " +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s..." +msgstr "" + +#: src/npctalk_funcs.cpp +#, c-format +msgid "That was a pleasant conversation with %s." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s drops the logs off in the garage..." @@ -146869,15 +147996,13 @@ msgid "Example: -pipe,-chunk,-steel" msgstr "範䟋: -pipe, -chunk, -steel" #: src/output.cpp -msgid "Search [c]ategory, [m]aterial, or [q]uality:" +msgid "Search [c]ategory, [m]aterial, [q]uality or [d]isassembled components:" msgstr "" -"特殊前綎笊號 c:分類, m:材質, " -"q:特性。" #. ~ An example of how to filter items based on category or material. #: src/output.cpp -msgid "Example: c:food,m:iron,q:hammering" -msgstr "範䟋: c:食物, m:鐵, q:敲擊" +msgid "Examples: c:food,m:iron,q:hammering,d:pipe" +msgstr "" #: src/output.cpp msgid "unknown" @@ -147215,6 +148340,10 @@ msgstr "捕捉或釋攟生物" msgid "Load or unload a vehicle" msgstr "" +#: src/pickup.cpp +msgid "Reload seed drill with seeds" +msgstr "" + #: src/pickup.cpp #, c-format msgid "Purify water in tank" @@ -147776,6 +148905,14 @@ msgstr "䜠癌出䞀聲倧叫!" msgid "The sound of your voice is almost completely muffled!" msgstr "䜠的聲音幟乎被完党阻隔了!" +#: src/player.cpp +msgid "an indistinct voice" +msgstr "" + +#: src/player.cpp +msgid "your muffled shout" +msgstr "" + #: src/player.cpp msgid "The sound of your voice is significantly muffled!" msgstr "䜠的聲音被倧幅阻隔了!" @@ -148439,10 +149576,6 @@ msgstr "" msgid "This place is dangerous, you shouldn't be here." msgstr "" -#: src/player.cpp -msgid "What are you doing out here?" -msgstr "" - #: src/player.cpp msgid "That's not true, is it?" msgstr "" @@ -149356,6 +150489,53 @@ msgstr "䜠䞍胜把物品攟到那!" msgid " can't place items here!" msgstr "䞍胜把物品攟到那!" +#: src/player.cpp +#, c-format +msgid "You put the %s in your inventory." +msgstr "䜠把 %s 攟到物品欄。" + +#: src/player.cpp +#, c-format +msgid "The %s is already empty!" +msgstr "%s 已經空了!" + +#: src/player.cpp +msgid "The liquid can't be unloaded in its current state!" +msgstr "這液體因為它目前的狀態而無法卞茉。" + +#: src/player.cpp +msgid "Unload what?" +msgstr "枅空什麌?" + +#: src/player.cpp +#, c-format +msgid "You can't unload a %s!" +msgstr "䜠䞍胜枅空 %s!" + +#: src/player.cpp +#, c-format +msgid "You can't unload a rechargeable %s!" +msgstr "䜠無法卞䞋可充電的 %s!" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't charged." +msgstr "䜠的 %s 沒有電。" + +#: src/player.cpp +#, c-format +msgid "Your %s isn't loaded." +msgstr "䜠的 %s 沒有裝填。" + +#: src/player.cpp +#, c-format +msgid "You recover %i unused plutonium." +msgstr "䜠回收 %i 未䜿甚過的鈜。" + +#: src/player.cpp +msgid "You can't remove partially depleted plutonium!" +msgstr "䜠䞍胜移陀耗甚到䞀半的鈜!" + #: src/player.cpp #, c-format msgid "Your %s needs %d charge from some UPS." @@ -149820,6 +151000,10 @@ msgstr "䜠芺埗圚這個等玚的 %s 工䜜變埗沒挑戰性了。" msgid "You resume your task." msgstr "䜠繌續工䜜。" +#: src/player.cpp +msgid "Weapon : fists" +msgstr "歊噚 : 赀手空拳" + #: src/player.cpp msgid "Wield what?" msgstr "手持什麌?" @@ -150593,14 +151777,6 @@ msgstr "死斌氣喘癌䜜。" msgid "You wheeze and gasp for air." msgstr "䜠喘息䞊枎求著空氣。" -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like rubber as they melt and remend." -msgstr "䜠的骚頭像橡膠䌌的融化再重合。" - -#: src/player_hardcoded_effects.cpp -msgid "Your bones feel like they're crumbling." -msgstr "䜠的骚頭奜像快碎了。" - #: src/player_hardcoded_effects.cpp msgid "Your head aches faintly." msgstr "䜠的頭隱隱䜜痛。" @@ -151374,15 +152550,6 @@ msgstr "非垞寒冷!%s" msgid "Freezing!%s" msgstr "酷寒!%s" -#: src/sidebar.cpp -msgid "Deaf!" -msgstr "聜䞍芋!" - -#: src/sidebar.cpp -#, c-format -msgid "Sound %d" -msgstr "聲響 %d" - #: src/sidebar.cpp msgid "Parched" msgstr "è„«æ°Ž" @@ -153022,10 +154189,10 @@ msgstr "䜠修理了 %1$s 的 %2$s。" msgid "Lost connection with the vehicle due to distance!" msgstr "距離過遠, 倱去與車茛的連線!" -#. ~ backfire sound #: src/vehicle.cpp -msgid "BANG!" -msgstr "ç °!" +#, c-format +msgid "a loud BANG! from the %s" +msgstr "" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -153732,18 +154899,23 @@ msgstr "%1$s 䌌乎猺少了 %2$s。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a long beeping sound." -msgstr "%s 癌出埈長的嗶嗶響聲。" +msgid "the %s bang as it starts" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "the %s making a long beep" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a single clicking sound." -msgstr "%s 癌出單䞀的咔嚓聲。" +msgid "the %s clicking once" +msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a rapid clicking sound." -msgstr "%s 癌出急促的咔嚓聲。" +msgid "the %s rapidly clicking" +msgstr "" #: src/vehicle_use.cpp #, c-format @@ -153752,8 +154924,8 @@ msgstr "%s 埈快就熄火了。" #: src/vehicle_use.cpp #, c-format -msgid "The %s makes a terrible clanking sound." -msgstr "%s 癌出可怕的叮噹聲。" +msgid "the %s clanking and grinding" +msgstr "" #: src/vehicle_use.cpp msgid "You honk the horn!" @@ -153773,6 +154945,11 @@ msgstr "嗶嗶!" msgid "You honk the horn, but nothing happens." msgstr "䜠按了喇叭, 䜆沒有事癌生。" +#: src/vehicle_use.cpp +#, c-format +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" + #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." msgstr "喇叭癌出響亮刺耳的簡單旋埋" From 44abf4a64e974afa694599d20e32506877363023 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Fri, 25 Jan 2019 19:47:37 +0100 Subject: [PATCH 54/85] Fix spelling of 'acquire' --- data/mods/Salvaged_Robots/monsters.json | 2 +- src/game.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/mods/Salvaged_Robots/monsters.json b/data/mods/Salvaged_Robots/monsters.json index 436ce37b7f47c..f46606f9d5f14 100644 --- a/data/mods/Salvaged_Robots/monsters.json +++ b/data/mods/Salvaged_Robots/monsters.json @@ -771,7 +771,7 @@ "require_targeting_monster": true, "targeting_cost": 10, "targeting_timeout_extend": -1, - "targeting_sound": "\"Target Aquired.\"", + "targeting_sound": "\"Target Acquired.\"", "targeting_volume": 10 } ], diff --git a/src/game.cpp b/src/game.cpp index 09a918a7339b6..4a394c8016670 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -9369,7 +9369,7 @@ void butcher_submenu( map_stack &items, const std::vector &corpses, int cor smenu.addentry_col( SKIN, true, 's', ( "Skin corpse" ), cut_time( SKIN ), _( "Skinning a corpse is an involved and careful process that usually takes some time. You need skill and an appropriately sharp and precise knife to do a good job. Some corpses are too small to yield a full-sized hide and will instead produce scraps that can be used in other ways." ) ); smenu.addentry_col( QUARTER, true, 'k', _( "Quarter corpse" ), cut_time( QUARTER ), - _( "By quartering a previously field dressed corpse you will aquire four parts with reduced weight and volume. It may help in transporting large game. This action destroys skin, hide, pelt, etc., so don't use it if you want to harvest them later." ) ); + _( "By quartering a previously field dressed corpse you will acquire four parts with reduced weight and volume. It may help in transporting large game. This action destroys skin, hide, pelt, etc., so don't use it if you want to harvest them later." ) ); smenu.addentry_col( DISSECT, true, 'd', _( "Dissect corpse" ), cut_time( DISSECT ), _( "By careful dissection of the corpse, you will examine it for possible bionic implants, and harvest them if possible. Requires scalpel-grade cutting tools, ruins corpse, and consumes lot of time. Your medical knowledge is most useful here." ) ); smenu.query(); From 857bd7113331e77a1b97a5ecebcaba51fc5411c2 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Fri, 25 Jan 2019 19:47:37 +0100 Subject: [PATCH 55/85] Fix spelling of 'acquire' --- data/mods/Salvaged_Robots/monsters.json | 2 +- src/game.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/mods/Salvaged_Robots/monsters.json b/data/mods/Salvaged_Robots/monsters.json index 436ce37b7f47c..f46606f9d5f14 100644 --- a/data/mods/Salvaged_Robots/monsters.json +++ b/data/mods/Salvaged_Robots/monsters.json @@ -771,7 +771,7 @@ "require_targeting_monster": true, "targeting_cost": 10, "targeting_timeout_extend": -1, - "targeting_sound": "\"Target Aquired.\"", + "targeting_sound": "\"Target Acquired.\"", "targeting_volume": 10 } ], diff --git a/src/game.cpp b/src/game.cpp index 0bfeeabe062ee..3c8816bf9e108 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -9369,7 +9369,7 @@ void butcher_submenu( map_stack &items, const std::vector &corpses, int cor smenu.addentry_col( SKIN, true, 's', ( "Skin corpse" ), cut_time( SKIN ), _( "Skinning a corpse is an involved and careful process that usually takes some time. You need skill and an appropriately sharp and precise knife to do a good job. Some corpses are too small to yield a full-sized hide and will instead produce scraps that can be used in other ways." ) ); smenu.addentry_col( QUARTER, true, 'k', _( "Quarter corpse" ), cut_time( QUARTER ), - _( "By quartering a previously field dressed corpse you will aquire four parts with reduced weight and volume. It may help in transporting large game. This action destroys skin, hide, pelt, etc., so don't use it if you want to harvest them later." ) ); + _( "By quartering a previously field dressed corpse you will acquire four parts with reduced weight and volume. It may help in transporting large game. This action destroys skin, hide, pelt, etc., so don't use it if you want to harvest them later." ) ); smenu.addentry_col( DISSECT, true, 'd', _( "Dissect corpse" ), cut_time( DISSECT ), _( "By careful dissection of the corpse, you will examine it for possible bionic implants, and harvest them if possible. Requires scalpel-grade cutting tools, ruins corpse, and consumes lot of time. Your medical knowledge is most useful here." ) ); smenu.query(); From 69e5ca3adf5cf21051bba71f2e0f6956aae66eba Mon Sep 17 00:00:00 2001 From: halfahermit Date: Thu, 24 Jan 2019 12:49:09 -0600 Subject: [PATCH 56/85] Update RetroDays - Buildings, bionics --- gfx/RetroDaysTileset/tile_config.json | 736 +++++++++++++++++--------- gfx/RetroDaysTileset/tiles.png | Bin 97226 -> 98959 bytes 2 files changed, 497 insertions(+), 239 deletions(-) diff --git a/gfx/RetroDaysTileset/tile_config.json b/gfx/RetroDaysTileset/tile_config.json index 35958a6ac2234..bc88ba220ba17 100644 --- a/gfx/RetroDaysTileset/tile_config.json +++ b/gfx/RetroDaysTileset/tile_config.json @@ -12,7 +12,7 @@ "tiles": [ { "id": "player_female", - "fg": 1, + "fg": 2785, "rotates": false }, { @@ -22,7 +22,7 @@ }, { "id": "npc_female", - "fg": 3, + "fg": 2786, "rotates": false }, { @@ -397,7 +397,7 @@ }, { "id": "mon_zombie_scientist", - "fg": 63, + "fg": 2787, "rotates": false }, { @@ -2824,7 +2824,6 @@ "vp_seat", "vp_seat_nocargo", "vp_folding_seat", - "vp_saddle", "vp_reclining_seat" ], "fg": 451, @@ -2837,6 +2836,18 @@ } ] }, + { + "id": "vp_saddle", + "fg": 2751, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "broken", + "fg": 423 + } + ] + }, { "id": "vp_bed", "fg": 452, @@ -12826,15 +12837,15 @@ }, { "id": [ - "shotgun_sawn", + "pipe_shotgunsawn", "pipe__gun_44" ], "fg": 1587, "rotates": false }, { - "id": "pipe_shotgunsawn", - "fg": 1588, + "id": "shotgun_sawn", + "fg": 2760, "rotates": false }, { @@ -15500,12 +15511,13 @@ "rotates": false }, { - "id": [ - "seat", - "saddle" - ], + "id": "seat", "fg": 451, - "bg": 2, + "rotates": false + }, + { + "id": "saddle", + "fg": 2751, "rotates": false }, { @@ -16897,57 +16909,149 @@ "rotates": false }, { - "id": "t_wall_log_half", - "fg": 2161, - "bg": 1981, - "rotates": false + "id": [ + "t_wall_log_half", + "t_wall_half" + ], + "fg": 2837, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2838 + }, + { + "id": "corner", + "fg": 2839 + }, + { + "id": "edge", + "fg": 2840 + }, + { + "id": "end_piece", + "fg": 2841 + }, + { + "id": "t_connection", + "fg": 2842 + }, + { + "id": "unconnected", + "fg": 2837 + } + ] }, { - "id": "t_wall_log_chipped", - "fg": 2162, - "bg": 1981, - "rotates": false + "id": [ + "t_wall_log_chipped", + "t_wall_wood_chipped" + ], + "fg": 2852, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2853 + }, + { + "id": "corner", + "fg": 2854 + }, + { + "id": "edge", + "fg": 2855 + }, + { + "id": "end_piece", + "fg": 2856 + }, + { + "id": "t_connection", + "fg": 2857 + }, + { + "id": "unconnected", + "fg": 2852 + } + ] }, { - "id": "t_wall_log_broken", - "fg": 2163, - "bg": 1981, - "rotates": false + "id": [ + "t_wall_log_broken", + "t_wall_wood_broken" + ], + "fg": 2776, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2849 + }, + { + "id": "corner", + "fg": 2850 + }, + { + "id": "edge", + "fg": 2851 + }, + { + "id": "end_piece", + "fg": 2851 + }, + { + "id": "t_connection", + "fg": 2849 + }, + { + "id": "unconnected", + "fg": 2776 + } + ] }, { "id": "t_palisade", - "fg": 2164, - "bg": 1981, - "rotates": false + "fg": [ + 2778, + 2777, + 2778, + 2777 + ], + "rotates": true }, { - "id": [ - "t_palisade_gate", - "t_fencegate_c" + "id": "t_palisade_gate", + "fg": [ + 2165, + 2779, + 2165, + 2779 ], - "fg": 2165, - "bg": 1981, - "rotates": false + "rotates": true }, { - "id": [ - "t_palisade_gate_o", - "t_fencegate_o" + "id": "t_palisade_gate_o", + "fg": [ + 2166, + 2780, + 2166, + 2780 ], - "fg": 2166, - "bg": 1981, - "rotates": false + "rotates": true }, { "id": "t_concrete_wall", - "fg": 2167, - "bg": 1981, - "rotates": false, + "fg": 2790, + "rotates": true, "multitile": true, "additional_tiles": [ { "id": "center", - "fg": 2167 + "fg": 2791 }, { "id": "corner", @@ -16959,7 +17063,7 @@ }, { "id": "end_piece", - "fg": 2167 + "fg": 2792 }, { "id": "t_connection", @@ -16967,18 +17071,30 @@ }, { "id": "unconnected", - "fg": 2167 + "fg": 2790 } ] }, + { + "id": [ + "t_secretdoor_concrete_wall_c", + "t_sliding_concrete_wall_c" + ], + "fg": 2167, + "rotates": true + }, + { + "id": "t_secretdoor_concrete_wall_o", + "fg": 2540, + "rotates": true + }, { "id": [ "t_wall_metal", "t_scrap_wall" ], - "fg": 2170, - "bg": 1981, - "rotates": false, + "fg": 2805, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -16995,7 +17111,7 @@ }, { "id": "end_piece", - "fg": 2170 + "fg": 2806 }, { "id": "t_connection", @@ -17003,7 +17119,7 @@ }, { "id": "unconnected", - "fg": 2170 + "fg": 2805 } ] }, @@ -17031,43 +17147,76 @@ "t_fence_h", "t_fence_v" ], - "fg": 2177, - "bg": 1981, + "fg": 2756, "rotates": true, "multitile": true, "additional_tiles": [ { "id": "center", - "fg": 2177, - "bg": 1981 + "fg": 2752 }, { "id": "corner", - "fg": 2178, - "bg": 1981 + "fg": [ + 2753, + 2754, + 2755, + 2756 + ] }, { "id": "edge", - "fg": 2179, - "bg": 1981 + "fg": [ + 2757, + 2758, + 2757, + 2758 + ] }, { "id": "end_piece", - "fg": 2180, - "bg": 1981 + "fg": [ + 2757, + 2758, + 2761, + 2756 + ] }, { "id": "t_connection", - "fg": 2181, - "bg": 1981 + "fg": [ + 2758, + 2754, + 2752, + 2755 + ] }, { "id": "unconnected", - "fg": 2182, - "bg": 1981 + "fg": 2756 } ] }, + { + "id": "t_fencegate_c", + "fg": [ + 2781, + 2782, + 2781, + 2782 + ], + "rotates": true + }, + { + "id": "t_fencegate_o", + "fg": [ + 2783, + 2784, + 2783, + 2784 + ], + "rotates": true + }, { "id": [ "t_chainfence_posts", @@ -17087,9 +17236,8 @@ "t_wall_glass_alarm", "t_reinforced_glass" ], - "fg": 2185, - "bg": 2184, - "rotates": false, + "fg": 2807, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17106,7 +17254,7 @@ }, { "id": "end_piece", - "fg": 2185 + "fg": 2808 }, { "id": "t_connection", @@ -17114,15 +17262,14 @@ }, { "id": "unconnected", - "fg": 2185 + "fg": 2807 } ] }, { "id": "t_reinforced_glass_shutter", - "fg": 2189, - "bg": 2184, - "rotates": false, + "fg": 2809, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17139,7 +17286,7 @@ }, { "id": "end_piece", - "fg": 2189 + "fg": 2810 }, { "id": "t_connection", @@ -17147,15 +17294,14 @@ }, { "id": "unconnected", - "fg": 2189 + "fg": 2809 } ] }, { "id": "t_reinforced_glass_shutter_open", - "fg": 2193, - "bg": 2184, - "rotates": false, + "fg": 2811, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17172,7 +17318,7 @@ }, { "id": "end_piece", - "fg": 2193 + "fg": 2812 }, { "id": "t_connection", @@ -17180,7 +17326,7 @@ }, { "id": "unconnected", - "fg": 2193 + "fg": 2811 } ] }, @@ -17363,7 +17509,7 @@ "t_metal_floor", "t_scrap_floor" ], - "bg": 2222, + "bg": 2767, "rotates": false }, { @@ -17421,9 +17567,8 @@ "t_wall", "t_wall_w" ], - "fg": 2230, - "bg": 1044, - "rotates": false, + "fg": 2793, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17440,7 +17585,7 @@ }, { "id": "end_piece", - "fg": 2230 + "fg": 2794 }, { "id": "t_connection", @@ -17448,15 +17593,31 @@ }, { "id": "unconnected", - "fg": 2230 + "fg": 2793 } ] }, + { + "id": [ + "t_secretdoor_onetime", + "t_secretdoor_wall_c", + "t_sliding_wall_c" + ], + "fg": 2230, + "rotates": true + }, + { + "id": [ + "t_secretdoor_wall_o", + "t_sliding_wall_o" + ], + "fg": 2541, + "rotates": true + }, { "id": "t_wall_r", - "fg": 2234, - "bg": 1044, - "rotates": false, + "fg": 2795, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17473,7 +17634,7 @@ }, { "id": "end_piece", - "fg": 2234 + "fg": 2796 }, { "id": "t_connection", @@ -17481,15 +17642,14 @@ }, { "id": "unconnected", - "fg": 2234 + "fg": 2795 } ] }, { "id": "t_wall_b", - "fg": 2238, - "bg": 1044, - "rotates": false, + "fg": 2797, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17506,7 +17666,7 @@ }, { "id": "end_piece", - "fg": 2238 + "fg": 2798 }, { "id": "t_connection", @@ -17514,15 +17674,14 @@ }, { "id": "unconnected", - "fg": 2238 + "fg": 2797 } ] }, { "id": "t_wall_g", - "fg": 1588, - "bg": 1044, - "rotates": false, + "fg": 2799, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17539,7 +17698,7 @@ }, { "id": "end_piece", - "fg": 1588 + "fg": 2800 }, { "id": "t_connection", @@ -17547,15 +17706,14 @@ }, { "id": "unconnected", - "fg": 1588 + "fg": 2799 } ] }, { "id": "t_wall_y", - "fg": 2245, - "bg": 1044, - "rotates": false, + "fg": 2801, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17572,7 +17730,7 @@ }, { "id": "end_piece", - "fg": 2245 + "fg": 2802 }, { "id": "t_connection", @@ -17580,15 +17738,14 @@ }, { "id": "unconnected", - "fg": 2245 + "fg": 2801 } ] }, { "id": "t_wall_p", - "fg": 2249, - "bg": 1044, - "rotates": false, + "fg": 2803, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -17605,7 +17762,7 @@ }, { "id": "end_piece", - "fg": 2249 + "fg": 2804 }, { "id": "t_connection", @@ -17613,14 +17770,41 @@ }, { "id": "unconnected", - "fg": 2249 + "fg": 2803 } ] }, { "id": "t_scrap_wall_halfway", - "bg": 2253, - "rotates": false + "fg": 2825, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2826 + }, + { + "id": "corner", + "fg": 2827 + }, + { + "id": "edge", + "fg": 2828 + }, + { + "id": "end_piece", + "fg": 2829 + }, + { + "id": "t_connection", + "fg": 2830 + }, + { + "id": "unconnected", + "fg": 2825 + } + ] }, { "id": [ @@ -17898,7 +18082,10 @@ "rotates": false }, { - "id": "f_chair", + "id": [ + "f_chair", + "f_stool" + ], "fg": 2298, "rotates": false }, @@ -18201,15 +18388,37 @@ "fg": 2351, "rotates": false }, - { - "id": "f_sandbag_half", - "fg": 2352, - "rotates": false - }, { "id": "f_sandbag_wall", - "fg": 2353, - "rotates": false + "fg": 2759, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2763 + }, + { + "id": "corner", + "fg": 2813 + }, + { + "id": "edge", + "fg": 2814 + }, + { + "id": "end_piece", + "fg": 2815 + }, + { + "id": "t_connection", + "fg": 2816 + }, + { + "id": "unconnected", + "fg": 2759 + } + ] }, { "id": "f_shackle", @@ -18430,9 +18639,8 @@ }, { "id": "t_wall_glass", - "fg": 2391, - "bg": 2297, - "rotates": false, + "fg": 2858, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -18449,7 +18657,7 @@ }, { "id": "end_piece", - "fg": 2391 + "fg": 2765 }, { "id": "t_connection", @@ -18457,7 +18665,7 @@ }, { "id": "unconnected", - "fg": 2391 + "fg": 2858 } ] }, @@ -18612,40 +18820,83 @@ }, { "id": "t_brick_wall", - "fg": 2408, - "rotates": false, + "fg": 2768, + "rotates": true, "multitile": true, "additional_tiles": [ { "id": "center", - "fg": 2409 + "fg": 2769 }, { "id": "corner", - "fg": 2410 + "fg": 2770 }, { "id": "edge", - "fg": 2408 + "fg": 2771 }, { "id": "end_piece", - "fg": 2408 + "fg": 2772 }, { "id": "t_connection", - "fg": 2411 + "fg": 2773 }, { "id": "unconnected", - "fg": 2408 + "fg": 2768 } ] }, { - "id": "t_brick_wall_halfway", - "fg": 2412, - "rotates": false + "id": [ + "t_secretdoor_brick_wall_c", + "t_sliding_brick_wall_c" + ], + "fg": 2771, + "rotates": true + }, + { + "id": "t_secretdoor_brick_wall_o", + "fg": 2539, + "rotates": true + }, + { + "id": [ + "t_brick_wall_halfway", + "f_sandbag_half" + ], + "fg": 2817, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2818 + }, + { + "id": "corner", + "fg": 2819 + }, + { + "id": "edge", + "fg": 2820 + }, + { + "id": "end_piece", + "fg": 2821 + }, + { + "id": "t_connection", + "fg": 2822 + }, + { + "id": "unconnected", + "fg": 2817 + } + ] }, { "id": "t_bulk_tank", @@ -19483,8 +19734,8 @@ "t_sconc_wall", "t_strconc_wall" ], - "fg": 2526, - "rotates": false, + "fg": 2774, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -19501,7 +19752,7 @@ }, { "id": "end_piece", - "fg": 2526 + "fg": 2775 }, { "id": "t_connection", @@ -19509,7 +19760,7 @@ }, { "id": "unconnected", - "fg": 2526 + "fg": 2774 } ] }, @@ -19519,8 +19770,35 @@ "t_sconc_wall_halfway", "t_strconc_wall_halfway" ], - "fg": 2530, - "rotates": false + "fg": 2831, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2832 + }, + { + "id": "corner", + "fg": 2833 + }, + { + "id": "edge", + "fg": 2834 + }, + { + "id": "end_piece", + "fg": 2835 + }, + { + "id": "t_connection", + "fg": 2836 + }, + { + "id": "unconnected", + "fg": 2831 + } + ] }, { "id": "t_rope_up", @@ -19564,49 +19842,6 @@ "fg": 2538, "rotates": false }, - { - "id": [ - "t_secretdoor_brick_wall_c", - "t_sliding_brick_wall_c" - ], - "fg": 2408, - "rotates": true - }, - { - "id": "t_secretdoor_brick_wall_o", - "fg": 2539, - "rotates": true - }, - { - "id": [ - "t_secretdoor_concrete_wall_c", - "t_sliding_concrete_wall_c" - ], - "fg": 2167, - "rotates": true - }, - { - "id": "t_secretdoor_concrete_wall_o", - "fg": 2540, - "rotates": true - }, - { - "id": [ - "t_secretdoor_onetime", - "t_secretdoor_wall_c", - "t_sliding_wall_c" - ], - "fg": 2230, - "rotates": true - }, - { - "id": [ - "t_secretdoor_wall_o", - "t_sliding_wall_o" - ], - "fg": 2541, - "rotates": true - }, { "id": "t_sewage_pipe", "fg": 2542, @@ -19717,8 +19952,8 @@ "t_wall_log", "t_wall_wood" ], - "fg": 2561, - "rotates": false, + "fg": 2788, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -19735,7 +19970,7 @@ }, { "id": "end_piece", - "fg": 2564 + "fg": 2789 }, { "id": "t_connection", @@ -19743,29 +19978,14 @@ }, { "id": "unconnected", - "fg": 2561 + "fg": 2788 } ] }, - { - "id": "t_wall_wood_broken", - "fg": 2163, - "rotates": false - }, - { - "id": "t_wall_wood_chipped", - "fg": 2162, - "rotates": false - }, - { - "id": "t_wall_half", - "fg": 2161, - "rotates": false - }, { "id": "t_wall_wattle", - "fg": 2566, - "rotates": false, + "fg": 2764, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -19782,7 +20002,7 @@ }, { "id": "end_piece", - "fg": 2569 + "fg": 2766 }, { "id": "t_connection", @@ -19790,19 +20010,46 @@ }, { "id": "unconnected", - "fg": 2566 + "fg": 2764 } ] }, { "id": "t_wall_wattle_broken", - "fg": 2571, - "rotates": false + "fg": 2762, + "rotates": true }, { "id": "t_wall_wattle_half", - "fg": 2572, - "rotates": false + "fg": 2843, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { + "id": "center", + "fg": 2844 + }, + { + "id": "corner", + "fg": 2845 + }, + { + "id": "edge", + "fg": 2846 + }, + { + "id": "end_piece", + "fg": 2847 + }, + { + "id": "t_connection", + "fg": 2848 + }, + { + "id": "unconnected", + "fg": 2843 + } + ] }, { "id": "t_water_pump", @@ -19820,8 +20067,8 @@ }, { "id": "t_window_bars_alarm", - "fg": 2575, - "rotates": false, + "fg": 2823, + "rotates": true, "multitile": true, "additional_tiles": [ { @@ -19838,7 +20085,7 @@ }, { "id": "end_piece", - "fg": 2575 + "fg": 2824 }, { "id": "t_connection", @@ -19846,7 +20093,7 @@ }, { "id": "unconnected", - "fg": 2575 + "fg": 2823 } ] }, @@ -20857,75 +21104,75 @@ ] }, { - "id": "overlay_mutation_bio_armor_head", + "id": "overlay_mutation_bio_armor_legs", "fg": 2733 }, { - "id": "overlay_male_mutation_bio_armor_head", + "id": "overlay_male_mutation_bio_armor_legs", "fg": 2734 }, { - "id": "overlay_mutation_bio_armor_legs", + "id": "overlay_mutation_bio_armor_torso", "fg": 2735 }, { - "id": "overlay_male_mutation_bio_armor_legs", + "id": "overlay_male_mutation_bio_armor_torso", "fg": 2736 }, { - "id": "overlay_mutation_bio_armor_torso", + "id": "overlay_mutation_bio_armor_arms", "fg": 2737 }, { - "id": "overlay_male_mutation_bio_armor_torso", + "id": "overlay_male_mutation_bio_armor_arms", "fg": 2738 }, { - "id": "overlay_mutation_bio_armor_eyes", + "id": "overlay_mutation_bio_armor_head", "fg": 2739 }, { - "id": "overlay_male_mutation_bio_armor_eyes", + "id": "overlay_male_mutation_bio_armor_head", "fg": 2740 }, { - "id": "overlay_mutation_bio_armor_arms", + "id": "overlay_mutation_bio_blaster", "fg": 2741 }, { - "id": "overlay_male_mutation_bio_armor_arms", + "id": "overlay_male_mutation_bio_blaster", "fg": 2742 }, { - "id": "overlay_mutation_bio_blaster", + "id": "overlay_mutation_bio_deformity", "fg": 2743 }, { - "id": "overlay_male_mutation_bio_blaster", + "id": "overlay_male_mutation_bio_deformity", "fg": 2744 }, { - "id": "overlay_mutation_bio_deformity", + "id": "overlay_mutation_active_bio_blindfold", "fg": 2745 }, { - "id": "overlay_male_mutation_bio_deformity", + "id": "overlay_male_mutation_active_bio_blindfold", "fg": 2746 }, { - "id": "overlay_male_mutation_active_CLAWS_RETRACT", + "id": "overlay_mutation_active_bio_night_vision", "fg": 2747 }, { - "id": "overlay_male_mutation_CLAWS_RETRACT", + "id": "overlay_male_mutation_active_bio_night_vision", "fg": 2748 }, { - "id": "overlay_mutation_active_CLAWS_RETRACT", + "id": "overlay_mutation_active_bio_infrared", "fg": 2749 }, { - "id": "overlay_mutation_CLAWS_RETRACT", + "id": "overlay_male_mutation_active_bio_infrared", "fg": 2750 } ] @@ -21018,19 +21265,18 @@ } ], "overlay_ordering": [ - { - "id": "bio_armor_head", - "order": 505 - }, { "id": [ "bio_armor_legs", "bio_armor_torso", - "bio_armor_eyes", "bio_armor_arms" ], "order": 500 }, + { + "id": "bio_armor_head", + "order": 505 + }, { "id": "bio_blaster", "order": 510 @@ -21038,6 +21284,18 @@ { "id": "bio_deformity", "order": 515 + }, + { + "id": "active_bio_blindfold", + "order": 520 + }, + { + "id": "active_bio_night_vision", + "order": 521 + }, + { + "id": "active_bio_infrared", + "order": 522 } ] } diff --git a/gfx/RetroDaysTileset/tiles.png b/gfx/RetroDaysTileset/tiles.png index 16f8e3cae614c348377eefebea6c506adc5a3853..8113fa045ebba85e0762ad8d95d3a4666c239f56 100644 GIT binary patch literal 98959 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%0AiZqo=%`JGz|z)HW?tey=B4GG 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 a2zLMgf0X3apOwlXLjFHQv*n`z literal 97226 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 Date: Fri, 25 Jan 2019 19:52:19 +0300 Subject: [PATCH 57/85] Unguard variable declaration --- src/sdltiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 2e5f3440637f7..dbcfed027fcfc 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -399,9 +399,9 @@ void WinCreate() format.reset( SDL_AllocFormat( wformat ) ); throwErrorIf( !format, "SDL_AllocFormat failed" ); + int renderer_id = -1; #ifndef __ANDROID__ bool software_renderer = get_option( "RENDERER" ).empty(); - int renderer_id = -1; std::string renderer_name; if( software_renderer ) { renderer_name = "software"; From 516c1f07a39697685271049b8ccd8a4454b015ea Mon Sep 17 00:00:00 2001 From: ThinkInvisible Date: Fri, 25 Jan 2019 10:53:32 -0600 Subject: [PATCH 58/85] Only setup prompt for prying tool if it will actually be displayed Previously, selection_menu would never be displayed if the player only had one prying tool, but would be created anyways. --- src/iexamine.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/iexamine.cpp b/src/iexamine.cpp index bbfa7bb5b7311..ff4d85bd57d59 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -762,10 +762,6 @@ void iexamine::crate( player &p, const tripoint &examp ) return; } - uilist selection_menu; - selection_menu.text = string_format( _( "The %s is closed tightly." ), - g->m.furnname( examp ) ); - auto prying_items = p.crafting_inventory().items_with( []( const item & it ) -> bool { return it.has_quality( quality_id( "PRY" ), 1 ); } ); @@ -776,6 +772,7 @@ void iexamine::crate( player &p, const tripoint &examp ) item temporary_item( prying_items[0]->type ); // They only had one item anyway, so just use it. dummy.crowbar( &p, &temporary_item, false, examp ); + return; } // Sort by their quality level. @@ -784,12 +781,17 @@ void iexamine::crate( player &p, const tripoint &examp ) } ); // Then display the items + uilist selection_menu; + selection_menu.text = string_format(_("The %s is closed tightly."), + g->m.furnname(examp)); + int i = 0; selection_menu.addentry( i++, true, MENU_AUTOASSIGN, _( "Leave it alone" ) ); for( auto iter : prying_items ) { selection_menu.addentry( i++, true, MENU_AUTOASSIGN, _( "Use your %s" ), iter->tname() ); } + selection_menu.selected = 1; selection_menu.query(); auto index = selection_menu.ret; @@ -1168,10 +1170,6 @@ void iexamine::locked_object( player &p, const tripoint &examp ) return; } - uilist selection_menu; - - selection_menu.text = string_format( _( "The %s is locked..." ), g->m.tername( examp ) ); - auto prying_items = p.crafting_inventory().items_with( []( const item & it ) -> bool { return it.has_quality( quality_id( "PRY" ), 2 ); } ); @@ -1190,6 +1188,9 @@ void iexamine::locked_object( player &p, const tripoint &examp ) } ); // Then display the items + uilist selection_menu; + selection_menu.text = string_format(_("The %s is locked..."), g->m.tername(examp)); + int i = 0; selection_menu.addentry( i++, true, MENU_AUTOASSIGN, _( "Leave it alone" ) ); for( auto iter : prying_items ) { @@ -1197,6 +1198,7 @@ void iexamine::locked_object( player &p, const tripoint &examp ) iter->tname() ) ); } + selection_menu.selected = 1; selection_menu.query(); auto index = selection_menu.ret; From 42eeab01b034e3dd1fbd55b2806d42d18a1a6375 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Fri, 25 Jan 2019 19:47:27 +0100 Subject: [PATCH 59/85] Make map deconstructor virtual --- src/map.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map.h b/src/map.h index fa7cf11d1a6a0..8366799946dbb 100644 --- a/src/map.h +++ b/src/map.h @@ -221,7 +221,7 @@ class map // Constructors & Initialization map( int mapsize = MAPSIZE, bool zlev = false ); map( bool zlev ) : map( MAPSIZE, zlev ) { } - ~map(); + virtual ~map(); map &operator=( map && ) = default; From 293e10307f75de5f5fcb11986e4e3709199cc4d4 Mon Sep 17 00:00:00 2001 From: GoLoT Date: Sat, 26 Jan 2019 00:19:32 +0100 Subject: [PATCH 60/85] Quick fix for map memory crash when drawing a destroyed vehicle tile --- src/cata_tiles.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index bc37a8c2d04d6..1c00f6631bcf5 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -1970,7 +1970,9 @@ bool cata_tiles::draw_from_id_string( std::string id, TILE_CATEGORY category, { // new scope for variable declarations const optional_vpart_position vp = g->m.veh_at( pos ); - seed = vp->mount().x + vp->mount().y * 65536; + if( vp ) { + seed = vp->mount().x + vp->mount().y * 65536; + } } break; case C_ITEM: From 07d6219d8fdfee6dd2dbfd47a94ffa65504fa6dd Mon Sep 17 00:00:00 2001 From: Insineer Date: Sat, 26 Jan 2019 04:21:11 +0300 Subject: [PATCH 61/85] fix(butcher): fix "cut up everything" message for low morale Fix #27744 --- src/game.cpp | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 3c8816bf9e108..4112e25e0d0d4 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -9591,36 +9591,17 @@ void game::butcher() } } - bool no_morale_butcher = false; if( !u.has_morale_to_craft() ) { - switch( butcher_select ) { - case BUTCHER_OTHER: - switch( indexer_index ) { - case MULTIBUTCHER: - no_morale_butcher = true; - break; - } - /* fallthrough */ - case BUTCHER_CORPSE: - no_morale_butcher = true; - break; - case BUTCHER_DISASSEMBLE: - break; - case BUTCHER_SALVAGE: - break; - } - - if( no_morale_butcher ) { + if( butcher_select == BUTCHER_CORPSE || indexer_index == MULTIBUTCHER ) { add_msg( m_info, _( "You are not in the mood and the prospect of guts and blood on your hands convinces you to turn away." ) ); - return; } else { add_msg( m_info, _( "You are not in the mood and the prospect of work stops you before you begin." ) ); - return; } - + return; } + switch( butcher_select ) { case BUTCHER_OTHER: switch( indexer_index ) { From 72e801b8960506944fc44a83a1ece92ad3ce7b9d Mon Sep 17 00:00:00 2001 From: Firestorm01X2 Date: Sat, 26 Jan 2019 07:20:19 +0300 Subject: [PATCH 62/85] Special bionic installation messages for Prototype mutants and masochists (#27749) * Special bionic installation message for deadended mutants and masochists Special bionic installation message for deadended mutants and masochists --- src/bionics.cpp | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/bionics.cpp b/src/bionics.cpp index d7d7eb542f68b..9fe8a459deafd 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -77,6 +77,11 @@ const efftype_id effect_weed_high( "weed_high" ); static const trait_id trait_PROF_MED( "PROF_MED" ); static const trait_id trait_PROF_AUTODOC( "PROF_AUTODOC" ); +static const trait_id trait_THRESH_MEDICAL( "THRESH_MEDICAL" ); +static const trait_id trait_MASOCHIST( "MASOCHIST" ); +static const trait_id trait_MASOCHIST_MED( "MASOCHIST_MED" ); +static const trait_id trait_CENOBITE( "CENOBITE" ); + namespace { std::map bionics; @@ -1545,15 +1550,34 @@ void player::introduce_into_anesthesia( const time_duration &duration, player &i _( "You settle into position, sliding your right wrist into the couch's strap." ), _( " settles into position, sliding their wrist into the couch's strap." ) ); if( anesthetic ) { + //post-threshold medical mutants do not fear operations. + if( has_trait( trait_THRESH_MEDICAL ) ) { + add_msg_if_player( m_mixed, + _( "You feel excited as the operation starts." ) ); + } + add_msg_if_player( m_mixed, _( "You feel a tiny pricking sensation in your right arm, and lose all sensation before abruptly blacking out." ) ); //post-threshold medical mutants with Deadened don't need anesthesia due to their inability to feel pain } else { + //post-threshold medical mutants do not fear operations. + if( has_trait( trait_THRESH_MEDICAL ) ) { + add_msg_if_player( m_mixed, + _( "You feel excited as the Autodoc slices painlessly into you. You enjoy the sight of scalpels slicing you apart, but as operation proceeds you suddenly feel tired and pass out." ) ); + } else { + add_msg_if_player( m_mixed, + _( "You stay very, very still, focusing intently on an interesting rock on the ceiling, as the Autodoc slices painlessly into you. Mercifully, you pass out when the blades reach your line of sight." ) ); + } + } + + //Pain junkies feel sorry about missed pain from operation. + if( has_trait( trait_MASOCHIST ) || has_trait( trait_MASOCHIST_MED ) || + has_trait( trait_CENOBITE ) ) { add_msg_if_player( m_mixed, - _( "You stay very, very still, focusing intently on an interesting rock on the ceiling, as the Autodoc slices painlessly into you. Mercifully, you pass out when the blades reach your line of sight." ) ) - ; + _( "As your conciousness slips away, you feel regret that you won't be able to enjoy the operation." ) ); } + add_effect( effect_narcosis, duration ); fall_asleep( duration ); } From ca3a26e2f5ae7b942d3f43686866ef2c42d90cec Mon Sep 17 00:00:00 2001 From: Firestorm01X2 Date: Sat, 26 Jan 2019 07:21:41 +0300 Subject: [PATCH 63/85] JSONizing CBM slot feature (#27780) * Replace DEBUG_CBM_SLOTS mutation with an option. --- data/json/game_balance.json | 7 +++++++ data/json/mutations.json | 8 -------- src/bionics.cpp | 2 +- src/bionics_ui.cpp | 9 +++++---- src/item.cpp | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/data/json/game_balance.json b/data/json/game_balance.json index ecffadc6060ad..afad375190251 100644 --- a/data/json/game_balance.json +++ b/data/json/game_balance.json @@ -138,5 +138,12 @@ "info": "Enables sleep deprivation mechanics. If true, stimulants will only help you so far, and you might have to enforce proper sleep hygiene for a while.", "stype": "bool", "value": false + }, + { + "type": "EXTERNAL_OPTION", + "name": "CBM_SLOTS_ENABLED", + "info": "Enables CBM slots mechanics. If true CBM slots are enabled.", + "stype": "bool", + "value": false } ] diff --git a/data/json/mutations.json b/data/json/mutations.json index 530b0a0500535..f090d5b4bed82 100644 --- a/data/json/mutations.json +++ b/data/json/mutations.json @@ -5765,14 +5765,6 @@ "valid" : false, "description" : "Crafting and construction requirements bugger off with this one. Apply with care.", "debug" : true - },{ - "type" : "mutation", - "id" : "DEBUG_CBM_SLOTS", - "name" : "Debug CBM Slots Limits", - "points" : 99, - "valid" : false, - "description" : "Limitate the number of bionics which you're able to install in your body.", - "debug" : true },{ "type" : "mutation", "id" : "DEBUG_MIND_CONTROL", diff --git a/src/bionics.cpp b/src/bionics.cpp index 9fe8a459deafd..d7864b0d363ab 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -1220,7 +1220,7 @@ int player::get_used_bionics_slots( const body_part bp ) const std::map player::bionic_installation_issues( const bionic_id &bioid ) { std::map issues; - if( !has_trait( trait_id( "DEBUG_CBM_SLOTS" ) ) ) { + if( !get_option < bool >( "CBM_SLOTS_ENABLED" ) ) { return issues; } for( auto &elem : bioid->occupied_bodyparts ) { diff --git a/src/bionics_ui.cpp b/src/bionics_ui.cpp index a0e05fa09b54a..2bb3d1cf423ea 100644 --- a/src/bionics_ui.cpp +++ b/src/bionics_ui.cpp @@ -10,6 +10,7 @@ #include "output.h" #include "string_formatter.h" #include "translations.h" +#include "options.h" // '!', '-' and '=' are uses as default bindings in the menu const invlet_wrapper @@ -141,7 +142,7 @@ void draw_description( const catacurses::window &win, const bionic &bio ) ypos += 1 + fold_and_print( win, ypos, 0, width, c_light_blue, bio.id->description ); // @todo: Unhide when enforcing limits - if( g->u.has_trait( trait_id( "DEBUG_CBM_SLOTS" ) ) ) { + if( get_option < bool >( "CBM_SLOTS_ENABLED" ) ) { const bool each_bp_on_new_line = ypos + static_cast( num_bp ) + 1 < getmaxy( win ); ypos += fold_and_print( win, ypos, 0, width, c_light_gray, list_occupied_bps( bio.id, _( "This bionic occupies the following body parts:" ), @@ -159,7 +160,7 @@ void draw_connectors( const catacurses::window &win, const int start_y, const in for( const auto &elem : bio_id->occupied_bodyparts ) { pos_and_num.emplace_back( static_cast( elem.first ) + LIST_START_Y, elem.second ); } - if( pos_and_num.empty() || !g->u.has_trait( trait_id( "DEBUG_CBM_SLOTS" ) ) ) { + if( pos_and_num.empty() || !get_option < bool >( "CBM_SLOTS_ENABLED" ) ) { return; } @@ -405,7 +406,7 @@ void player::power_bionics() max_width = std::max( max_width, utf8_width( s ) ); } const int pos_x = WIDTH - 2 - max_width; - if( g->u.has_trait( trait_id( "DEBUG_CBM_SLOTS" ) ) ) { + if( get_option < bool >( "CBM_SLOTS_ENABLED" ) ) { for( size_t i = 0; i < bps.size(); ++i ) { mvwprintz( wBio, i + list_start_y, pos_x, c_light_gray, bps[i] ); } @@ -435,7 +436,7 @@ void player::power_bionics() *( *current_bionic_list )[i] ).c_str() ); trim_and_print( wBio, list_start_y + i - scroll_position, 2, WIDTH - 3, col, desc ); - if( is_highlighted && menu_mode != EXAMINING && g->u.has_trait( trait_id( "DEBUG_CBM_SLOTS" ) ) ) { + if( is_highlighted && menu_mode != EXAMINING && get_option < bool >( "CBM_SLOTS_ENABLED" ) ) { const bionic_id bio_id = ( *current_bionic_list )[i]->id; draw_connectors( wBio, list_start_y + i - scroll_position, utf8_width( desc ) + 3, pos_x - 2, bio_id ); diff --git a/src/item.cpp b/src/item.cpp index 705e58dfc8568..f67c85efb7069 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -2270,7 +2270,7 @@ std::string item::info( std::vector &info, const iteminfo_query *parts } // @todo: Unhide when enforcing limits - if( is_bionic() && g->u.has_trait( trait_id( "DEBUG_CBM_SLOTS" ) ) + if( is_bionic() && get_option < bool >( "CBM_SLOTS_ENABLED" ) && parts->test( iteminfo_parts::DESCRIPTION_CBM_SLOTS ) ) { info.push_back( iteminfo( "DESCRIPTION", list_occupied_bps( type->bionic->id, _( "This bionic is installed in the following body part(s):" ) ) ) ); From 34cad8d74c0bd104af76c09f7040dd3417b94cde Mon Sep 17 00:00:00 2001 From: DeltaEpsilon7787 Date: Thu, 24 Jan 2019 09:25:47 +0600 Subject: [PATCH 64/85] Boost vehicle interior heating. --- src/map.cpp | 2 +- src/vehicle_part.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/map.cpp b/src/map.cpp index 4111e42f108b9..5dcd1191abb89 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -4562,7 +4562,7 @@ void map::process_items_in_vehicle( vehicle &cur_veh, submap ¤t_submap, co if( item_iter->is_food() || item_iter->is_food_container() ) { const vpart_info &pti = pt.info(); if( engine_heater_is_on ) { - it_temp = std::max( it_temp, temperatures::cold + 1 ); + it_temp = std::max( it_temp, temperatures::normal ); } // some vehicle parts provide insulation, default is 1 it_insulation = item::find_type( pti.item )->insulation_factor; diff --git a/src/vehicle_part.cpp b/src/vehicle_part.cpp index c491bcb6a0172..3b5cfeab47353 100644 --- a/src/vehicle_part.cpp +++ b/src/vehicle_part.cpp @@ -330,7 +330,7 @@ void vehicle_part::process_contents( const tripoint &pos, const bool e_heater ) if( base.is_food_container() ) { int temp = g->get_temperature( pos ); if( e_heater ) { - temp = std::max( temp, temperatures::cold + 1 ); + temp = std::max( temp, temperatures::normal ); } base.process( nullptr, pos, false, temp, 1 ); } From 0d7b11a97b06b31bcf37a167df6a5f5660910330 Mon Sep 17 00:00:00 2001 From: davidpwbrown Date: Thu, 24 Jan 2019 22:24:02 +0000 Subject: [PATCH 65/85] added terrain blocking to wind turbine and upped its power --- data/json/vehicle_parts.json | 2 +- src/vehicle.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/data/json/vehicle_parts.json b/data/json/vehicle_parts.json index 8f80136e6380f..5f8ada9f83e29 100644 --- a/data/json/vehicle_parts.json +++ b/data/json/vehicle_parts.json @@ -1250,7 +1250,7 @@ "damage_modifier": 10, "durability": 15, "description": "A small wind turbine. Will slowly recharge the vehicle's electrical power when exposed to the wind.", - "epower": 17, + "epower": 60, "item": "wind_turbine", "location": "on_roof", "requirements": { diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 6eb761d4eb6be..47dbcebbf099e 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -5165,7 +5165,6 @@ void vehicle::update_time( const time_point &update_to ) charge_battery( energy_bat ); } } - if( !wind_turbines.empty() ) { int epower_w = 0; for( int part : wind_turbines ) { @@ -5179,8 +5178,11 @@ void vehicle::update_time( const time_point &update_to ) epower_w += part_epower_w( part ); } + //Wind Turbine less efficient in forests + const oter_id &cur_om_ter = overmap_buffer.ter( g->m.getabs( global_pos3() ) ); const w_point weatherPoint = *g->weather_precise; int windpower = weatherPoint.windpower; + windpower = get_local_windpower( windpower, cur_om_ter, false ); double intensity = windpower / to_turns( elapsed ); int energy_bat = power_to_energy_bat( epower_w * intensity, 6 * to_turns( elapsed ) ); if( energy_bat > 0 ) { From 2c2b3840541609eae29214be12d91b4f641dec08 Mon Sep 17 00:00:00 2001 From: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Date: Sat, 26 Jan 2019 05:12:48 +0000 Subject: [PATCH 66/85] Moved windgen variables to region json (#27848) * moved windgen variables to region json * updated docs for regions --- data/json/regional_map_settings.json | 10 +++++++++- doc/REGION_SETTINGS.md | 21 ++++++++++++++------- src/weather_gen.cpp | 8 ++++++-- src/weather_gen.h | 4 ++++ 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index 5647dd1715917..c887649745d49 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -630,7 +630,15 @@ "s_petstore": 1 } }, - "weather": { "base_temperature": 6.5, "base_humidity": 66.0, "base_pressure": 1015.0, "base_acid": 0.0 }, + "weather": { + "base_temperature": 6.5, + "base_humidity": 66.0, + "base_pressure": 1015.0, + "base_acid": 0.0, + "base_wind": 5.7, + "base_wind_distrib_peaks": 30, + "base_wind_season_variation": 64 + }, "overmap_feature_flag_settings": { "clear_blacklist": false, "blacklist": [ ], "clear_whitelist": false, "whitelist": [ ] } } ] diff --git a/doc/REGION_SETTINGS.md b/doc/REGION_SETTINGS.md index 916e5d7a4021f..b5dc9936b4e0e 100644 --- a/doc/REGION_SETTINGS.md +++ b/doc/REGION_SETTINGS.md @@ -389,12 +389,15 @@ The **weather** section defines the base weather attributes used for the region. ### Fields -| Identifier | Description | -| ------------------ | --------------------------------------------------------------------- | -| `base_temperature` | Base temperature for the region in degrees Celsius. | -| `base_humidity` | Base humidity for the region in relative humidity % | -| `base_pressure` | Base pressure for the region in millibars. | -| `base_acid` | Base acid for the region in ? units. Value >= 1 is considered acidic. | +| Identifier | Description | +| ------------------------------ | --------------------------------------------------------------------- | +| `base_temperature` | Base temperature for the region in degrees Celsius. | +| `base_humidity` | Base humidity for the region in relative humidity % | +| `base_pressure` | Base pressure for the region in millibars. | +| `base_acid` | Base acid for the region in ? units. Value >= 1 is considered acidic. | +| `base_wind` | Base wind for the region in mph units. Roughly the yearly average. | +| `base_wind_distrib_peaks` | How high the wind peaks can go. Higher values produce windier days. | +| `base_wind_season_variation` | How the wind varies with season. Lower values produce more variation | ### Example @@ -404,6 +407,10 @@ The **weather** section defines the base weather attributes used for the region. "base_temperature": 6.5, "base_humidity": 66.0, "base_pressure": 1015.0, + "base_acid": 0.0, + "base_wind": 5.7, + "base_wind_distrib_peaks": 30, + "base_wind_season_variation": 64, "base_acid": 0.0 } } @@ -464,4 +471,4 @@ All additional fields and sections are as defined for a `region_overlay`. } } }] -``` \ No newline at end of file +``` diff --git a/src/weather_gen.cpp b/src/weather_gen.cpp index 13217aefaa46d..62453cb8fecfa 100644 --- a/src/weather_gen.cpp +++ b/src/weather_gen.cpp @@ -83,8 +83,9 @@ w_point weather_generator::get_weather( const tripoint &location, const time_poi base_pressure; // Pressure is mostly random, but a bit higher on summer and lower on winter. In millibars. // Wind power - W = std::max( 0, static_cast( 5.7 / pow( P / 1014.78, rng( 9, 30 ) ) + - ( seasonal_variation / 64 ) * rng( 1, 2 ) * W ) ); + W = std::max( 0, static_cast( base_wind / pow( P / 1014.78, rng( 9, + base_wind_distrib_peaks ) ) + + ( seasonal_variation / base_wind_season_variation ) * rng( 1, 2 ) * W ) ); // Wind direction // initial static variable if( current_winddir == 1000 ) { @@ -269,5 +270,8 @@ weather_generator weather_generator::load( JsonObject &jo ) ret.base_humidity = jo.get_float( "base_humidity", 66.0 ); ret.base_pressure = jo.get_float( "base_pressure", 1015.0 ); ret.base_acid = jo.get_float( "base_acid", 1015.0 ); + ret.base_wind = jo.get_float( "base_wind", 5.7 ); + ret.base_wind_distrib_peaks = jo.get_int( "base_wind_distrib_peaks", 30 ); + ret.base_wind_season_variation = jo.get_int( "base_wind_season_variation", 64 ); return ret; } diff --git a/src/weather_gen.h b/src/weather_gen.h index d859572e6c995..d4f38f62af883 100644 --- a/src/weather_gen.h +++ b/src/weather_gen.h @@ -26,6 +26,10 @@ class weather_generator double base_humidity = 66.0; // Average humidity double base_pressure = 1015.0; // Average atmospheric pressure double base_acid = 0.0; + double base_wind = 5.7; //Average yearly windspeed of New England + int base_wind_distrib_peaks = 30; //How much the wind peaks above average + int base_wind_season_variation = + 64; //How much the wind folows seasonal variation ( lower means more change ) static int current_winddir; weather_generator(); From ff845a081fc88478d96423de9fc6b6a29a0084b9 Mon Sep 17 00:00:00 2001 From: Mark Langsdorf Date: Fri, 25 Jan 2019 23:42:59 -0600 Subject: [PATCH 67/85] npctalk: move NPC needs to JSON (#27858) add dynamic lines and and conditions based on NPC hunger, thirst, or fatigue. --- data/json/npcs/TALK_TEST.json | 36 ++++++++++++++++++++++++++++++ doc/NPCs.md | 26 ++++++++++++++++++++++ src/character.h | 7 ++++++ src/npctalk.cpp | 41 +++++++++++++++++++++++++++++++++++ tests/npc_talk_test.cpp | 31 ++++++++++++++++++++++++++ 5 files changed, 141 insertions(+) diff --git a/data/json/npcs/TALK_TEST.json b/data/json/npcs/TALK_TEST.json index 13e69e278fb25..79f896e8a937d 100644 --- a/data/json/npcs/TALK_TEST.json +++ b/data/json/npcs/TALK_TEST.json @@ -175,6 +175,42 @@ { "text": "This an error! npc allies 2 test response.", "topic": "TALK_DONE", "condition": { "npc_allies": 2 } } ] }, + { + "type": "talk_topic", + "id": "TALK_TEST_NPC_NEEDS", + "dynamic_line": "This is a test conversation that shouldn't appear in the game.", + "responses": [ + { "text": "This is a basic test response.", "topic": "TALK_DONE" }, + { + "text": "This is a npc thirst test response.", + "topic": "TALK_DONE", + "condition": { "npc_need": "thirst", "amount": 75 } + }, + { + "text": "This is a npc hunger test response.", + "topic": "TALK_DONE", + "condition": { "npc_need": "hunger", "amount": 75 } + }, + { + "text": "This is a npc fatigue test response.", + "topic": "TALK_DONE", + "condition": { "npc_need": "fatigue", "level": "DEAD_TIRED" } + } + ] + }, + { + "type": "talk_topic", + "id": "TALK_TEST_MISSION_GOAL", + "dynamic_line": "This is a test conversation that shouldn't appear in the game.", + "responses": [ + { "text": "This is a basic test response.", "topic": "TALK_DONE" }, + { + "text": "This is a mission goal test response.", + "topic": "TALK_DONE", + "condition": { "mission_goal": "MGOAL_ASSASSINATE" } + } + ] + }, { "type": "talk_topic", "id": "TALK_TEST_SEASON", diff --git a/doc/NPCs.md b/doc/NPCs.md index 76796303f6614..3de2737194f9d 100644 --- a/doc/NPCs.md +++ b/doc/NPCs.md @@ -256,6 +256,32 @@ The dynamic line is chosen based on whether the NPC is currently is under the ef } ``` +#### Based on the NPC's current needs +The dynamic line is chosed based on the NPC's current hunger, thirst, or fatigue. `level` or `amount` is required: `amount` is an integer, and `level` is one of the four defined fatigue levels "TIRED", "DEAD_TIRED", "EXHAUSTED", or "MASSIVE_FATIGUE". The line from `yes` will be shown if the NPC's need is at least that amount, and otherwise the line from `no`. + +```C++ +{ + "and" [ + { + "npc_need": "hunger", + "amount": 100, + "yes": "I'm hungry! " + }, + { + "npc_need": "thirst", + "amount": 100, + "yes": "I need a drink! " + }, + { + "npc_need": "fatigue", + "level": "TIRED", + "yes": "I could use a nap.", + "no": "I'm otherwise good." + } + ] +} +``` + #### Based on whether the NPC has missions available The dynamic line is chosen based on whether the NPC has any missions to give out. All entries are optional. The line from `many` will be shown in the NPC has two or more missions to assign to the player, the line from `one` will be shown if the NPC has one mission available, and otherwise the line from `none` will be shown. diff --git a/src/character.h b/src/character.h index c25fcea9234bd..c2bf6f59a5f8e 100644 --- a/src/character.h +++ b/src/character.h @@ -63,6 +63,13 @@ enum fatigue_levels { EXHAUSTED = 575, MASSIVE_FATIGUE = 1000 }; +const std::unordered_map fatigue_level_strs = { { + { "TIRED", TIRED }, + { "DEAD_TIRED", DEAD_TIRED }, + { "EXHAUSTED", EXHAUSTED }, + { "MASSIVE_FATIGUE", MASSIVE_FATIGUE } + } +}; // Sleep deprivation is defined in minutes, and although most calculations scale linearly, // maluses are bestowed only upon reaching the tiers defined below. diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 1bc9404bac21a..1d06e8ad56780 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -2608,6 +2608,24 @@ conditional_t::conditional_t( JsonObject jo ) condition = [effect]( const dialogue & d ) { return d.alpha->has_effect( efftype_id( effect ) ); }; + } else if( jo.has_string( "npc_need" ) ) { + const std::string need = jo.get_string( "npc_need" ); + int amount = 0; + if( jo.has_int( "amount" ) ) { + amount = jo.get_int( "amount" ); + } else if( jo.has_string( "level" ) ) { + const std::string &level = jo.get_string( "level" ); + auto flevel = fatigue_level_strs.find( level ); + if( flevel != fatigue_level_strs.end() ) { + amount = static_cast( flevel->second ); + } + } + condition = [need, amount]( const dialogue &d) { + npc &p = *d.beta; + return ( p.get_fatigue() > amount && need == "fatigue" ) || + ( p.get_hunger() > amount && need == "hunger" ) || + ( p.get_thirst() > amount && need == "thirst" ); + }; } else if( jo.has_string( "u_at_om_location" ) ) { const std::string &location = jo.get_string( "u_at_om_location" ); condition = [location]( const dialogue & d ) { @@ -3064,6 +3082,29 @@ dynamic_line_t::dynamic_line_t( JsonObject jo ) function = [is_day, is_night]( const dialogue & d ) { return ( calendar::turn.is_night() ? is_night : is_day )( d ); }; + } else if( jo.has_member( "npc_need" ) ) { + const std::string &need = jo.get_string( "npc_need" ); + int amount = 0; + if( jo.has_int( "amount" ) ) { + amount = jo.get_int( "amount" ); + } else { + const std::string &level = jo.get_string( "level" ); + auto flevel = fatigue_level_strs.find( level ); + if( flevel != fatigue_level_strs.end() ) { + amount = static_cast( flevel->second ); + } + } + const dynamic_line_t yes = from_member( jo, "yes" ); + const dynamic_line_t no = from_member( jo, "no" ); + function = [need, amount, yes, no]( const dialogue & d ) { + npc &p = *d.beta; + if( ( p.get_fatigue() > amount && need == "fatigue" ) || + ( p.get_hunger() > amount && need == "hunger" ) || + ( p.get_thirst() > amount && need == "thirst" ) ) { + return yes( d ); + } + return no( d ); + }; } else if( jo.has_member( "u_driving" ) || jo.has_member( "npc_driving" ) ) { const dynamic_line_t u_driving = from_member( jo, "u_driving" ); const dynamic_line_t npc_driving = from_member( jo, "npc_driving" ); diff --git a/tests/npc_talk_test.cpp b/tests/npc_talk_test.cpp index aa37bd5916438..56403a532ee37 100644 --- a/tests/npc_talk_test.cpp +++ b/tests/npc_talk_test.cpp @@ -8,6 +8,7 @@ #include "faction.h" #include "game.h" #include "map.h" +#include "mission.h" #include "npc.h" #include "overmapbuffer.h" #include "player.h" @@ -223,6 +224,36 @@ TEST_CASE( "npc_talk_test" ) CHECK( d.responses[0].text == "This is a basic test response." ); CHECK( d.responses[1].text == "This is a npc allies 1 test response." ); + d.add_topic( "TALK_TEST_NPC_NEEDS" ); + gen_response_lines( d, 1 ); + CHECK( d.responses[0].text == "This is a basic test response." ); + talker_npc.set_thirst( 90 ); + talker_npc.set_hunger( 90 ); + talker_npc.set_fatigue( EXHAUSTED ); + gen_response_lines( d, 4 ); + CHECK( d.responses[0].text == "This is a basic test response." ); + CHECK( d.responses[1].text == "This is a npc thirst test response." ); + CHECK( d.responses[2].text == "This is a npc hunger test response." ); + CHECK( d.responses[3].text == "This is a npc fatigue test response." ); + + d.add_topic( "TALK_TEST_MISSION_GOAL" ); + gen_response_lines( d, 1 ); + CHECK( d.responses[0].text == "This is a basic test response." ); + const std::vector &all_missions = mission_type::get_all(); + bool set_mission = false; + for( const mission_type &some_mission : all_missions ) { + if( some_mission.goal == MGOAL_ASSASSINATE ) { + mission *assassinate = mission::reserve_new( some_mission.id, talker_npc.getID() ); + talker_npc.chatbin.mission_selected = assassinate; + set_mission = true; + break; + } + } + CHECK( set_mission ); + gen_response_lines( d, 2 ); + CHECK( d.responses[0].text == "This is a basic test response." ); + CHECK( d.responses[1].text == "This is a mission goal test response." ); + const calendar old_calendar = calendar::turn; calendar::turn = calendar::start; d.add_topic( "TALK_TEST_SEASON" ); From 5da8e3977e297d981835e3cc887c47fc92b69b87 Mon Sep 17 00:00:00 2001 From: nsklaus Date: Mon, 21 Jan 2019 00:20:54 +0100 Subject: [PATCH 68/85] zombie dance dance coach instructor 3k --- gfx/RetroDaysTileset/tiles.png | Bin 98959 -> 103208 bytes src/cata_tiles.cpp | 32 +++++++++++++++++++++++++------- src/creature.h | 9 ++++++++- src/monmove.cpp | 6 ++++++ src/player.cpp | 8 ++++++-- 5 files changed, 45 insertions(+), 10 deletions(-) diff --git a/gfx/RetroDaysTileset/tiles.png b/gfx/RetroDaysTileset/tiles.png index 8113fa045ebba85e0762ad8d95d3a4666c239f56..9d7996dba2bd5aa0e1f818bcbe2ed5b6a8fc5b4c 100644 GIT binary patch literal 103208 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 literal 98959 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%0AiZqo=%`JGz|z)HW?tey=B4GG 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 a2zLMgf0X3apOwlXLjFHQv*n`z diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index 1c00f6631bcf5..cf12f940a811b 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -15,6 +15,7 @@ #include "debug.h" #include "field.h" #include "game.h" +#include "input.h" #include "item.h" #include "item_factory.h" #include "itype.h" @@ -1944,12 +1945,10 @@ bool cata_tiles::draw_from_id_string( std::string id, TILE_CATEGORY category, category, subcategory, pos, -1, rota, ll, apply_night_vision_goggles, height_3d ); } } - // make sure we aren't going to rotate the tile if it shouldn't be rotated - if( !display_tile.rotates ) { + if( !display_tile.rotates && !( category == C_NONE ) && !( category == C_MONSTER ) ) { rota = 0; } - // translate from player-relative to screen relative tile position const point screen_pos = player_to_screen( pos.x, pos.y ); @@ -2137,6 +2136,9 @@ bool cata_tiles::draw_sprite_at( const tile_type &tile, #endif ret = sprite_tex->render_copy_ex( renderer, &destination, 90, NULL, SDL_FLIP_NONE ); break; + case 4: // flip horizontaly + ret = sprite_tex->render_copy_ex( renderer, &destination, 0, NULL, + static_cast( SDL_FLIP_HORIZONTAL ) ); } } else { // don't rotate, same as case 0 above ret = sprite_tex->render_copy_ex( renderer, &destination, 0, NULL, SDL_FLIP_NONE ); @@ -2576,8 +2578,14 @@ bool cata_tiles::draw_entity( const Creature &critter, const tripoint &p, lit_le ent_subcategory = m->type->species.begin()->str(); } const int subtile = corner; - return draw_from_id_string( ent_name.str(), ent_category, ent_subcategory, p, subtile, - 0, ll, false, height_3d ); + // depending on the toggle flip sprite left or right + if( m->facing == FD_LEFT ) { + return draw_from_id_string( ent_name.str(), ent_category, ent_subcategory, p, subtile, + 4, ll, false, height_3d ); + } else if( m->facing == FD_RIGHT ) { + return draw_from_id_string( ent_name.str(), ent_category, ent_subcategory, p, subtile, + 0, ll, false, height_3d ); + } } const player *pl = dynamic_cast( &critter ); if( pl != nullptr ) { @@ -2600,7 +2608,13 @@ void cata_tiles::draw_entity_with_overlays( const player &pl, const tripoint &p, // first draw the character itself(i guess this means a tileset that // takes this seriously needs a naked sprite) int prev_height_3d = height_3d; - draw_from_id_string( ent_name, C_NONE, "", p, corner, 0, ll, false, height_3d ); + + // depending on the toggle flip sprite left or right + if( pl.facing == FD_LEFT ) { + draw_from_id_string( ent_name, C_NONE, "", p, corner, 4, ll, false, height_3d ); + } else if( pl.facing == FD_RIGHT ) { + draw_from_id_string( ent_name, C_NONE, "", p, corner, 0, ll, false, height_3d ); + } // next up, draw all the overlays std::vector overlays = pl.get_overlay_ids(); @@ -2608,7 +2622,11 @@ void cata_tiles::draw_entity_with_overlays( const player &pl, const tripoint &p, std::string draw_id = overlay; if( find_overlay_looks_like( pl.male, overlay, draw_id ) ) { int overlay_height_3d = prev_height_3d; - draw_from_id_string( draw_id, C_NONE, "", p, corner, 0, ll, false, overlay_height_3d ); + if( pl.facing == FD_LEFT ) { + draw_from_id_string( draw_id, C_NONE, "", p, corner, 4, ll, false, overlay_height_3d ); + } else if( pl.facing == FD_RIGHT ) { + draw_from_id_string( draw_id, C_NONE, "", p, corner, 0, ll, false, overlay_height_3d ); + } // the tallest height-having overlay is the one that counts height_3d = std::max( height_3d, overlay_height_3d ); } diff --git a/src/creature.h b/src/creature.h index 0b332f3ba3587..051513c5b3b19 100644 --- a/src/creature.h +++ b/src/creature.h @@ -58,6 +58,12 @@ enum m_size : int { MS_HUGE // TAAAANK }; +enum FacingDirection { + FD_NONE = 0, + FD_LEFT = 1, + FD_RIGHT = 2 +}; + class Creature { public: @@ -79,7 +85,8 @@ class Creature virtual bool is_monster() const { return false; } - + /** return the direction the creature is facing, for sdl horizontal flip **/ + FacingDirection facing = FD_RIGHT; /** Returns true for non-real Creatures used temporarily; i.e. fake NPC's used for turret fire. */ virtual bool is_fake() const; /** Sets a Creature's fake boolean. */ diff --git a/src/monmove.cpp b/src/monmove.cpp index f12b0ad83ecd4..4c28ff9d1db17 100644 --- a/src/monmove.cpp +++ b/src/monmove.cpp @@ -606,6 +606,12 @@ void monster::move() // Otherwise weird things happen destination.z = posz(); } + // toggle facing direction for sdl flip + if( destination.x < pos().x ) { + facing = FD_LEFT; + } else { + facing = FD_RIGHT; + } tripoint next_step; const bool staggers = has_flag( MF_STUMBLES ); diff --git a/src/player.cpp b/src/player.cpp index 4afd9f8cbcdd5..0fddcc398ddcb 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -825,6 +825,12 @@ void player::process_turn() add_msg_if_player( m_info, _( "You learned a new style." ) ); } } + if( inp_mngr.get_previously_pressed_key() == KEY_LEFT ) { + facing = FD_LEFT; + } + else if( inp_mngr.get_previously_pressed_key() == KEY_RIGHT ) { + facing = FD_RIGHT; + } } void player::action_taken() @@ -11519,7 +11525,6 @@ action_id player::get_next_auto_move_direction() // Should never happen, but check just in case return ACTION_NULL; } - return get_movement_direction_from_delta( dp.x, dp.y, dp.z ); } @@ -12219,7 +12224,6 @@ float player::speed_rating() const if( move_mode != "run" ) { ret *= 1.0f + (static_cast( stamina ) / static_cast( get_stamina_max() )); } - return ret; } From 3c087f857a2bb62079319344fd11abbb91cd23b3 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 26 Jan 2019 10:22:07 +0000 Subject: [PATCH 69/85] Update main.cpp header comment This comment was unhelpful and rather unprofessional. Tweak it. --- src/main.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 592e08ac6475d..0f6c51b86416e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,7 +1,4 @@ -/* Main Loop for cataclysm - * Linux only I guess - * But maybe not - * Who knows +/* Entry point and main loop for Cataclysm */ #include From 5cd6b1341d7718189120357ca51446851614a1b8 Mon Sep 17 00:00:00 2001 From: Mark Langsdorf Date: Fri, 25 Jan 2019 05:37:37 -0600 Subject: [PATCH 70/85] npctalk: NPC AI follower rules to JSON Change npc_follower_rules to use a enum bitfield instead of individual booleans to make it easier to write a single function to toggle the rules. Then create functions to toggle NPC follower AI rules and move all that dialogue into JSON. --- data/json/npcs/TALK_COMMON_ALLY.json | 414 +++++++++++++++++++++++++ data/json/npcs/TALK_COMMON_OTHER.json | 70 +---- data/json/npcs/TALK_TEST.json | 19 ++ doc/NPCs.md | 38 +++ src/dialogue.h | 4 + src/npc.cpp | 43 ++- src/npc.h | 60 +++- src/npcmove.cpp | 23 +- src/npctalk.cpp | 428 +++++++------------------- src/npctalk_funcs.cpp | 2 +- src/savegame_json.cpp | 35 +-- tests/npc_talk_test.cpp | 23 ++ 12 files changed, 724 insertions(+), 435 deletions(-) create mode 100644 data/json/npcs/TALK_COMMON_ALLY.json diff --git a/data/json/npcs/TALK_COMMON_ALLY.json b/data/json/npcs/TALK_COMMON_ALLY.json new file mode 100644 index 0000000000000..c7626dd90161d --- /dev/null +++ b/data/json/npcs/TALK_COMMON_ALLY.json @@ -0,0 +1,414 @@ +[ + { + "id": "TALK_WAKE_UP", + "type": "talk_topic", + "dynamic_line": { + "npc_has_effect": "sleep", + "yes": { + "npc_need": "fatigue", + "level": "EXHAUSTED", + "no": { + "npc_need": "fatigue", + "level": "DEAD_TIRED", + "no": { + "npc_need": "fatigue", + "level": "TIRED", + "no": "Just few minutes more...", + "yes": "Make it quick, I want to go back to sleep." + }, + "yes": "Just let me sleep, !" + }, + "yes": "No, just no..." + }, + "no": "Anything to do before I go to sleep?" + }, + "responses": [ + { "text": "Wake up!", "topic": "TALK_NONE", "effect": "wake_up" }, + { "text": "Go back to sleep.", "topic": "TALK_DONE" } + ] + }, + { + "id": [ "TALK_FRIEND", "TALK_GIVE_ITEM", "TALK_USE_ITEM" ], + "type": "talk_topic", + "responses": [ + { "text": "Combat commands...", "topic": "TALK_COMBAT_COMMANDS" }, + { "text": "Can I do anything for you?", "topic": "TALK_MISSION_LIST" }, + { + "text": "Can you teach me anything?", + "trial": { + "type": "CONDITION", + "condition": { + "or": [ + { "npc_need": "thirst", "amount": 80 }, + { "npc_need": "hunger", "amount": 160 }, + { "npc_need": "fatigue", "level": "TIRED" }, + { "npc_has_effect": "asked_to_train" } + ] + } + }, + "success": { "topic": "TALK_DENY_TRAIN" }, + "failure": { "topic": "TALK_TRAIN_PERSUADE" } + }, + { "text": "Let's trade items", "topic": "TALK_FRIEND", "effect": "start_trade" }, + { "text": "Guard this position", "topic": "TALK_FRIEND_GUARD", "effect": "assign_guard" }, + { "text": "I'd like to know a bit more about you...", "topic": "TALK_FRIEND", "effect": "reveal_stats" }, + { "text": "I want you to use this item", "topic": "TALK_USE_ITEM" }, + { "text": "Hold on to this item", "topic": "TALK_GIVE_ITEM" }, + { "text": "Miscellaneous rules...", "topic": "TALK_MISC_RULES" }, + { "text": "I'm going to go my own way for a while.", "topic": "TALK_LEAVE" }, + { "text": "Let's go.", "topic": "TALK_DONE" }, + { + "text": "Relax and chat with me for a while...", + "topic": "TALK_FRIEND_CHAT", + "condition": { "not": { "npc_has_effect": "asked_to_socialize" } } + }, + { "text": "Let's talk about faction camps.", "topic": "TALK_CAMP_GENERAL" } + ] + }, + { + "id": "TALK_COMBAT_COMMANDS", + "type": "talk_topic", + "dynamic_line": { + "and": [ + { + "npc_engagement_rule": "ENGAGE_NONE", + "no": { + "npc_engagement_rule": "ENGAGE_CLOSE", + "no": { + "npc_engagement_rule": "ENGAGE_WEAK", + "no": { + "npc_engagement_rule": "ENGAGE_HIT", + "no": { + "npc_engagement_rule": "ENGAGE_NO_MOVE", + "no": "*will engage all enemies.", + "yes": "*will engage enemies close enough to attack without moving." + }, + "yes": "*will engage enemies you attack." + }, + "yes": "*will engage weak enemies." + }, + "yes": "*will engage nearby enemies." + }, + "yes": "*will not engage enemies." + }, + { + "npc_rule": "use_guns", + "yes": { + "npc_rule": "use_silent", + "yes": " will use silenced ranged weapons.", + "no": " will use ranged weapons." + }, + "no": " will not use ranged weapons." + }, + { + "npc_rule": "use_grenades", + "yes": " will use grenades.", + "no": " will not use grenades." + }, + { + "npc_rule": "avoid_friendly_fire", + "yes": " will avoid shooting if allies are in the line of fire.", + "no": " will shoot even if allies are in the line of fire." + }, + " What should do?" + ] + }, + "responses": [ + { "text": "Change your engagement rules...", "topic": "TALK_COMBAT_ENGAGEMENT" }, + { "text": "Change your aiming rules...", "topic": "TALK_AIM_RULES" }, + { + "truefalsetext": { + "condition": { "npc_rule": "use_guns" }, + "true": "Don't use ranged weapons anymore.", + "false": "You can use ranged weapons." + }, + "topic": "TALK_COMBAT_COMMANDS", + "effect": { "toggle_npc_rule": "use_guns" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "use_silent" }, "true": "Don't worry about noise.", "false": "Use only silent weapons." }, + "topic": "TALK_COMBAT_COMMANDS", + "effect": { "toggle_npc_rule": "use_silent" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "use_grenades" }, "true": "Don't use grenades anymore.", "false": "You can use grenades." }, + "topic": "TALK_COMBAT_COMMANDS", + "effect": { "toggle_npc_rule": "use_grenades" } + }, + { + "truefalsetext": { + "condition": { "npc_rule": "avoid_friendly_fire" }, + "true": "Don't worry about shooting an ally.", + "false": "Don't shoot unless you're sure you won't hit an ally." + }, + "topic": "TALK_COMBAT_COMMANDS", + "effect": { "toggle_npc_rule": "avoid_friendly_fire" } + }, + { "text": "Never mind.", "topic": "TALK_NONE" } + ] + }, + { + "id": "TALK_COMBAT_ENGAGEMENT", + "type": "talk_topic", + "dynamic_line": { + "and": [ + { + "npc_engagement_rule": "ENGAGE_NONE", + "no": { + "npc_engagement_rule": "ENGAGE_CLOSE", + "no": { + "npc_engagement_rule": "ENGAGE_WEAK", + "no": { + "npc_engagement_rule": "ENGAGE_HIT", + "no": { + "npc_engagement_rule": "ENGAGE_NO_MOVE", + "no": "*will engage all enemies.", + "yes": "*will engage enemies close enough to attack without moving." + }, + "yes": "*will engage enemies you attack." + }, + "yes": "*will engage weak enemies." + }, + "yes": "*will engage nearby enemies." + }, + "yes": "*will not engage enemies." + }, + " What should do?" + ] + }, + "responses": [ + { + "text": "Don't fight unless your life depends on it.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_engagement_rule": "ENGAGE_NONE" } }, + "effect": { "set_npc_engagement_rule": "ENGAGE_NONE" } + }, + { + "text": "Attack enemies that get too close.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_engagement_rule": "ENGAGE_CLOSE" } }, + "effect": { "set_npc_engagement_rule": "ENGAGE_CLOSE" } + }, + { + "text": "Attack enemies that you can kill easily.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_engagement_rule": "ENGAGE_WEAK" } }, + "effect": { "set_npc_engagement_rule": "ENGAGE_WEAK" } + }, + { + "text": "Attack only enemies that I attack first.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_engagement_rule": "ENAGE_HIT" } }, + "effect": { "set_npc_engagement_rule": "ENGAGE_HIT" } + }, + { + "text": "Attack only enemies you can reach without moving.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_engagement_rule": "ENGAGE_NO_MOVE" } }, + "effect": { "set_npc_engagement_rule": "ENGAGE_NO_MOVE" } + }, + { + "text": "Attack anything you want.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_engagement_rule": "ENGAGE_ALL" } }, + "effect": { "set_npc_engagement_rule": "ENGAGE_ALL" } + }, + { "text": "Never mind.", "topic": "TALK_NONE" } + ] + }, + { + "id": "TALK_AIM_RULES", + "type": "talk_topic", + "dynamic_line": { + "and": [ + { + "npc_aim_rule": "AIM_WHEN_CONVENIENT", + "no": { + "npc_aim_rule": "AIM_STRICTLY_PRECISE", + "no": { "npc_aim_rule": "AIM_PRECISE", "no": "*will not bother to aim at all.", "yes": "*will take time and aim carefully." }, + "yes": "*will only shoot after taking a long time to aim." + }, + "yes": "*will aim when it's convenient." + }, + " How should aim?" + ] + }, + "responses": [ + { + "text": "Aim when it's convenient.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_aim_rule": "AIM_WHEN_CONVENIENT" } }, + "effect": { "set_npc_aim_rule": "AIM_WHEN_CONVENIENT" } + }, + { + "text": "Go wild, you don't need to aim much.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_aim_rule": "AIM_SPRAY" } }, + "effect": { "set_npc_aim_rule": "AIM_SPRAY" } + }, + { + "text": "Take your time, aim carefully.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_aim_rule": "AIM_PRECISE" } }, + "effect": { "set_npc_aim_rule": "AIM_PRECISE" } + }, + { + "text": "Don't shoot if you can't aim really well.", + "topic": "TALK_NONE", + "condition": { "not": { "npc_aim_rule": "AIM_STRICTLY_PRECISE" } }, + "effect": { "set_npc_aim_rule": "AIM_STRICTLY_PRECISE" } + }, + { "text": "Never mind.", "topic": "TALK_NONE" } + ] + }, + { + "id": "TALK_TRAIN_PERSUADE", + "type": "talk_topic", + "dynamic_line": "Why should I teach you?", + "responses": [ + { + "text": "Come on, we're friends.", + "trial": { "type": "PERSUADE", "difficulty": 0, "mods": [ [ "TRUST", 3 ], [ "VALUE", 1 ], [ "ANGER", -3 ] ] }, + "success": { "topic": "TALK_TRAIN" }, + "failure": { "topic": "TALK_DENY_PERSONAL", "effect": { "npc_add_effect": "asked_to_train", "duration": 3600 } } + }, + { "text": "Never mind then.", "topic": "TALK_NONE" }, + { "text": "Forget it, let's get going.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_MISC_RULES", + "type": "talk_topic", + "dynamic_line": { + "and": [ + { + "npc_rule": "allow_pick_up", + "yes": { "has_pickup_list": true, "yes": "* will pick up items from the whitelist.", "no": "* will pick up all items." }, + "no": "* will not pick up items." + }, + { + "npc_rule": "allow_bash", + "yes": " will bash down obstacles.", + "no": " will not bash down obstacles." + }, + { + "npc_rule": "allow_sleep", + "yes": " will sleep when tired.", + "no": " will sleep only when exhausted." + }, + { + "npc_rule": "allow_complain", + "yes": " will complain about wounds and needs.", + "no": " will only complain in an emergency." + }, + { + "npc_rule": "allow_pulp", + "yes": " will smash nearby zombie corpses.", + "no": " will leave zombie corpses intact." + }, + { + "npc_rule": "close_doors", + "yes": " will close doors behind themselves.", + "no": " will leave doors open." + } + ] + }, + "responses": [ + { + "text": "Follow same rules as this follower.", + "topic": "TALK_MISC_RULES", + "condition": { "npc_allies": 2 }, + "effect": "copy_npc_rules" + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_pick_up" }, "true": "Don't pick up items.", "false": "You can pick up items now." }, + "topic": "TALK_MISC_RULES", + "effect": { "toggle_npc_rule": "allow_pick_up" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_bash" }, "true": "Don't bash obstacles.", "false": "You can bash obstacles." }, + "topic": "TALK_MISC_RULES", + "effect": { "toggle_npc_rule": "allow_bash" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_sleep" }, "true": "Stay awake.", "false": "Sleep when you feel tired." }, + "topic": "TALK_MISC_RULES", + "effect": { "toggle_npc_rule": "allow_sleep" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_complain" }, "true": "Stay quiet.", "false": "Tell me when you need something." }, + "topic": "TALK_MISC_RULES", + "effect": { "toggle_npc_rule": "allow_complain" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_pulp" }, "true": "Leave corpses alone.", "false": "Smash zombie corpses." }, + "topic": "TALK_MISC_RULES", + "effect": { "toggle_npc_rule": "allow_pulp" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "close_doors" }, "true": "Leave doors open.", "false": "Close the doors." }, + "topic": "TALK_MISC_RULES", + "effect": { "toggle_npc_rule": "close_door" } + }, + { "text": "Set up pickup rules.", "topic": "TALK_MISC_RULES", "effect": "set_npc_pickup" }, + { "text": "Never mind.", "topic": "TALK_NONE" } + ] + }, + { + "id": "TALK_LEAVE", + "type": "talk_topic", + "dynamic_line": "You're really leaving?", + "responses": [ + { "text": "Yeah, I'm sure. Bye.", "topic": "TALK_DONE", "effect": "leave" }, + { "text": "Nah, I'm just kidding.", "topic": "TALK_NONE" } + ] + }, + { + "id": "TALK_FRIEND_CHAT", + "type": "talk_topic", + "dynamic_line": [ + { "u_has_item": "beer", "yes": "", "no": "" }, + { "u_has_item": "european_pilsner", "yes": "", "no": "" }, + { "u_has_item": "pale_ale", "yes": "", "no": "" }, + { "u_has_item": "india_pale_ale", "yes": "", "no": "" }, + { + "is_season": "summer", + "yes": "Yeah, this summer heat is hitting me hard, let's take a quick break, how goes it ?", + "no": "" + }, + { + "is_season": "winter", + "yes": "OK, maybe it'll stop me from freezing in this weather, what's up?", + "no": "" + }, + { + "is_day": "Well, it's the time of day for a quick break surely! How are you holding up?", + "is_night": "Man it's dark out isn't it? what's up?" + }, + { + "npc_has_effect": "infected", + "yes": "Well, I'm feeling pretty sick... are you doing OK though?", + "no": "" + }, + { + "u_has_mission": true, + "many": "Definitely, by the way, thanks for helping me so much with my tasks! Anyway, you coping OK, ? ", + "one": "OK, let's take a moment, oh, and thanks for helping me with that thing, so... what's up?", + "none": "" + }, + { + "days_since_cataclysm": 30, + "yes": "Now, we've got a moment, I was just thinking it's been a month or so since... since all this, how are you coping with it all?", + "no": "" + } + ], + "responses": [ + { + "text": "Oh you know, not bad, not bad...", + "topic": "TALK_DONE", + "switch": true, + "effect": [ "morale_chat_activity", { "npc_add_effect": "asked_to_socialize", "duration": 7000 } ] + } + ] + } +] diff --git a/data/json/npcs/TALK_COMMON_OTHER.json b/data/json/npcs/TALK_COMMON_OTHER.json index 950bcd44babfe..7d1f096a9d21c 100644 --- a/data/json/npcs/TALK_COMMON_OTHER.json +++ b/data/json/npcs/TALK_COMMON_OTHER.json @@ -13,65 +13,6 @@ { "text": "Well, bye.", "topic": "TALK_DONE" } ] }, - { - "id": "TALK_FRIEND", - "type": "talk_topic", - "responses": [ - { - "text": "Relax and chat with me for a while...", - "topic": "TALK_FRIEND_CHAT", - "condition": { "not": { "npc_has_effect": "asked_to_socialize" } } - } - ] - }, - { - "id": "TALK_FRIEND_CHAT", - "type": "talk_topic", - "dynamic_line": [ - { "u_has_item": "beer", "yes": "", "no": "" }, - { "u_has_item": "european_pilsner", "yes": "", "no": "" }, - { "u_has_item": "pale_ale", "yes": "", "no": "" }, - { "u_has_item": "india_pale_ale", "yes": "", "no": "" }, - { - "is_season": "summer", - "yes": "Yeah, this summer heat is hitting me hard, let's take a quick break, how goes it ?", - "no": "" - }, - { - "is_season": "winter", - "yes": "OK, maybe it'll stop me from freezing in this weather, what's up?", - "no": "" - }, - { - "is_day": "Well, it's the time of day for a quick break surely! How are you holding up?", - "is_night": "Man it's dark out isn't it? what's up?" - }, - { - "npc_has_effect": "infected", - "yes": "Well, I'm feeling pretty sick... are you doing OK though?", - "no": "" - }, - { - "u_has_mission": true, - "many": "Definitely, by the way, thanks for helping me so much with my tasks! Anyway, you coping OK, ? ", - "one": "OK, let's take a moment, oh, and thanks for helping me with that thing, so... what's up?", - "none": "" - }, - { - "days_since_cataclysm": 30, - "yes": "Now, we've got a moment, I was just thinking it's been a month or so since... since all this, how are you coping with it all?", - "no": "" - } - ], - "responses": [ - { - "text": "Oh you know, not bad, not bad...", - "topic": "TALK_DONE", - "switch": true, - "effect": [ "morale_chat_activity", { "npc_add_effect": "asked_to_socialize", "duration": 7000 } ] - } - ] - }, { "id": "TALK_SHELTER_PLANS", "type": "talk_topic", @@ -168,15 +109,6 @@ "dynamic_line": "Yeah... I don't think so.", "responses": [ { "text": "Oh, okay.", "topic": "TALK_DONE" } ] }, - { - "id": "TALK_LEAVE", - "type": "talk_topic", - "dynamic_line": "You're really leaving?", - "responses": [ - { "text": "Yeah, I'm sure. Bye.", "topic": "TALK_DONE", "effect": "leave" }, - { "text": "Nah, I'm just kidding.", "topic": "TALK_NONE" } - ] - }, { "id": "TALK_LEADER", "type": "talk_topic", @@ -230,7 +162,7 @@ "dynamic_line": "I'm on watch.", "responses": [ { "text": "I need you to come with me.", "topic": "TALK_FRIEND", "effect": "stop_guard" }, - { "text": "See you around.", "topic": "TALK_NONE" } + { "text": "See you around.", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/TALK_TEST.json b/data/json/npcs/TALK_TEST.json index 79f896e8a937d..8799b04421d65 100644 --- a/data/json/npcs/TALK_TEST.json +++ b/data/json/npcs/TALK_TEST.json @@ -175,6 +175,25 @@ { "text": "This an error! npc allies 2 test response.", "topic": "TALK_DONE", "condition": { "npc_allies": 2 } } ] }, + { + "type": "talk_topic", + "id": "TALK_TEST_NPC_RULES", + "dynamic_line": "This is a test conversation that shouldn't appear in the game.", + "responses": [ + { "text": "This is a basic test response.", "topic": "TALK_DONE" }, + { + "text": "This is a npc engagement rule test response.", + "topic": "TALK_DONE", + "condition": { "npc_engagement_rule": "ENGAGE_ALL" } + }, + { + "text": "This is a npc aim rule test response.", + "topic": "TALK_DONE", + "condition": { "npc_aim_rule": "AIM_SPRAY" } + }, + { "text": "This is a npc rule test response.", "topic": "TALK_DONE", "condition": { "npc_rule": "use_silent" } } + ] + }, { "type": "talk_topic", "id": "TALK_TEST_NPC_NEEDS", diff --git a/doc/NPCs.md b/doc/NPCs.md index 3de2737194f9d..25a9e5c38602e 100644 --- a/doc/NPCs.md +++ b/doc/NPCs.md @@ -319,6 +319,33 @@ The dynamic line is chosen if the player is driving a vehicle, or the NPC is dri } ``` +#### Based on an NPC follower AI rule +The dynamic line is chosen based on NPC follower AI rules settings. There are three variants: `npc_aim_rule`, `npc_engagement_rule`, and `npc_rule`, all of which take a rule value and an optional `yes` and `no` response. The `yes` response is chosen if the NPC follower AI rule value matches the rule value and otherwise the no value is chosen. + +`npc_aim_rule` values are currently "AIM_SPRAY", "AIM_WHEN_CONVENIENT", "AIM_PRECISE", or "AIM_STRICTLY_PRECISE". +`npc_engagement_rule` values are currently "ENGAGE_NONE", "ENGAGE_CLOSE", "ENGAGE_WEAK", "ENGAGE_HIT", or "ENGAGE_NO_MOVE". +`npc_rule` values are currently "use_guns", "use_grenades", "use_silent", "avoid_friendly_fire", "allow_pick_up", "allow_bash", "allow_sleep", "allow_complain", "allow_pulp", or "close_doors". + +```C++ +{ + "and": [ + { + "npc_aim_rule": "AIM_STRICTLY_PRECISE", + "yes": "No wasting ammo, got it. " + }, + { + "npc_engagement_rule": "ENGAGE_NO_MOVE", + "yes": "Stay where I am. " + }, + { + "npc_rule": "allow_pulp", + "yes": "Pulp the corpses when I'm done.", + "no": "Leave the corpses for someone else to deal with." + } + ] +} +``` + #### Based on whether the NPC has a pickup list The dynamic line is chosen based on whether the NPC has a pickup list or not. The line from `yes` will be shown if they have a pickup list and otherwise the line from `no`. The line from `yes` will be shown even if `npc_rule`: `allow_pick_up` is false. @@ -582,6 +609,9 @@ bionic_install | The NPC installs a bionic from your character's inventory onto bionic_remove | The NPC removes a bionic from your character, using very high skill, and charging you according to the operation's difficulty. npc_faction_change: faction_string | Change the NPC's faction membership to `faction_string`. u_faction_rep: rep_num | Increase's your reputation with the NPC's current faction, or decreases it if `rep_num` is negative. +toggle_npc_rule: rule_string | Toggles the value of a boolean NPC follower AI rule such as "use_silent" or "allow_bash" +set_npc_engagement_rule: rule_string | Sets the NPC follower AI rule for engagement distance to the value of `rule_string`. +set_npc_aim_rule: rule_string | Sets the NPC follower AI rule for aiming speed to the value of `rule_string`. #### Deprecated @@ -683,6 +713,13 @@ Condition | Type | Description "npc_role_nearby" | string | `true` if there is an NPC with the same companion mission role as `npc_role_nearby` within 100 tiles. "npc_has_weapon" | simple string | `true` if the NPC is wielding a weapon. +#### NPC Follower AI rules +Condition | Type | Description +--- | --- | --- +"npc_aim_rule" | string | `true` if the NPC follower AI rule for aiming matches the string. +"npc_engagement_rule" | string | `true` if the NPC follower AI rule for engagement matches the string. +"npc_rule" | string | `true` if the NPC follower AI rule for that matches string is set. + #### Environment Condition | Type | Description @@ -692,6 +729,7 @@ Condition | Type | Description "is_day" | simple string | `true` if it is currently daytime. "is_outside" | simple string | `true` if the NPC is on a tile without a roof. + #### Sample responses with conditions ```C++ { diff --git a/src/dialogue.h b/src/dialogue.h index 34e954cf64496..b15dbf491fdd0 100644 --- a/src/dialogue.h +++ b/src/dialogue.h @@ -105,6 +105,10 @@ struct talk_effect_fun_t { void set_npc_change_faction( const std::string &faction_name ); void set_change_faction_rep( int amount ); void set_add_debt( const std::vector debt_modifiers ); + void set_toggle_npc_rule( const std::string &rule ); + void set_npc_engagement_rule( const std::string &setting ); + void set_npc_aim_rule( const std::string &setting ); + void operator()( const dialogue &d ) const { if( !function ) { return; diff --git a/src/npc.cpp b/src/npc.cpp index 60e916b6a2b47..dd5ee58ff07aa 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -1655,7 +1655,7 @@ Creature::Attitude npc::attitude_to( const Creature &other ) const int npc::smash_ability() const { - if( !is_following() || rules.allow_bash ) { + if( !is_following() || rules.has_flag( ally_rule::allow_bash ) ) { ///\EFFECT_STR_NPC increases smash ability return str_cur + weapon.damage_melee( DT_BASH ); } @@ -2439,3 +2439,44 @@ void npc::set_attitude( npc_attitude new_attitude ) } attitude = new_attitude; } + +npc_follower_rules::npc_follower_rules() +{ + engagement = ENGAGE_CLOSE; + aim = AIM_WHEN_CONVENIENT; + set_flag( ally_rule::use_guns ); + set_flag( ally_rule::use_grenades ); + clear_flag( ally_rule::use_silent ); + set_flag( ally_rule::avoid_friendly_fire ); + + clear_flag( ally_rule::allow_pick_up ); + clear_flag( ally_rule::allow_bash ); + clear_flag( ally_rule::allow_sleep ); + set_flag( ally_rule::allow_complain ); + set_flag( ally_rule::allow_pulp ); + clear_flag( ally_rule::close_doors ); +} + +bool npc_follower_rules::has_flag( ally_rule test ) const +{ + return static_cast( test ) & static_cast( flags ); +} + +void npc_follower_rules::set_flag( ally_rule setit ) +{ + flags = static_cast( static_cast( flags ) | static_cast( setit ) ); +} + +void npc_follower_rules::clear_flag( ally_rule clearit ) +{ + flags = static_cast( static_cast( flags ) & ~static_cast( clearit ) ); +} + +void npc_follower_rules::toggle_flag( ally_rule toggle ) +{ + if( has_flag( toggle ) ) { + clear_flag( toggle ); + } else { + set_flag( toggle ); + } +} diff --git a/src/npc.h b/src/npc.h index 628e0538006e9..62aaf18d8d387 100644 --- a/src/npc.h +++ b/src/npc.h @@ -179,6 +179,16 @@ enum combat_engagement { ENGAGE_ALL, ENGAGE_NO_MOVE }; +const std::unordered_map combat_engagement_strs = { { + { "ENGAGE_NONE", ENGAGE_NONE }, + { "ENGAGE_CLOSE", ENGAGE_CLOSE }, + { "ENGAGE_WEAK", ENGAGE_WEAK }, + { "ENGAGE_HIT", ENGAGE_HIT }, + { "ENGAGE_ALL", ENGAGE_ALL }, + { "ENGAGE_NO_MOVE", ENGAGE_NO_MOVE } + } +}; + enum aim_rule { // Aim some @@ -190,19 +200,45 @@ enum aim_rule { // If you can't aim, don't shoot AIM_STRICTLY_PRECISE }; +const std::unordered_map aim_rule_strs = { { + { "AIM_WHEN_CONVENIENT", AIM_WHEN_CONVENIENT }, + { "AIM_SPRAY", AIM_SPRAY }, + { "AIM_PRECISE", AIM_PRECISE }, + { "AIM_STRICTLY_PRECISE", AIM_STRICTLY_PRECISE } + } +}; + +enum class ally_rule { + DEFAULT = 0, + use_guns = 1, + use_grenades = 2, + use_silent = 4, + avoid_friendly_fire = 8, + allow_pick_up = 16, + allow_bash = 32, + allow_sleep = 64, + allow_complain = 128, + allow_pulp = 256, + close_doors = 512 +}; +const std::unordered_map ally_rule_strs = { { + { "use_guns", ally_rule::use_guns }, + { "use_grenades", ally_rule::use_grenades }, + { "use_silent", ally_rule::use_silent }, + { "avoid_friendly_fire", ally_rule::avoid_friendly_fire }, + { "allow_pick_up", ally_rule::allow_pick_up }, + { "allow_bash", ally_rule::allow_bash }, + { "allow_sleep", ally_rule::allow_sleep }, + { "allow_complain", ally_rule::allow_complain }, + { "allow_pulp", ally_rule::allow_pulp }, + { "close_doors", ally_rule::close_doors } + } +}; struct npc_follower_rules { combat_engagement engagement; aim_rule aim = AIM_WHEN_CONVENIENT; - bool use_guns; - bool use_grenades; - bool use_silent; - - bool allow_pick_up; - bool allow_bash; - bool allow_sleep; - bool allow_complain; - bool allow_pulp; + ally_rule flags; bool close_doors; @@ -212,6 +248,12 @@ struct npc_follower_rules { void serialize( JsonOut &jsout ) const; void deserialize( JsonIn &jsin ); + + bool has_flag( ally_rule test ) const; + void set_flag( ally_rule setit ); + void clear_flag( ally_rule clearit ); + void toggle_flag( ally_rule toggle ); + }; // Data relevant only for this action diff --git a/src/npcmove.cpp b/src/npcmove.cpp index e8a004b25d3a8..6ceed2b22e210 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -966,7 +966,7 @@ npc_action npc::method_of_attack() // if we require a silent weapon inappropriate modes are also removed // except in emergency only fire bursts if danger > 0.5 and don't shoot at all at harmless targets std::vector> modes; - if( rules.use_guns || !is_following() ) { + if( rules.has_flag( ally_rule::use_guns ) || !is_following() ) { for( const auto &e : weapon.gun_all_modes() ) { modes.push_back( e ); } @@ -979,7 +979,8 @@ npc_action npc::method_of_attack() !m->ammo_sufficient( m.qty ) || !can_use( *m.target ) || m->get_gun_ups_drain() > ups_charges || ( danger <= ( ( m.qty == 1 ) ? 0.0 : 0.5 ) && !emergency() ) || - ( rules.use_silent && is_following() && !m.target->is_silent() ); + ( rules.has_flag( ally_rule::use_silent ) && is_following() && + !m.target->is_silent() ); } ), modes.end() ); } @@ -1209,7 +1210,7 @@ npc_action npc::address_needs( float danger ) return npc_undecided; } - if( rules.allow_sleep || get_fatigue() > MASSIVE_FATIGUE ) { + if( rules.has_flag( ally_rule::allow_sleep ) || get_fatigue() > MASSIVE_FATIGUE ) { return npc_sleep; } else if( g->u.in_sleep_state() ) { // TODO: "Guard me while I sleep" command @@ -1882,7 +1883,7 @@ void npc::move_away_from( const std::vector &spheres, bool no_bashing ) void npc::find_item() { - if( is_following() && !rules.allow_pick_up ) { + if( is_following() && !rules.has_flag( ally_rule::allow_pick_up ) ) { // Grabbing stuff not allowed by our "owner" return; } @@ -2017,7 +2018,7 @@ void npc::find_item() void npc::pick_up_item() { - if( is_following() && !rules.allow_pick_up ) { + if( is_following() && !rules.has_flag( ally_rule::allow_pick_up ) ) { add_msg( m_debug, "%s::pick_up_item(); Cancelling on player's request", name.c_str() ); fetching_item = false; moves -= 1; @@ -2275,7 +2276,7 @@ void npc::drop_items( int weight, int volume ) bool npc::find_corpse_to_pulp() { - if( is_following() && ( !rules.allow_pulp || g->u.in_vehicle ) ) { + if( is_following() && ( !rules.has_flag( ally_rule::allow_pulp ) || g->u.in_vehicle ) ) { return false; } @@ -2371,8 +2372,8 @@ bool npc::do_pulp() bool npc::wield_better_weapon() { // TODO: Allow wielding weaker weapons against weaker targets - bool can_use_gun = ( !is_following() || rules.use_guns ); - bool use_silent = ( is_following() && rules.use_silent ); + bool can_use_gun = ( !is_following() || rules.has_flag( ally_rule::use_guns ) ); + bool use_silent = ( is_following() && rules.has_flag( ally_rule::use_silent ) ); invslice slice = inv.slice(); // Check if there's something better to wield @@ -2486,7 +2487,7 @@ void npc_throw( npc &np, item &it, int index, const tripoint &pos ) bool npc::alt_attack() { - if( is_following() && !rules.use_grenades ) { + if( is_following() && !rules.has_flag( ally_rule::use_grenades ) ) { return false; } @@ -3251,8 +3252,8 @@ bool npc::complain_about( const std::string &issue, const time_duration &dur, // Don't wake player up with non-serious complaints // Stop complaining while asleep - const bool do_complain = force || ( rules.allow_complain && !g->u.in_sleep_state() && - !in_sleep_state() ); + const bool do_complain = force || ( rules.has_flag( ally_rule::allow_complain ) && + !g->u.in_sleep_state() && !in_sleep_state() ); if( complain_since( issue, dur ) && do_complain ) { say( speech ); diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 1d06e8ad56780..08e640fbff419 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -236,7 +236,7 @@ void game::chat() u.shout( _( "Stay awake!" ) ); } else if( nmenu.ret == yell_sleep ) { for( npc *p: followers ) { - p->rules.allow_sleep = true; + p->rules.set_flag( ally_rule::allow_sleep ); } u.shout( _( "We're safe! Take a nap if you're tired." ) ); } else if( nmenu.ret == yell_follow ) { @@ -549,53 +549,6 @@ std::string dialogue::dynamic_line( const talk_topic &the_topic ) const } else if( topic == "TALK_DENY_TRAIN" ) { return the_topic.reason; - } else if( topic == "TALK_COMBAT_COMMANDS" ) { - std::stringstream status; - // Prepending * makes this an action, not a phrase - switch( p->rules.engagement ) { - case ENGAGE_NONE: - status << _( "*is not engaging enemies." ); - break; - case ENGAGE_CLOSE: - status << _( "*is engaging nearby enemies." ); - break; - case ENGAGE_WEAK: - status << _( "*is engaging weak enemies." ); - break; - case ENGAGE_HIT: - status << _( "*is engaging enemies you attack." ); - break; - case ENGAGE_NO_MOVE: - status << _( "*is engaging enemies close enough to attack without moving." ); - break; - case ENGAGE_ALL: - status << _( "*is engaging all enemies." ); - break; - } - std::string npcstr = p->male ? pgettext( "npc", "He" ) : pgettext( "npc", "She" ); - if( p->rules.use_guns ) { - if( p->rules.use_silent ) { - status << string_format( _( " %s will use silenced firearms." ), npcstr ); - } else { - status << string_format( _( " %s will use firearms." ), npcstr ); - } - } else { - status << string_format( _( " %s will not use firearms." ), npcstr ); - } - if( p->rules.use_grenades ) { - status << string_format( _( " %s will use grenades." ), npcstr ); - } else { - status << string_format( _( " %s will not use grenades." ), npcstr ); - } - - return status.str(); - - } else if( topic == "TALK_COMBAT_ENGAGEMENT" ) { - return _( "What should I do?" ); - - } else if( topic == "TALK_AIM_RULES" ) { - return _( "How should I aim?" ); - } else if( topic == "TALK_DESCRIBE_MISSION" ) { switch( p->mission ) { case NPC_MISSION_SHELTER: @@ -699,65 +652,6 @@ std::string dialogue::dynamic_line( const talk_topic &the_topic ) const return "&" + p->short_description(); } else if( topic == "TALK_OPINION" ) { return "&" + p->opinion_text(); - } else if( topic == "TALK_WAKE_UP" ) { - if( p->has_effect( effect_sleep ) ) { - if( p->get_fatigue() > EXHAUSTED ) { - return _( "No, just no..." ); - } else if( p->get_fatigue() > DEAD_TIRED ) { - return _( "Just let me sleep, !" ); - } else if( p->get_fatigue() > TIRED ) { - return _( "Make it quick, I want to go back to sleep." ); - } else { - return _( "Just few minutes more..." ); - } - } else { - return _( "Anything to do before I go to sleep?" ); - } - - } else if( topic == "TALK_MISC_RULES" ) { - std::stringstream status; - std::string npcstr = p->male ? pgettext( "npc", "He" ) : pgettext( "npc", "She" ); - - if( p->rules.allow_pick_up && p->rules.pickup_whitelist->empty() ) { - status << string_format( _( " %s will pick up all items." ), npcstr ); - } else if( p->rules.allow_pick_up ) { - status << string_format( _( " %s will pick up items from the whitelist." ), npcstr ); - } else { - status << string_format( _( " %s will not pick up items." ), npcstr ); - } - - if( p->rules.allow_bash ) { - status << string_format( _( " %s will bash down obstacles." ), npcstr ); - } else { - status << string_format( _( " %s will not bash down obstacles." ), npcstr ); - } - - if( p->rules.allow_sleep ) { - status << string_format( _( " %s will sleep when tired." ), npcstr ); - } else { - status << string_format( _( " %s will sleep only when exhausted." ), npcstr ); - } - - if( p->rules.allow_complain ) { - status << string_format( _( " %s will complain about wounds and needs." ), npcstr ); - } else { - status << string_format( _( " %s will only complain in an emergency." ), npcstr ); - } - - if( p->rules.allow_pulp ) { - status << string_format( _( " %s will smash nearby zombie corpses." ), npcstr ); - } else { - status << string_format( _( " %s will leave zombie corpses intact." ), npcstr ); - } - - if( p->rules.close_doors ) { - status << string_format( _( " %s will close doors behind themselves." ), npcstr ); - } else { - status << string_format( _( " %s will leave doors open." ), npcstr ); - } - - return status.str(); - } else if( topic == "TALK_USE_ITEM" ) { return give_item_to( *p, true, false ); } else if( topic == "TALK_GIVE_ITEM" ) { @@ -1102,209 +996,10 @@ void dialogue::gen_responses( const talk_topic &the_topic ) } else if( topic == "TALK_HOW_MUCH_FURTHER" ) { add_response_none( _( "Okay, thanks." ) ); add_response_done( _( "Let's keep moving." ) ); - - } else if( topic == "TALK_FRIEND" || topic == "TALK_GIVE_ITEM" || topic == "TALK_USE_ITEM" ) { - if( p->is_following() ) { - add_response( _( "Combat commands..." ), "TALK_COMBAT_COMMANDS" ); - } - - add_response( _( "Can I do anything for you?" ), "TALK_MISSION_LIST" ); - if( p->is_following() ) { - // TODO: Allow NPCs to break training properly - // Don't allow them to walk away in the middle of training - std::stringstream reasons; - if( const optional_vpart_position vp = g->m.veh_at( p->pos() ) ) { - if( abs( vp->vehicle().velocity ) > 0 ) { - reasons << _( "I can't train you properly while you're operating a vehicle!" ) << std::endl; - } - } - - if( p->has_effect( effect_asked_to_train ) ) { - reasons << _( "Give it some time, I'll show you something new later..." ) << std::endl; - } - - if( p->get_thirst() > 80 ) { - reasons << _( "I'm too thirsty, give me something to drink." ) << std::endl; - } - - if( p->get_hunger() > 160 ) { - reasons << _( "I'm too hungry, give me something to eat." ) << std::endl; - } - - if( p->get_fatigue() > TIRED ) { - reasons << _( "I'm too tired, let me rest first." ) << std::endl; - } - - if( !reasons.str().empty() ) { - RESPONSE( _( "[N/A] Can you teach me anything?" ) ); - SUCCESS( "TALK_DENY_TRAIN" ); - ret.back().success.next_topic.reason = reasons.str(); - } else { - RESPONSE( _( "Can you teach me anything?" ) ); - int commitment = 3 * p->op_of_u.trust + 1 * p->op_of_u.value - - 3 * p->op_of_u.anger; - TRIAL( TALK_TRIAL_PERSUADE, commitment * 2 ); - SUCCESS( "TALK_TRAIN" ); - SUCCESS_ACTION( []( npc &p ) { p.chatbin.mission_selected = nullptr; } ); - FAILURE( "TALK_DENY_PERSONAL" ); - FAILURE_ACTION( &talk_function::deny_train ); - } - } - add_response( _( "Let's trade items." ), "TALK_FRIEND", &talk_function::start_trade ); - if( p->is_following() && g->m.camp_at( g->u.pos() ) ) { - add_response( _( "Wait at this base." ), "TALK_DONE", &talk_function::assign_base ); - } - if( p->is_following() ) { - RESPONSE( _( "Guard this position." ) ); - SUCCESS( "TALK_FRIEND_GUARD" ); - SUCCESS_ACTION( &talk_function::assign_guard ); - - RESPONSE( _( "I'd like to know a bit more about you..." ) ); - SUCCESS( "TALK_FRIEND" ); - SUCCESS_ACTION( &talk_function::reveal_stats ); - - add_response( _( "I want you to use this item" ), "TALK_USE_ITEM" ); - add_response( _( "Hold on to this item" ), "TALK_GIVE_ITEM" ); - add_response( _( "Miscellaneous rules..." ), "TALK_MISC_RULES" ); - - add_response( _( "I'm going to go my own way for a while." ), "TALK_LEAVE" ); - add_response_done( _( "Let's go." ) ); - - add_response( _( "Let's talk about faction camps." ), "TALK_CAMP_GENERAL" ); - } - - if( !p->is_following() ) { - add_response( _( "I need you to come with me." ), "TALK_FRIEND", - &talk_function::stop_guard ); - add_response_done( _( "Bye." ) ); - } - - } else if( topic == "TALK_COMBAT_COMMANDS" ) { - add_response( _( "Change your engagement rules..." ), "TALK_COMBAT_ENGAGEMENT" ); - add_response( _( "Change your aiming rules..." ), "TALK_AIM_RULES" ); - add_response( p->rules.use_guns ? _( "Don't use guns anymore." ) : - _( "You can use guns." ), - "TALK_COMBAT_COMMANDS", []( npc & np ) { - np.rules.use_guns = !np.rules.use_guns; - } ); - add_response( p->rules.use_silent ? _( "Don't worry about noise." ) : - _( "Use only silent weapons." ), - "TALK_COMBAT_COMMANDS", []( npc & np ) { - np.rules.use_silent = !np.rules.use_silent; - } ); - add_response( p->rules.use_grenades ? _( "Don't use grenades anymore." ) : - _( "You can use grenades." ), - "TALK_COMBAT_COMMANDS", []( npc & np ) { - np.rules.use_grenades = !np.rules.use_grenades; - } ); - add_response_none( _( "Never mind." ) ); - - } else if( topic == "TALK_COMBAT_ENGAGEMENT" ) { - struct engagement_setting { - combat_engagement rule; - std::string description; - }; - static const std::vector engagement_settings = {{ - { ENGAGE_NONE, _( "Don't fight unless your life depends on it." ) }, - { ENGAGE_CLOSE, _( "Attack enemies that get too close." ) }, - { ENGAGE_WEAK, _( "Attack enemies that you can kill easily." ) }, - { ENGAGE_HIT, _( "Attack only enemies that I attack first." ) }, - { ENGAGE_NO_MOVE, _( "Attack only enemies you can reach without moving." ) }, - { ENGAGE_ALL, _( "Attack anything you want." ) }, - } - }; - - for( const auto &setting : engagement_settings ) { - if( p->rules.engagement == setting.rule ) { - continue; - } - - combat_engagement eng = setting.rule; - add_response( setting.description, "TALK_NONE", [eng]( npc & np ) { - np.rules.engagement = eng; - }, dialogue_consequence::none ); - } - add_response_none( _( "Never mind." ) ); - - } else if( topic == "TALK_AIM_RULES" ) { - struct aim_setting { - aim_rule rule; - std::string description; - }; - static const std::vector aim_settings = {{ - { AIM_WHEN_CONVENIENT, _( "Aim when it's convenient." ) }, - { AIM_SPRAY, _( "Go wild, you don't need to aim much." ) }, - { AIM_PRECISE, _( "Take your time, aim carefully." ) }, - { AIM_STRICTLY_PRECISE, _( "Don't shoot if you can't aim really well." ) }, - } - }; - - for( const auto &setting : aim_settings ) { - if( p->rules.aim == setting.rule ) { - continue; - } - - aim_rule ar = setting.rule; - add_response( setting.description, "TALK_NONE", [ar]( npc & np ) { - np.rules.aim = ar; - }, dialogue_consequence::none ); - } - add_response_none( _( "Never mind." ) ); - } else if( topic == "TALK_SIZE_UP" || topic == "TALK_LOOK_AT" || topic == "TALK_OPINION" || topic == "TALK_SHOUT" ) { add_response_none( _( "Okay." ) ); - } else if( topic == "TALK_WAKE_UP" ) { - add_response( _( "Wake up!" ), "TALK_NONE", &talk_function::wake_up ); - add_response_done( _( "Go back to sleep." ) ); - - } else if( topic == "TALK_MISC_RULES" ) { - add_response( _( "Follow same rules as this follower." ), - "TALK_MISC_RULES", []( npc & np ) { - const npc *other = pick_follower(); - if( other != nullptr && other != &np ) { - np.rules = other->rules; - } - } ); - add_response( p->rules.allow_pick_up ? _( "Don't pick up items." ) : - _( "You can pick up items now." ), - "TALK_MISC_RULES", []( npc & np ) { - np.rules.allow_pick_up = !np.rules.allow_pick_up; - } ); - add_response( p->rules.allow_bash ? _( "Don't bash obstacles." ) : - _( "You can bash obstacles." ), - "TALK_MISC_RULES", []( npc & np ) { - np.rules.allow_bash = !np.rules.allow_bash; - } ); - add_response( p->rules.allow_sleep ? _( "Stay awake." ) : - _( "Sleep when you feel tired." ), - "TALK_MISC_RULES", []( npc & np ) { - np.rules.allow_sleep = !np.rules.allow_sleep; - } ); - add_response( p->rules.allow_complain ? _( "Stay quiet." ) : - _( "Tell me when you need something." ), - "TALK_MISC_RULES", []( npc & np ) { - np.rules.allow_complain = !np.rules.allow_complain; - } ); - add_response( p->rules.allow_pulp ? _( "Leave corpses alone." ) : - _( "Smash zombie corpses." ), - "TALK_MISC_RULES", []( npc & np ) { - np.rules.allow_pulp = !np.rules.allow_pulp; - } ); - add_response( p->rules.close_doors ? _( "Leave doors open." ) : - _( "Close the doors." ), - "TALK_MISC_RULES", []( npc & np ) { - np.rules.close_doors = !np.rules.close_doors; - } ); - - add_response( _( "Set up pickup rules." ), "TALK_MISC_RULES", []( npc & np ) { - const std::string title = string_format( _( "Pickup rules for %s" ), np.name ); - np.rules.pickup_whitelist->show( title, false ); - } ); - - add_response_none( _( "Never mind." ) ); - } if( g->u.has_trait( trait_DEBUG_MIND_CONTROL ) && !p->is_friend() ) { @@ -1685,6 +1380,9 @@ void parse_tags( std::string &phrase, const player &u, const player &me ) phrase.replace( fa, l, pgettext( "punctuation", "!" ) ); break; } + } else if( tag == "" ) { + std::string npcstr = me.male ? pgettext( "npc", "He" ) : pgettext( "npc", "She" ); + phrase.replace( fa, l, npcstr ); } else if( !tag.empty() ) { debugmsg( "Bad tag. '%s' (%d - %d)", tag.c_str(), fa, fb ); phrase.replace( fa, fb - fa + 1, "????" ); @@ -2080,6 +1778,37 @@ void talk_effect_fun_t::set_add_debt( const std::vector debt_modifier }; } +void talk_effect_fun_t::set_toggle_npc_rule( const std::string &rule ) +{ + function = [rule]( const dialogue &d ) { + auto toggle = ally_rule_strs.find( rule ); + if( toggle == ally_rule_strs.end() ) { + return; + } + d.beta->rules.toggle_flag( toggle->second ); + }; +} + +void talk_effect_fun_t::set_npc_engagement_rule( const std::string &setting ) +{ + function = [setting]( const dialogue &d ) { + auto rule = combat_engagement_strs.find( setting ); + if( rule != combat_engagement_strs.end() ) { + d.beta->rules.engagement = rule->second; + } + }; +} + +void talk_effect_fun_t::set_npc_aim_rule( const std::string &setting ) +{ + function = [setting]( const dialogue &d ) { + auto rule = aim_rule_strs.find( setting ); + if( rule != aim_rule_strs.end() ) { + d.beta->rules.aim = rule->second; + } + }; +} + void talk_effect_t::set_effect_consequence( const talk_effect_fun_t &fun, dialogue_consequence con ) { effects.push_back( fun ); @@ -2261,6 +1990,15 @@ void talk_effect_t::parse_sub_effect( JsonObject jo ) debt_modifiers.push_back( this_modifier ); } subeffect_fun.set_add_debt( debt_modifiers ); + } else if( jo.has_string( "toggle_npc_rule" ) ) { + const std::string rule = jo.get_string( "toggle_npc_rule" ); + subeffect_fun.set_toggle_npc_rule( rule ); + } else if( jo.has_string( "set_npc_engagement_rule" ) ) { + const std::string setting = jo.get_string( "set_npc_engagement_rule" ); + subeffect_fun.set_npc_engagement_rule( setting ); + } else if( jo.has_string( "set_npc_aim_rule" ) ) { + const std::string setting = jo.get_string( "set_npc_aim_rule" ); + subeffect_fun.set_npc_aim_rule( setting ); } else { jo.throw_error( "invalid sub effect syntax :" + jo.str() ); } @@ -2667,6 +2405,33 @@ conditional_t::conditional_t( JsonObject jo ) condition = [min_cash]( const dialogue & d ) { return d.alpha->cash >= min_cash; }; + } else if( jo.has_string( "npc_aim_rule" ) ) { + std::string setting = jo.get_string( "npc_aim_rule" ); + condition = [setting]( const dialogue &d ) { + auto rule = aim_rule_strs.find( setting ); + if( rule != aim_rule_strs.end() ) { + return d.beta->rules.aim == rule->second; + } + return false; + }; + } else if( jo.has_string( "npc_engagement_rule" ) ) { + std::string setting = jo.get_string( "npc_engagement_rule" ); + condition = [setting]( const dialogue &d ) { + auto rule = combat_engagement_strs.find( setting ); + if( rule != combat_engagement_strs.end() ) { + return d.beta->rules.engagement == rule->second; + } + return false; + }; + } else if( jo.has_string( "npc_rule" ) ) { + std::string rule = jo.get_string( "npc_rule" ); + condition = [rule]( const dialogue &d ) { + auto flag = ally_rule_strs.find( rule ); + if( flag != ally_rule_strs.end() ) { + return d.beta->rules.has_flag( flag->second ); + } + return false; + }; } else if( jo.has_int( "days_since_cataclysm" ) ) { const unsigned long days = jo.get_int( "days_since_cataclysm" ); condition = [days]( const dialogue & ) { @@ -3123,6 +2888,40 @@ dynamic_line_t::dynamic_line_t( JsonObject jo ) } return no_vehicle( d ); }; + } else if( jo.has_string( "npc_aim_rule" ) ) { + std::string setting = jo.get_string( "npc_aim_rule" ); + const dynamic_line_t yes = from_member( jo, "yes" ); + const dynamic_line_t no = from_member( jo, "no" ); + function = [setting, yes, no]( const dialogue &d ) { + auto rule = aim_rule_strs.find( setting ); + if( rule != aim_rule_strs.end() && d.beta->rules.aim == rule->second ) { + return yes( d ); + } + return no( d ); + }; + } else if( jo.has_string( "npc_engagement_rule" ) ) { + std::string setting = jo.get_string( "npc_engagement_rule" ); + const dynamic_line_t yes = from_member( jo, "yes" ); + const dynamic_line_t no = from_member( jo, "no" ); + function = [setting, yes, no]( const dialogue &d ) { + auto rule = combat_engagement_strs.find( setting ); + if( rule != combat_engagement_strs.end() && + d.beta->rules.engagement == rule->second ) { + return yes( d ); + } + return no( d ); + }; + } else if( jo.has_string( "npc_rule" ) ) { + std::string rule = jo.get_string( "npc_rule" ); + const dynamic_line_t yes = from_member( jo, "yes" ); + const dynamic_line_t no = from_member( jo, "no" ); + function = [rule, yes, no]( const dialogue &d ) { + auto flag = ally_rule_strs.find( rule ); + if( flag != ally_rule_strs.end() && d.beta->rules.has_flag( flag->second ) ) { + return yes( d ); + } + return no( d ); + }; } else if( jo.has_bool( "has_pickup_list" ) ) { const dynamic_line_t yes = from_member( jo, "yes" ); const dynamic_line_t no = from_member( jo, "no" ); @@ -3461,20 +3260,3 @@ bool npc::item_whitelisted( const item &it ) const auto to_match = it.tname( 1, false ); return item_name_whitelisted( to_match ); } - -npc_follower_rules::npc_follower_rules() -{ - engagement = ENGAGE_CLOSE; - aim = AIM_WHEN_CONVENIENT; - use_guns = true; - use_grenades = true; - use_silent = false; - - allow_pick_up = false; - allow_bash = false; - allow_sleep = false; - allow_complain = true; - allow_pulp = true; - - close_doors = false; -} diff --git a/src/npctalk_funcs.cpp b/src/npctalk_funcs.cpp index fcbbfe511ea99..5afd44e17306c 100644 --- a/src/npctalk_funcs.cpp +++ b/src/npctalk_funcs.cpp @@ -188,7 +188,7 @@ void talk_function::stop_guard( npc &p ) void talk_function::wake_up( npc &p ) { - p.rules.allow_sleep = false; + p.rules.clear_flag( ally_rule::allow_sleep ); p.remove_effect( effect_allow_sleep ); p.remove_effect( effect_lying_down ); p.remove_effect( effect_sleep ); diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index b8c6d245cde07..2c3149e62758e 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -951,18 +951,11 @@ void npc_follower_rules::serialize( JsonOut &json ) const json.start_object(); json.member( "engagement", static_cast( engagement ) ); json.member( "aim", static_cast( aim ) ); - json.member( "use_guns", use_guns ); - json.member( "use_grenades", use_grenades ); - json.member( "use_silent", use_silent ); - - json.member( "allow_pick_up", allow_pick_up ); - json.member( "allow_bash", allow_bash ); - json.member( "allow_sleep", allow_sleep ); - json.member( "allow_complain", allow_complain ); - json.member( "allow_pulp", allow_pulp ); - - json.member( "close_doors", close_doors ); + // serialize the flags so they can be changed between save games + for( const auto &rule : ally_rule_strs ) { + json.member( rule.first, has_flag( rule.second ) ); + } json.member( "pickup_whitelist", *pickup_whitelist ); json.end_object(); @@ -977,17 +970,17 @@ void npc_follower_rules::deserialize( JsonIn &jsin ) int tmpaim = 0; data.read( "aim", tmpaim ); aim = static_cast( tmpaim ); - data.read( "use_guns", use_guns ); - data.read( "use_grenades", use_grenades ); - data.read( "use_silent", use_silent ); - - data.read( "allow_pick_up", allow_pick_up ); - data.read( "allow_bash", allow_bash ); - data.read( "allow_sleep", allow_sleep ); - data.read( "allow_complain", allow_complain ); - data.read( "allow_pulp", allow_pulp ); - data.read( "close_doors", close_doors ); + // deserialize the flags so they can be changed between save games + for( const auto &rule : ally_rule_strs ) { + bool tmpflag = false; + data.read( rule.first, tmpflag ); + if( tmpflag ) { + set_flag( rule.second ); + } else { + clear_flag( rule.second ); + } + } data.read( "pickup_whitelist", *pickup_whitelist ); } diff --git a/tests/npc_talk_test.cpp b/tests/npc_talk_test.cpp index 56403a532ee37..b9f61cfc9066c 100644 --- a/tests/npc_talk_test.cpp +++ b/tests/npc_talk_test.cpp @@ -224,6 +224,19 @@ TEST_CASE( "npc_talk_test" ) CHECK( d.responses[0].text == "This is a basic test response." ); CHECK( d.responses[1].text == "This is a npc allies 1 test response." ); + d.add_topic( "TALK_TEST_NPC_RULES" ); + gen_response_lines( d, 1 ); + CHECK( d.responses[0].text == "This is a basic test response." ); + talker_npc.rules.engagement = ENGAGE_ALL; + talker_npc.rules.aim = AIM_SPRAY; + talker_npc.rules.set_flag( ally_rule::use_silent ); + gen_response_lines( d, 4 ); + CHECK( d.responses[0].text == "This is a basic test response." ); + CHECK( d.responses[1].text == "This is a npc engagement rule test response." ); + CHECK( d.responses[2].text == "This is a npc aim rule test response." ); + CHECK( d.responses[3].text == "This is a npc rule test response." ); + talker_npc.rules.clear_flag( ally_rule::use_silent ); + d.add_topic( "TALK_TEST_NPC_NEEDS" ); gen_response_lines( d, 1 ); CHECK( d.responses[0].text == "This is a basic test response." ); @@ -451,4 +464,14 @@ TEST_CASE( "npc_talk_test" ) effects.apply( d ); CHECK( !has_item( "bottle_plastic", 1 ) ); CHECK( !has_item( "beer", 1 ) ); + + d.add_topic( "TALK_COMBAT_COMMANDS" ); + gen_response_lines( d, 7 ); + CHECK( d.responses[0].text == "Change your engagement rules..." ); + CHECK( d.responses[1].text == "Change your aiming rules..." ); + CHECK( d.responses[2].text == "Don't use ranged weapons anymore." ); + CHECK( d.responses[3].text == "Use only silent weapons." ); + CHECK( d.responses[4].text == "Don't use grenades anymore." ); + CHECK( d.responses[5].text == "Don't worry about shooting an ally." ); + CHECK( d.responses[6].text == "Never mind." ); } From abbaad3bb38588f5d1a0d9d8009dbc63ac436903 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 26 Jan 2019 15:43:18 +0000 Subject: [PATCH 71/85] Disable starting_items test on Clang ASan CI This test is also problematically slow on this CI build. Sometimes it takes more than 10 minutes, which causes Travis to time out due to 10 minutes without output. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9aadef9039c36..d6ae1955dbaaa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -159,7 +159,7 @@ jobs: sources: [*apt_sources, llvm-toolchain-trusty-5.0] # Clang 6.0 - - env: CLANG=clang++-6.0 CXXFLAGS=-Wno-error=unused-command-line-argument SANITIZE=address EXTRA_TEST_OPTS="~[.] ~vehicle_efficiency ~vehicle_drag" + - env: CLANG=clang++-6.0 CXXFLAGS=-Wno-error=unused-command-line-argument SANITIZE=address EXTRA_TEST_OPTS="~[.] ~vehicle_efficiency ~vehicle_drag ~starting_items" dist: trusty compiler: clang addons: &clang60 From 4aded4454396f005e096a58c3e6c7b2910308e59 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 26 Jan 2019 19:04:41 +0000 Subject: [PATCH 72/85] Deduplicate divide_round_up functions We had both a divide_round_up and a divide_rounded_up function which did the same thing. Remove one. --- src/cata_tiles.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index cf12f940a811b..ba8ddaa9c3099 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -96,11 +96,6 @@ float get_animation_phase( int phase_length_ms ) return std::fmod( SDL_GetTicks(), phase_length_ms ) / phase_length_ms; } -int divide_rounded_up( const int v, const int div ) -{ - return ( v / div ) + ( v % div == 0 ? 0 : 1 ); -} - std::string get_ascii_tile_id( const uint32_t sym, const int FG, const int BG ) { return std::string( { 'A', 'S', 'C', 'I', 'I', '_', static_cast( sym ), static_cast( FG ), static_cast( BG ) } ); @@ -483,8 +478,8 @@ void tileset_loader::load_tileset( std::string img_path ) const rect_range output_range( max_tile_xcount * sprite_width, max_tile_ycount * sprite_height, - divide_rounded_up( tile_atlas->w, info.max_texture_width ), - divide_rounded_up( tile_atlas->h, info.max_texture_height ) ); + divide_round_up( tile_atlas->w, info.max_texture_width ), + divide_round_up( tile_atlas->h, info.max_texture_height ) ); const int expected_tilecount = ( tile_atlas->w / sprite_width ) * ( tile_atlas->h / sprite_height ); extend_vector_by( ts.tile_values, expected_tilecount ); @@ -1044,8 +1039,8 @@ void cata_tiles::draw( int destx, int desty, const tripoint ¢er, int width, op_x = destx; op_y = desty; // Rounding up to include incomplete tiles at the bottom/right edges - screentile_width = divide_rounded_up( width, tile_width ); - screentile_height = divide_rounded_up( height, tile_height ); + screentile_width = divide_round_up( width, tile_width ); + screentile_height = divide_round_up( height, tile_height ); const int min_col = 0; const int max_col = sx; From 38ee48b7847f308442a90ddb937c407e9b814e7f Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 26 Jan 2019 19:16:15 +0000 Subject: [PATCH 73/85] Bind '?' to open_keybindings by default On almost every screen in the game, if you press '?' it opens a keybindings window to view / control the keybindings in that context. The big exception is in the main game view, where there is no default binding to open the keybindings window. Make things consistent by having a default keybinding on '?' to open the keybindings window in the default context. --- data/raw/keybindings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data/raw/keybindings.json b/data/raw/keybindings.json index 9ea34a2ccb6a2..236cc73c31dc1 100644 --- a/data/raw/keybindings.json +++ b/data/raw/keybindings.json @@ -1926,7 +1926,8 @@ "type": "keybinding", "name": "Keybindings", "category": "DEFAULTMODE", - "id": "open_keybindings" + "id": "open_keybindings", + "bindings": [ { "input_method": "keyboard", "key": "?" } ] }, { "type": "keybinding", From 9dbc892edb08b7dd38f9728c14e2d8787f3e49ae Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sat, 26 Jan 2019 18:33:02 +0100 Subject: [PATCH 74/85] Fix Medieval Stuff martial style traits --- data/mods/Medieval_Stuff/mutations.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/mods/Medieval_Stuff/mutations.json b/data/mods/Medieval_Stuff/mutations.json index cd4b5487955e6..b7e54b7721cbf 100644 --- a/data/mods/Medieval_Stuff/mutations.json +++ b/data/mods/Medieval_Stuff/mutations.json @@ -3,19 +3,19 @@ "type" : "mutation", "id" : "MARTIAL_ARTS", "name" : "Martial Arts Training", - "points" : 3, + "points" : 2, "description" : "You have received some martial arts training at a local dojo. You start with your choice of Karate, Judo, Aikido, Tai Chi, Taekwondo, or Pankration.", "starting_trait" : true, - "initial_ma_styles" : [ "style_pankration" ], + "initial_ma_styles" : [ "style_karate", "style_judo", "style_aikido", "style_tai_chi", "style_taekwondo", "style_pankration" ], "valid" : false },{ "type" : "mutation", "id": "MARTIAL_ARTS5", "name": "Melee Weapon Training", "points": 3, - "description": "You have practiced fighting with weapons. You start with your choice of Eskrima, Fencing, Pentjak Silat, or Medieval Swordsmanship.", + "description": "You have practiced fighting with weapons. You start with your choice of Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, Sōjutsu, or Medieval Swordsmanship.", "starting_trait" : true, - "initial_ma_styles" : [ "style_swordsmanship" ], + "initial_ma_styles" : [ "style_eskrima", "style_fencing", "style_silat", "style_niten", "style_sojutsu", "style_swordsmanship" ], "valid" : false } ] From 3c8c40cb9f0f7d95ae6107f0d3ee67efae1a2a58 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 27 Jan 2019 03:22:33 +0100 Subject: [PATCH 75/85] Add pry 1 to toolbox --- data/json/items/tools.json | 1 + 1 file changed, 1 insertion(+) diff --git a/data/json/items/tools.json b/data/json/items/tools.json index 309048c26535f..755717d08a396 100644 --- a/data/json/items/tools.json +++ b/data/json/items/tools.json @@ -7449,6 +7449,7 @@ [ "AXE", 1 ], [ "WRENCH", 2 ], [ "SCREW", 1 ], + [ "PRY", 1 ], [ "HAMMER_FINE", 1 ], [ "SAW_M_FINE", 1 ], [ "WRENCH_FINE", 1 ], From 981f9c87932316a233abe6b5ccb458f64901fcee Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 27 Jan 2019 13:55:25 +0100 Subject: [PATCH 76/85] Add pry one to items containg hammers --- data/json/items/tool_armor.json | 2 +- data/json/items/tools.json | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/data/json/items/tool_armor.json b/data/json/items/tool_armor.json index c408e2afc54a3..afa7e5504a2e8 100644 --- a/data/json/items/tool_armor.json +++ b/data/json/items/tool_armor.json @@ -1450,7 +1450,7 @@ "max_volume": 4, "flags": [ "SHEATH_KNIFE", "SHEATH_SWORD" ] } ], - "qualities": [["HAMMER", 3], ["SAW_M", 2], ["SAW_W", 2], ["WRENCH", 2], ["AXE", 1], + "qualities": [["HAMMER", 3], [ "PRY", 1 ], ["SAW_M", 2], ["SAW_W", 2], ["WRENCH", 2], ["AXE", 1], ["SCREW", 1], ["HAMMER_FINE", 1], ["SAW_M_FINE", 1], ["WRENCH_FINE", 1], ["SCREW_FINE", 1]] }, { diff --git a/data/json/items/tools.json b/data/json/items/tools.json index 755717d08a396..12337d3f70364 100644 --- a/data/json/items/tools.json +++ b/data/json/items/tools.json @@ -4210,6 +4210,7 @@ "qualities": [ [ "HAMMER_FINE", 1 ], [ "HAMMER", 3 ], + [ "PRY", 1 ], [ "SAW_M_FINE", 1 ], [ "SAW_M", 2 ], [ "WRENCH_FINE", 1 ], @@ -4734,7 +4735,7 @@ "initial_charges": 100, "max_charges": 200, "charges_per_use": 50, - "qualities": [ [ "CHISEL", 3 ], [ "HAMMER_FINE", 1 ], [ "HAMMER", 3 ] ], + "qualities": [ [ "CHISEL", 3 ], [ "HAMMER_FINE", 1 ], [ "HAMMER", 3 ], [ "PRY", 1 ] ], "use_action": "MISC_REPAIR" }, { @@ -6415,6 +6416,7 @@ "qualities": [ [ "HAMMER_FINE", 1 ], [ "HAMMER", 3 ], + [ "PRY", 1 ], [ "SAW_M_FINE", 1 ], [ "SAW_M", 2 ], [ "SAW_W", 1 ], From f64c567dfe22f0a8b7eefe6d92793c4ca8788661 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 27 Jan 2019 14:31:21 +0100 Subject: [PATCH 77/85] Serialize recipe charges --- src/savegame_json.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index 2c3149e62758e..e706a8c0080c6 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -1797,6 +1797,7 @@ void item::io( Archive &archive ) archive.io( "item_tags", item_tags, io::empty_default_tag() ); archive.io( "contents", contents, io::empty_default_tag() ); archive.io( "components", components, io::empty_default_tag() ); + archive.io( "recipe_charges", recipe_charges, 1 ); archive.template io( "curammo", curammo, load_curammo, []( const itype & i ) { return i.get_id(); From af625fc92af8e7ab55ba0b5513a27490f78e0332 Mon Sep 17 00:00:00 2001 From: Mark Langsdorf Date: Sun, 27 Jan 2019 17:56:49 -0600 Subject: [PATCH 78/85] npc: fix NPC followers not closing doors Fix some typos that prevented NPCs from closing doors and the player from being able to update the close door NPC follower AI rule. --- data/json/npcs/TALK_COMMON_ALLY.json | 2 +- src/npc.h | 2 -- src/npcmove.cpp | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/TALK_COMMON_ALLY.json b/data/json/npcs/TALK_COMMON_ALLY.json index c7626dd90161d..c2a4111b55e45 100644 --- a/data/json/npcs/TALK_COMMON_ALLY.json +++ b/data/json/npcs/TALK_COMMON_ALLY.json @@ -348,7 +348,7 @@ { "truefalsetext": { "condition": { "npc_rule": "close_doors" }, "true": "Leave doors open.", "false": "Close the doors." }, "topic": "TALK_MISC_RULES", - "effect": { "toggle_npc_rule": "close_door" } + "effect": { "toggle_npc_rule": "close_doors" } }, { "text": "Set up pickup rules.", "topic": "TALK_MISC_RULES", "effect": "set_npc_pickup" }, { "text": "Never mind.", "topic": "TALK_NONE" } diff --git a/src/npc.h b/src/npc.h index 62aaf18d8d387..6dc66acd8ed7d 100644 --- a/src/npc.h +++ b/src/npc.h @@ -240,8 +240,6 @@ struct npc_follower_rules { aim_rule aim = AIM_WHEN_CONVENIENT; ally_rule flags; - bool close_doors; - pimpl pickup_whitelist; npc_follower_rules(); diff --git a/src/npcmove.cpp b/src/npcmove.cpp index 6ceed2b22e210..1dd1d17ae6246 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -1661,7 +1661,7 @@ void npc::move_to( const tripoint &pt, bool no_bashing, std::set *nomo } // Close doors behind self (if you can) - if( is_friend() && rules.close_doors ) { + if( is_friend() && rules.has_flag( ally_rule::close_doors ) ) { doors::close_door( g->m, *this, old_pos ); } From 86755616adc0e3ae24b413c1b9a4f4a318802a5e Mon Sep 17 00:00:00 2001 From: Brys Sepulveda Date: Sun, 27 Jan 2019 16:46:09 -0800 Subject: [PATCH 79/85] Fixing minor typo in sewer gator description --- data/json/monsters/reptile_amphibian.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/monsters/reptile_amphibian.json b/data/json/monsters/reptile_amphibian.json index badb34eba6b81..c4237dd3d2e38 100644 --- a/data/json/monsters/reptile_amphibian.json +++ b/data/json/monsters/reptile_amphibian.json @@ -32,7 +32,7 @@ "id": "mon_gator", "type": "MONSTER", "name": "sewer gator", - "description": "In the late 20th century there was an urban legend about pet alligators getting flushed down the toilet and growing to adulthood in sewers. This large specimen doesn't look like it is used to humans as anything other than a meal.", + "description": "In the late 20th century there was an urban legend about pet alligators getting flushed down the toilet and growing to adulthood in sewers. This large specimen doesn't look like it sees humans as anything other than a meal.", "default_faction": "gator", "categories": [ "WILDLIFE" ], "species": [ "REPTILE" ], From d969df7c2e5557516d7d733a10d844d4b9d995c4 Mon Sep 17 00:00:00 2001 From: Cyrano7 Date: Sun, 27 Jan 2019 17:32:17 -0800 Subject: [PATCH 80/85] Fix some typos --- data/json/items/ammo/460.json | 2 +- data/json/items/comestibles/meat_dishes_human.json | 2 +- data/json/items/generic/casing.json | 4 ++-- data/json/items/gun/9mm.json | 2 +- data/json/items/gunmod/mechanism.json | 2 +- data/json/items/tool/science.json | 2 +- data/json/mapgen/bank.json | 1 - data/json/mutations.json | 2 +- data/json/npcs/Backgrounds/left_for_dead_2.json | 2 +- data/json/npcs/Backgrounds/prisoner_1.json | 2 +- data/json/vehicle_parts.json | 2 +- 11 files changed, 11 insertions(+), 12 deletions(-) diff --git a/data/json/items/ammo/460.json b/data/json/items/ammo/460.json index 8cd2d7d183a61..61d4ae0d5f67b 100644 --- a/data/json/items/ammo/460.json +++ b/data/json/items/ammo/460.json @@ -12,7 +12,7 @@ "copy-from": "44magnum", "type": "AMMO", "name": ".460 Rowland", - "description": ".460 Rowland ammunition with 185gr JHP bullets. The .460 Rowland round is designed to emulate hard-hitting .44 magnum in common autoloading pistols. Like the .44, .460 rowland has exceptional power - and recoil. It is almost dimensionally identical to .45ACP, save for having a longer case and deeper seated bullets to prevent ammunition mix-ups.", + "description": ".460 Rowland ammunition with 185gr JHP bullets. The .460 Rowland round is designed to emulate hard-hitting .44 magnum in common autoloading pistols. Like the .44, .460 Rowland has exceptional power - and recoil. It is almost dimensionally identical to .45ACP, save for having a longer case and deeper seated bullets to prevent ammunition mix-ups.", "ammo_type": "460", "casing": "460_casing", "proportional": { "range": 0.95, "damage": 0.95, "pierce": 0.95, "recoil": 0.95 } diff --git a/data/json/items/comestibles/meat_dishes_human.json b/data/json/items/comestibles/meat_dishes_human.json index a87ce0460e2ac..6425d80688a03 100644 --- a/data/json/items/comestibles/meat_dishes_human.json +++ b/data/json/items/comestibles/meat_dishes_human.json @@ -207,7 +207,7 @@ "id": "mann_bratwurst", "copy-from": "bratwurst_sausage", "name": "Mannbrat", - "description": "A type of German sausage made of finely chopped humans and meant to be pan fried or roasted. Better eat it hot and fresh. By the way, use any human available. Germans are not mandatory.", + "description": "A type of German sausage made of finely chopped humans and meant to be pan fried or roasted. Better eat it hot and fresh. By the way, use any human available. Germans are not mandatory.", "material": "hflesh" }, { diff --git a/data/json/items/generic/casing.json b/data/json/items/generic/casing.json index 1b60a574ccd78..8d8bf88d1bdb1 100644 --- a/data/json/items/generic/casing.json +++ b/data/json/items/generic/casing.json @@ -143,8 +143,8 @@ "id": "460_casing", "copy-from": "casing", "type": "GENERIC", - "name": ".460 rowland casing", - "description": "An empty casing from a .460 Rowland round. It looks deceptively like a .45ACP casing.", + "name": ".460 Rowland casing", + "description": "An empty casing from a .460 Rowland round. It looks deceptively like a .45ACP casing.", "weight": 4, "volume": "6ml" }, diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index 6905e0cf5ca90..5773e9ab412f7 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -163,7 +163,7 @@ "copy-from": "hk_mp5", "type": "GUN", "name": "H&K MP5SD", - "description": "Despite its integrated silencer element, it has the same length and shape as an unsilenced submachine gun. Unlike most conventional silenced submachine guns, it fires standard ammunition types with the same effect. The use of special subsonic ammunition is not necessary. The integrated silencer element suppresses the muzzle flash extremely effectively, as a result of which the weapon is also excellent for night operations using low-light amplifiers. No wonder the MP5SD is one of the most accurate silenced submachine guns of its type.", + "description": "Despite its integrated silencer element, it has the same length and shape as an unsilenced submachine gun. Unlike most conventional silenced submachine guns, it fires standard ammunition types with the same effect. The use of special subsonic ammunition is not necessary. The integrated silencer element suppresses the muzzle flash extremely effectively, as a result of which the weapon is also excellent for night operations using low-light amplifiers. No wonder the MP5SD is one of the most accurate silenced submachine guns of its type.", "price": 3000000, "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], [ "bore", 1 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "rail", 1 ], [ "sights", 1 ], [ "stock", 1 ], [ "underbarrel", 1 ] ], "modes": [ diff --git a/data/json/items/gunmod/mechanism.json b/data/json/items/gunmod/mechanism.json index 4905cc336babb..ac3f507949e48 100644 --- a/data/json/items/gunmod/mechanism.json +++ b/data/json/items/gunmod/mechanism.json @@ -42,7 +42,7 @@ "id": "llink", "type": "GUNMOD", "name": "lightning link", - "description": "Originally designed for the Colt SP-1, this 'reproduction' is intended to convert an AR-15 into a full-auto only rifle. Once the necessary modifications are made and the link is in place, semi-auto is disabled and full-auto is enabled. Reliability and precision suffer greatly due to questionable craftsmanship and lack of unobtainium SP-1 parts.", + "description": "Originally designed for the Colt SP-1, this 'reproduction' is intended to convert an AR-15 into a full-auto only rifle. Once the necessary modifications are made and the link is in place, semi-auto is disabled and full-auto is enabled. Reliability and precision suffer greatly due to questionable craftsmanship and lack of unobtainium SP-1 parts.", "weight": 60, "volume": 1, "integral_volume": 0, diff --git a/data/json/items/tool/science.json b/data/json/items/tool/science.json index bbf58232cfb57..65ebbb3c1f521 100644 --- a/data/json/items/tool/science.json +++ b/data/json/items/tool/science.json @@ -162,7 +162,7 @@ "type": "TOOL", "category": "tools", "name": "small glass tube", - "description": "This is a small glass tube. What more could you possibly want to know about it?", + "description": "This is a small glass tube. What more could you possibly want to know about it?", "weight": 1, "volume": 0.1, "price": 10, diff --git a/data/json/mapgen/bank.json b/data/json/mapgen/bank.json index 5e84073796820..a9c12c83d994a 100644 --- a/data/json/mapgen/bank.json +++ b/data/json/mapgen/bank.json @@ -192,6 +192,5 @@ }, "place_monster": [ { "monster": "mon_secubot", "x": [ 7, 18 ], "y": [ 7, 18 ], "chance": 30, "repeat": 4 } ] } - } ] diff --git a/data/json/mutations.json b/data/json/mutations.json index f090d5b4bed82..0dcbfaf1e7709 100644 --- a/data/json/mutations.json +++ b/data/json/mutations.json @@ -1110,7 +1110,7 @@ "name" : "Genetic Downward Spiral", "points" : -12, "purifiable" : false, - "description" : "The events of the Cataclysm have damaged your DNA beyond repair. You mutate frequently, and all mutations you receive (from any source) are negative.", + "description" : "The events of the Cataclysm have damaged your DNA beyond repair. You mutate frequently, and all mutations you receive (from any source) are negative.", "starting_trait" : true, "cancels" : ["ROBUST"], "valid" : false diff --git a/data/json/npcs/Backgrounds/left_for_dead_2.json b/data/json/npcs/Backgrounds/left_for_dead_2.json index e3c5531bb9887..23a3bbac210b3 100644 --- a/data/json/npcs/Backgrounds/left_for_dead_2.json +++ b/data/json/npcs/Backgrounds/left_for_dead_2.json @@ -22,7 +22,7 @@ { "id": "BGSS_LEFT_FOR_DEAD_2_STORY3", "type": "talk_topic", - "dynamic_line": "You probably remember what the cities were like. I think it was about day four. Once I stepped outside I realized what was going on, or realized I didn't know what was going on at least. I saw a bunch of rioters smashing a car, and then I noticed one of them was bashing a woman's head in. I cancelled my grocery trip, ran back to my apartment before they saw me, and holed up there for as long as I could. Things got comparatively quiet as the dead started to outnumber the living, so I started looting what I could from my neighbors, re-killing them when I had to. Eventually the overran my building and I had to climb out and head for the hills on an old bike.", + "dynamic_line": "You probably remember what the cities were like. I think it was about day four. Once I stepped outside I realized what was going on, or realized I didn't know what was going on at least. I saw a bunch of rioters smashing a car, and then I noticed one of them was bashing a woman's head in. I canceled my grocery trip, ran back to my apartment before they saw me, and holed up there for as long as I could. Things got comparatively quiet as the dead started to outnumber the living, so I started looting what I could from my neighbors, re-killing them when I had to. Eventually the overran my building and I had to climb out and head for the hills on an old bike.", "responses": [ { "text": "Thanks for telling me all that. ", "topic": "TALK_FRIEND" }, { "text": "Thanks for telling me all that. ", "topic": "TALK_DONE" } diff --git a/data/json/npcs/Backgrounds/prisoner_1.json b/data/json/npcs/Backgrounds/prisoner_1.json index 954e3d99bdf02..b83b146a09982 100644 --- a/data/json/npcs/Backgrounds/prisoner_1.json +++ b/data/json/npcs/Backgrounds/prisoner_1.json @@ -236,7 +236,7 @@ { "id": "BGSS_PRISONER_1_STORY3", "type": "talk_topic", - "dynamic_line": "I heard gunshots, even from down in lockup. Didn't hear much screaming or anything. That was my first clue something was up. Food stopped showing up, next. Then, the lights went out. I was down there for maybe hours, maybe days, when finally a flashlight in the bars blinded me. It was a guard. He let me out, filled me in on what was going on. I wanted to think he was crazy, but something in his eyes... I believed him.", + "dynamic_line": "I heard gunshots, even from down in lockup. Didn't hear much screaming or anything. That was my first clue something was up. Food stopped showing up, next. Then, the lights went out. I was down there for maybe hours, maybe days, when finally a flashlight in the bars blinded me. It was a guard. He let me out, filled me in on what was going on. I wanted to think he was crazy, but something in his eyes... I believed him.", "responses": [ { "text": "What did you do from there?", "topic": "BGSS_PRISONER_1_STORY4" }, { "text": "", "topic": "TALK_NONE" }, diff --git a/data/json/vehicle_parts.json b/data/json/vehicle_parts.json index 5f8ada9f83e29..97c45820acf7e 100644 --- a/data/json/vehicle_parts.json +++ b/data/json/vehicle_parts.json @@ -1249,7 +1249,7 @@ "broken_color": "yellow", "damage_modifier": 10, "durability": 15, - "description": "A small wind turbine. Will slowly recharge the vehicle's electrical power when exposed to the wind.", + "description": "A small wind turbine. Will slowly recharge the vehicle's electrical power when exposed to the wind.", "epower": 60, "item": "wind_turbine", "location": "on_roof", From 34508cec3c4c8adeef1e8348fcd80479100718bb Mon Sep 17 00:00:00 2001 From: Cyrano7 Date: Sun, 27 Jan 2019 17:41:41 -0800 Subject: [PATCH 81/85] Trim some more spaces --- data/json/item_groups.json | 2 +- data/json/items/gun/9mm.json | 2 +- data/json/mapgen/evac_center.json | 2 -- data/json/mapgen/teashop.json | 1 - data/json/npcs/missiondef.json | 6 +++--- data/json/vehicles/farm.json | 1 - 6 files changed, 5 insertions(+), 9 deletions(-) diff --git a/data/json/item_groups.json b/data/json/item_groups.json index a7d88873fc65c..73689009d07a3 100644 --- a/data/json/item_groups.json +++ b/data/json/item_groups.json @@ -3504,7 +3504,7 @@ [ "novel_swash", 30 ], [ "manual_fencing", 9 ], [ "manual_niten", 9 ], - [ "manual_sojutsu", 9 ], + [ "manual_sojutsu", 9 ], [ "novel_samurai", 30 ], [ "plays_book", 30 ], [ "poetry_book", 30 ], diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index 5773e9ab412f7..bd724986e241e 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -157,7 +157,7 @@ [ "46", [ "hk46mag", "hk46bigmag" ] ], [ "57", [ "fn57mag" ] ] ] - }, + }, { "id": "hk_mp5sd", "copy-from": "hk_mp5", diff --git a/data/json/mapgen/evac_center.json b/data/json/mapgen/evac_center.json index 0a9c9e032e820..c275b2bdf61b7 100644 --- a/data/json/mapgen/evac_center.json +++ b/data/json/mapgen/evac_center.json @@ -705,7 +705,6 @@ "x": 8, "y": 5 }, - { "class": "old_guard_rep", "x": 19, @@ -715,7 +714,6 @@ "class": "arsonist", "x": 11, "y": 7 - } ] } diff --git a/data/json/mapgen/teashop.json b/data/json/mapgen/teashop.json index 0af4086fd5dd2..8f1f4ff079f08 100644 --- a/data/json/mapgen/teashop.json +++ b/data/json/mapgen/teashop.json @@ -296,7 +296,6 @@ "}": { "item": "displays", "chance": 30, "repeat": [ 1, 3 ] }, "C": { "item": "chair_extra", "chance": 20, "repeat": [ 1, 2 ] }, "c": { "item": "chair_torso", "chance": 10, "repeat": [ 1, 3 ] } - }, "place_signs": [ { "signage": "The Green Leaf Tea Shop", "x": 4, "y": 0 } ] } diff --git a/data/json/npcs/missiondef.json b/data/json/npcs/missiondef.json index a93148547f068..cffcceb7f504f 100644 --- a/data/json/npcs/missiondef.json +++ b/data/json/npcs/missiondef.json @@ -449,7 +449,7 @@ "difficulty": 2, "value": 150000, "item": "etched_skull", - "start": { + "start": { "assign_mission_target": { "om_terrain": "cabin_strange", "om_special": "Strange Cabin", "reveal_radius": 3 } }, "origins": [ "ORIGIN_SECONDARY" ], @@ -474,7 +474,7 @@ "difficulty": 2, "value": 150000, "item": "visions_solitude", - "start": { + "start": { "assign_mission_target": { "om_terrain": "prison_1_5", "om_special": "Prison", "reveal_radius": 3 } }, "origins": [ "ORIGIN_SECONDARY" ], @@ -660,7 +660,7 @@ "difficulty": 5, "value": 250000, "monster_type": "mon_charred_nightmare", - "start": { + "start": { "assign_mission_target": { "om_terrain": "necropolis_c_44", "om_special": "Necropolis", "z": -2 } }, "monster_kill_goal": 20, diff --git a/data/json/vehicles/farm.json b/data/json/vehicles/farm.json index c7e3ab5ded603..5edf471219b95 100644 --- a/data/json/vehicles/farm.json +++ b/data/json/vehicles/farm.json @@ -22,7 +22,6 @@ ], "items": [] }, - { "id": "autotractor", "type": "vehicle", From df42daf3d9c522864f7f8aa7bc8dc42294b48a36 Mon Sep 17 00:00:00 2001 From: Sergey Alirzaev Date: Mon, 28 Jan 2019 02:45:40 +0300 Subject: [PATCH 82/85] Adjust bio_tools description to the real features --- data/json/bionics.json | 2 +- data/json/items/bionics.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/bionics.json b/data/json/bionics.json index c310e35a88146..df84d3e827828 100644 --- a/data/json/bionics.json +++ b/data/json/bionics.json @@ -1008,7 +1008,7 @@ "id": "bio_tools", "type": "bionic", "name": "Integrated Toolset", - "description": "Surgically implanted in your hands and fingers is a complete tool set - screwdriver, hammer, wrench, and heating elements. You can use this in place of many tools when crafting.", + "description": "Surgically implanted in your hands and fingers is a complete tool set - screwdriver, hammer, wrench, hacksaw, wood saw, boltcutters, drill and heating elements. You can use this in place of many tools when crafting.", "occupied_bodyparts": [ [ "HAND_L", 3 ], [ "HAND_R", 3 ] ], "flags": [ "BIONIC_TOGGLED" ], "fake_item": "toolset" diff --git a/data/json/items/bionics.json b/data/json/items/bionics.json index 32a9000190f59..4408d79b8d9ba 100644 --- a/data/json/items/bionics.json +++ b/data/json/items/bionics.json @@ -794,7 +794,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Integrated Toolset CBM", - "description": "Implanted in your hands and fingers is a complete tool set - screwdriver, hammer, wrench, and heating elements. You can use this in place of many tools when crafting.", + "description": "Surgically implanted in your hands and fingers is a complete tool set - screwdriver, hammer, wrench, hacksaw, wood saw, boltcutters, drill and heating elements. You can use this in place of many tools when crafting.", "price": 800000, "difficulty": 6 }, From 27f5f2df4549b744a56bd8d34d031a32ea43da5d Mon Sep 17 00:00:00 2001 From: Michael Carter Date: Sun, 27 Jan 2019 23:18:24 -0600 Subject: [PATCH 83/85] Fix change to NPC train persuade chance Commit 5cd6b1341d7718189120357ca51446851614a1b8 JSONified the chance to persuade an NPC to train the player. This commit did not take the multi- plier into account when setting the JSON values. Also, the JSON incorrectly used "mods" instead of "mod", so no multipliers were used. This also fixes a copy and paste bug from commit c2059a38 where the NPC's "trust" was used instead of the NPC's "value" when calculating dialog difficulties. fixes #27939 --- data/json/npcs/TALK_COMMON_ALLY.json | 2 +- src/npctalk.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/npcs/TALK_COMMON_ALLY.json b/data/json/npcs/TALK_COMMON_ALLY.json index c7626dd90161d..7cdd5d7bb24cb 100644 --- a/data/json/npcs/TALK_COMMON_ALLY.json +++ b/data/json/npcs/TALK_COMMON_ALLY.json @@ -268,7 +268,7 @@ "responses": [ { "text": "Come on, we're friends.", - "trial": { "type": "PERSUADE", "difficulty": 0, "mods": [ [ "TRUST", 3 ], [ "VALUE", 1 ], [ "ANGER", -3 ] ] }, + "trial": { "type": "PERSUADE", "difficulty": 0, "mod": [ [ "TRUST", 6 ], [ "VALUE", 2 ], [ "ANGER", -6 ] ] }, "success": { "topic": "TALK_TRAIN" }, "failure": { "topic": "TALK_DENY_PERSONAL", "effect": { "npc_add_effect": "asked_to_train", "duration": 3600 } } }, diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 08e640fbff419..6c4acb595df09 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -1024,7 +1024,7 @@ int parse_mod( const dialogue &d, const std::string &attribute, const int factor } else if( attribute == "TRUST" ) { modifier = p.op_of_u.trust; } else if( attribute == "VALUE" ) { - modifier = p.op_of_u.trust; + modifier = p.op_of_u.value; } else if( attribute == "POS_FEAR" ) { modifier = std::max( 0, p.op_of_u.fear ); } else if( attribute == "AGGRESSION" ) { From 4c3ee924e6de0cf6a76ed9f35656690d47aa0806 Mon Sep 17 00:00:00 2001 From: nsklaus <6810861+nsklaus@users.noreply.github.com> Date: Mon, 28 Jan 2019 09:08:58 +0100 Subject: [PATCH 84/85] fix_fallback_tiles_rotation (#27930) fix_fallback_tiles_rotation --- src/cata_tiles.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index ba8ddaa9c3099..f63955916176a 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -1889,6 +1889,12 @@ bool cata_tiles::draw_from_id_string( std::string id, TILE_CATEGORY category, const bool isBold = col.is_bold(); const int FG = colorpair.FG + ( isBold ? 8 : 0 ); std::string generic_id = get_ascii_tile_id( sym, FG, -1 ); + + // do not rotate fallback tiles! + if( sym != LINE_XOXO_C && sym != LINE_OXOX_C ) { + rota = 0; + } + if( tileset_ptr->find_tile_type( generic_id ) ) { return draw_from_id_string( generic_id, pos, subtile, rota, ll, apply_night_vision_goggles ); From ccd1afce7114e6bef75ede9ce889e3ae5b511d4a Mon Sep 17 00:00:00 2001 From: sneeze-attack <1347409+sneeze-attack@users.noreply.github.com> Date: Mon, 28 Jan 2019 03:12:25 -0500 Subject: [PATCH 85/85] Light eater cancels rapid metabolism (#27896) Light eater cancels rapid metabolism --- data/json/mutations.json | 1 + 1 file changed, 1 insertion(+) diff --git a/data/json/mutations.json b/data/json/mutations.json index 0dcbfaf1e7709..cc04e77349567 100644 --- a/data/json/mutations.json +++ b/data/json/mutations.json @@ -105,6 +105,7 @@ "points" : 2, "description" : "Your metabolism is a little slower, and you require less food than most.", "starting_trait" : true, + "cancels" : ["MET_RAT"], "types" : ["METABOLISM"], "changes_to" : [ "GIZZARD", "COLDBLOOD" ], "category" : ["FISH", "BIRD", "INSECT", "TROGLOBITE"],