diff --git a/data/json/items/book/martial.json b/data/json/items/book/martial.json index 044b573d37cde..c4c14ed310ecf 100644 --- a/data/json/items/book/martial.json +++ b/data/json/items/book/martial.json @@ -21,8 +21,7 @@ "id": "manual_capoeira", "copy-from": "book_martial", "type": "GENERIC", - "name": "Capoeira 100", - "name_plural": "Capoeira 100", + "name": { "str": "Capoeira 100", "str_pl": "Capoeira 100" }, "description": "A complete guide to Capoeira.", "book_data": { "martial_art": "style_capoeira" } }, @@ -75,8 +74,7 @@ "id": "manual_judo", "copy-from": "book_martial", "type": "GENERIC", - "name": "Kodokan Judo", - "name_plural": "Kodokan Judo", + "name": { "str": "Kodokan Judo", "str_pl": "Kodokan Judo" }, "description": "A complete guide to Judo.", "book_data": { "martial_art": "style_judo" } }, @@ -93,8 +91,7 @@ "id": "manual_krav_maga", "copy-from": "book_martial", "type": "GENERIC", - "name": "Complete Krav Maga", - "name_plural": "Complete Krav Maga", + "name": { "str": "Complete Krav Maga", "str_pl": "Complete Krav Maga" }, "description": "A complete guide to Krav Maga.", "book_data": { "martial_art": "style_krav_maga" } }, @@ -129,8 +126,7 @@ "id": "manual_ninjutsu", "copy-from": "book_martial", "type": "GENERIC", - "name": "Essence of Ninjutsu", - "name_plural": "Essence of Ninjutsu", + "name": { "str": "Essence of Ninjutsu", "str_pl": "Essence of Ninjutsu" }, "description": "A complete guide to Ninjutsu.", "book_data": { "martial_art": "style_ninjutsu" } }, @@ -183,8 +179,7 @@ "id": "manual_taekwondo", "copy-from": "book_martial", "type": "GENERIC", - "name": "Official Taekwondo Training Manual", - "name_plural": "Official Taekwondo Training Manual", + "name": { "str": "Official Taekwondo Training Manual", "str_pl": "Official Taekwondo Training Manual" }, "description": "A complete guide to Taekwondo.", "book_data": { "martial_art": "style_taekwondo" } }, @@ -192,8 +187,7 @@ "id": "manual_tai_chi", "copy-from": "book_martial", "type": "GENERIC", - "name": "Becoming One with the Tao", - "name_plural": "Becoming One with the Tao", + "name": { "str": "Becoming One with the Tao", "str_pl": "Becoming One with the Tao" }, "description": "A complete guide to T'ai Chi Ch'uan.", "book_data": { "martial_art": "style_tai_chi" } }, @@ -246,8 +240,7 @@ "id": "manual_wingchun", "copy-from": "book_martial", "type": "GENERIC", - "name": "Beautiful Springtime", - "name_plural": "Beautiful Springtime", + "name": { "str": "Beautiful Springtime", "str_pl": "Beautiful Springtime" }, "description": "A complete guide to Wing Chun Kung-fu.", "book_data": { "martial_art": "style_wingchun" } }, @@ -255,8 +248,7 @@ "id": "manual_medievalpole", "copy-from": "book_martial", "type": "GENERIC", - "name": "Fior Di Battaglia", - "name_plural": "Fior Di Battaglia", + "name": { "str": "Fior Di Battaglia", "str_pl": "Fior Di Battaglia" }, "description": "A completely translated medieval guide teaching various techniques with polearms, there is a chapter about the many variations of common polearms… there are even pictures!", "book_data": { "martial_art": "style_medievalpole" } }, @@ -264,8 +256,7 @@ "id": "manual_swordsmanship", "copy-from": "book_martial", "type": "GENERIC", - "name": "Historic European Swordfighting", - "name_plural": "Historic European Swordfighting", + "name": { "str": "Historic European Swordfighting", "str_pl": "Historic European Swordfighting" }, "description": "A complete guide to medieval swordsmanship. Compares the German and Italian traditions for longsword and side sword, in and out of armor, with and without shield.", "book_data": { "martial_art": "style_swordsmanship" } } diff --git a/data/json/items/comestibles/mre.json b/data/json/items/comestibles/mre.json index c5d1c56a0fc9e..a17816656706a 100644 --- a/data/json/items/comestibles/mre.json +++ b/data/json/items/comestibles/mre.json @@ -87,8 +87,7 @@ "id": "mre_spaghetti_box", "type": "GENERIC", "copy-from": "mre_box", - "name": "MRE - Spaghetti", - "name_plural": "MREs - Spaghetti", + "name": { "str": "MRE - Spaghetti", "str_pl": "MREs - Spaghetti" }, "description": "A 'Meal Ready to Eat' with a spaghetti entree and everything a hungry soldier needs. The contents will begin to rot once they're removed from this sealed bag. Activate or disassemble it to get to its contents.", "looks_like": "mre_veggy_box" }, @@ -131,8 +130,7 @@ "id": "mre_chilimac_box", "type": "GENERIC", "copy-from": "mre_box", - "name": "MRE - Chili & Macaroni", - "name_plural": "MREs - Chili & Macaroni", + "name": { "str": "MRE - Chili & Macaroni", "str_pl": "MREs - Chili & Macaroni" }, "description": "A 'Meal Ready to Eat' with a chili & macaroni entree and everything a hungry soldier needs. The contents will begin to rot once they're removed from this sealed bag. Activate or disassemble it to get to its contents.", "looks_like": "mre_veggy_box" }, @@ -147,8 +145,7 @@ "id": "mre_macaronimarinara_box", "type": "GENERIC", "copy-from": "mre_box", - "name": "MRE - Macaroni Marinara", - "name_plural": "MREs - Macaroni Marinara", + "name": { "str": "MRE - Macaroni Marinara", "str_pl": "MREs - Macaroni Marinara" }, "description": "A 'Meal Ready to Eat' with a macaroni marinara entree and everything a hungry soldier needs. The contents will begin to rot once they're removed from this sealed bag. Activate or disassemble it to get to its contents.", "looks_like": "mre_veggy_box" }, @@ -156,8 +153,7 @@ "id": "mre_cheesetort_box", "type": "GENERIC", "copy-from": "mre_box", - "name": "MRE - Cheese Tortellini", - "name_plural": "MREs - Cheese Tortellini", + "name": { "str": "MRE - Cheese Tortellini", "str_pl": "MREs - Cheese Tortellini" }, "description": "A 'Meal Ready to Eat' with a cheese tortellini entree and everything a hungry soldier needs. The contents will begin to rot once they're removed from this sealed bag. Activate or disassemble it to get to its contents.", "looks_like": "mre_veggy_box" }, @@ -165,8 +161,7 @@ "id": "mre_mushroomfettuccine_box", "type": "GENERIC", "copy-from": "mre_box", - "name": "MRE - Mushroom Fettuccine", - "name_plural": "MREs - Mushroom Fettuccine", + "name": { "str": "MRE - Mushroom Fettuccine", "str_pl": "MREs - Mushroom Fettuccine" }, "description": "A 'Meal Ready to Eat' with a mushroom fettuccine entree and everything a hungry soldier needs. The contents will begin to rot once they're removed from this sealed bag. Activate or disassemble it to get to its contents.", "looks_like": "mre_veggy_box" }, @@ -174,8 +169,7 @@ "id": "mre_mexicanchickenstew_box", "type": "GENERIC", "copy-from": "mre_box", - "name": "MRE - Mexican Chicken Stew", - "name_plural": "MREs - Mexican Chicken Stew", + "name": { "str": "MRE - Mexican Chicken Stew", "str_pl": "MREs - Mexican Chicken Stew" }, "description": "A 'Meal Ready to Eat' with a Mexican chicken stew entree and everything a hungry soldier needs. The contents will begin to rot once they're removed from this sealed bag. Activate or disassemble it to get to its contents.", "looks_like": "mre_beef_box" }, diff --git a/data/json/items/fluff.json b/data/json/items/fluff.json index 8ab793fe26a5f..6164d440e44ec 100644 --- a/data/json/items/fluff.json +++ b/data/json/items/fluff.json @@ -3,8 +3,7 @@ "id": "magic_8_ball", "type": "GENERIC", "category": "other", - "name": "Magic 8-Ball", - "name_plural": "Magic 8-Balls", + "name": { "str": "Magic 8-Ball" }, "description": "A fortune-telling device from the 1950s. The kind of moral support you didn't know you needed.", "weight": "40 g", "volume": "250 ml", diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 64ae3b53a1336..9f1ac5fbb77d9 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -237,8 +237,7 @@ "category": "spare_parts", "symbol": ",", "color": "light_gray", - "name": "Nomex patch", - "name_plural": "Nomex patches", + "name": { "str": "Nomex patch", "str_pl": "Nomex patches" }, "description": "A small bolt of Nomex fire-resistant fabric.", "price": 4000, "price_postapoc": 200, @@ -1624,8 +1623,7 @@ "type": "GENERIC", "symbol": ")", "color": "brown", - "name": "Home Frontier Starter Pack", - "name_plural": "Home Frontier Starter Packs", + "name": { "str": "Home Frontier Starter Pack", "str_pl": "Home Frontier Starter Packs" }, "category": "other", "description": "This not-so-little bundle of joy contains Leadworks, LLC's premier offerings: the Enforcer autorevolver (with holster) and Long Ranger rifle. Maintenance kit, batteries for same, and a complimentary copy of the Gun Owner's Handbook are included. The perfect investment for a new family starting out! Disassemble to unpack and enjoy.", "price": 463500, @@ -1639,8 +1637,7 @@ "type": "GENERIC", "symbol": ")", "color": "light_gray", - "name": "Mosin-Nagant classic conversion kit", - "name_plural": "Mosin-Nagant classic conversion kits", + "name": { "str": "Mosin-Nagant classic conversion kit" }, "category": "other", "description": "A beautiful wooden stock and hardware built to support common Mosin-Nagant actions. With gunsmithing tools, some skill, and a few hours, you could take a 'tacti-cool' rifle and convert it to the classic Russian design.", "price": 12000, @@ -1654,8 +1651,7 @@ "type": "GENERIC", "symbol": ")", "color": "light_gray", - "name": "Mosin-Nagant EBR conversion kit", - "name_plural": "Mosin-Nagant EBR conversion kits", + "name": { "str": "Mosin-Nagant EBR conversion kit" }, "category": "spare_parts", "description": "A synthetic stock and hardware designed to accommodate common Mosin-Nagant actions. With gunsmithing tools, some skill, and a few hours, you could give the classic Russian design modern furniture and customization capacity.", "price": 12000, @@ -1669,8 +1665,7 @@ "type": "GENERIC", "symbol": ")", "color": "light_gray", - "name": "L523-CAR conversion", - "name_plural": "L523-CAR conversions", + "name": { "str": "L523-CAR conversion" }, "category": "spare_parts", "description": "All the parts necessary to convert an L523 to the Carbine configuration, Leadworks LLC's choice for close-quarters work. In order to reconfigure an already-configured L523, you'll need to disassemble it to the base platform, then assemble with the parts you prefer.", "price": 170000, @@ -1684,8 +1679,7 @@ "type": "GENERIC", "symbol": ")", "color": "light_gray", - "name": "L523-MBR conversion", - "name_plural": "L523-MBR conversions", + "name": { "str": "L523-MBR conversion" }, "category": "spare_parts", "description": "All the parts necessary to convert an L523 to a Main Battle Rifle, a balanced weapon for all situations. In order to reconfigure an already-configured L523, you'll need to disassemble it to the base platform, then assemble with the parts you prefer.", "price": 170000, @@ -1699,8 +1693,7 @@ "type": "GENERIC", "symbol": ")", "color": "light_gray", - "name": "L523-DSR conversion", - "name_plural": "L523-DSR conversions", + "name": { "str": "L523-DSR conversion" }, "category": "spare_parts", "description": "All the parts necessary to convert an L523 to a Designated Shootist Rifle, suitable for long-ranged work. In order to reconfigure an already-configured L523, you'll need to disassemble it to the base platform, then assemble with the parts you prefer.", "price": 200000, @@ -1714,8 +1707,7 @@ "type": "GENERIC", "symbol": ")", "color": "light_gray", - "name": "L523-LMG conversion", - "name_plural": "L523-LMG conversions", + "name": { "str": "L523-LMG conversion" }, "category": "spare_parts", "description": "All the parts necessary to convert an L523 to a light machine gun. In order to reconfigure an already-configured L523, you'll need to disassemble it to the base platform, then assemble with the parts you prefer.", "price": 270000, diff --git a/data/json/items/melee/knives_kitchen.json b/data/json/items/melee/knives_kitchen.json index 6e5cb942d88dc..9e07c28ea1bc9 100644 --- a/data/json/items/melee/knives_kitchen.json +++ b/data/json/items/melee/knives_kitchen.json @@ -60,8 +60,7 @@ }, { "id": "knife_chef", - "name": "chef knife", - "name_plural": "chef knives", + "name": { "str": "chef knife", "str_pl": "chef knives" }, "type": "TOOL", "category": "weapons", "description": "This is a long-bladed kitchen knife. The blade is wider than the handle, giving room for the wielder's knuckles, and it has a characteristic curve for a fast rocking action for chopping vegetables. It makes a good melee weapon, but the wide blade is unwieldy for butchering.", @@ -77,8 +76,7 @@ }, { "id": "knife_carving", - "name": "carving knife", - "name_plural": "carving knives", + "name": { "str": "carving knife", "str_pl": "carving knives" }, "type": "TOOL", "category": "weapons", "description": "This is a long-bladed kitchen knife with a thin, slightly curved blade for deftly slicing meat either in flat sheets or around the bone. It would be a decent melee weapon, and excellent for butchery.", @@ -94,8 +92,7 @@ }, { "id": "knife_bread", - "name": "bread knife", - "name_plural": "bread knives", + "name": { "str": "bread knife", "str_pl": "bread knives" }, "type": "TOOL", "category": "weapons", "description": "This knife has quite a long blade with a scalloped edge for cutting bread. It's not that sharp, but its length and heft mean it could do a bit of damage and cause some nasty tearing.", diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 13aa761de32cc..fbe98cc5b76ab 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -85,8 +85,7 @@ "id": "knife_combat", "type": "TOOL", "category": "weapons", - "name": "combat knife", - "name_plural": "combat knives", + "name": { "str": "combat knife", "str_pl": "combat knives" }, "description": "This is a military combat knife. It is light and extremely sharp, and could be deadly in either the right hands or when attached as a bayonet.", "weight": "558 g", "volume": "500 ml", @@ -163,8 +162,7 @@ "id": "knife_rm42", "type": "TOOL", "category": "weapons", - "name": "RM42 fighting knife", - "name_plural": "RM42 fighting knives", + "name": { "str": "RM42 fighting knife", "str_pl": "RM42 fighting knives" }, "description": "This sturdy matte black Rivtech combat dagger features a long and slim double-edged blade with a spear-point and a distinctive slip-resistant grip which can also be used to affix it to a suitable firearm. Originally manufactured for the military, it was very popular in films and among collectors due to its fearsome appearance.", "weight": "188 g", "volume": "750 ml", @@ -189,12 +187,11 @@ { "id": "knife_swissarmy", "type": "TOOL", - "name": "Swiss Army knife", - "name_plural": "Swiss Army knives", + "name": { "str": "Swiss Army knife", "str_pl": "Swiss Army knives" }, "//": "The swiss army knife is a bit more of a knife than a toolkit.", "description": "An iconic pocket knife imported from Europe. Its red plastic handle conceals many small tools.", "weight": "246 g", - "volume": 0, + "volume": "5 ml", "price": 3000, "to_hit": -2, "cutting": 6, @@ -672,8 +669,7 @@ "id": "dao", "type": "TOOL", "category": "weapons", - "name": "dao", - "name_plural": "dao", + "name": { "str": "dao", "str_pl": "dao" }, "description": "An ancient Chinese sword consisting of a curved blade and a guard with a cupped design. Existing since the Shang dynasty, this one is made of bronze. One of the four major weapons in folklore, alongside the jian sword, qiang spear, and gun staff.", "weight": "850 g", "volume": "1750 ml", @@ -879,8 +875,7 @@ "id": "nodachi", "type": "TOOL", "category": "weapons", - "name": "nodachi", - "name_plural": "nodachi", + "name": { "str": "nodachi", "str_pl": "nodachi" }, "description": "This is a huge, curved, two-handed sword from Japan. It is surprisingly light for its size.", "weight": "2822 g", "volume": "3250 ml", @@ -1181,8 +1176,7 @@ "type": "TOOL", "symbol": "/", "color": "dark_gray", - "name": "cutlass", - "name_plural": "cutlasses", + "name": { "str": "cutlass", "str_pl": "cutlasses" }, "description": "This is a broad saber known for its use by sailors and pirates. This sword appears to be made very poorly, but it should still stand up to a few swings.", "price": 96000, "material": "budget_steel", @@ -1431,8 +1425,7 @@ "type": "TOOL", "symbol": "/", "color": "light_gray", - "name": "pair of butterfly swords", - "name_plural": "pairs of butterfly swords", + "name": { "str": "pair of butterfly swords", "str_pl": "pairs of butterfly swords" }, "description": "This is a matched pair of traditional Shaolin butterfly swords. They are about the size of machetes but have hand guards and wider blades.", "//": "basically 2x the weight, 1.3x the damage, 2.5x the resources of a single machete to cover the fact that it's two weapons, each with a hand guard", "price": 50000, @@ -1511,8 +1504,7 @@ "id": "ecs_lajatang_on", "copy-from": "ecs_lajatang_off", "type": "TOOL", - "name": "electric chainsaw lajatang (on)", - "name_plural": "electric chainsaw lajatangs (on)", + "name": { "str": "electric chainsaw lajatang (on)", "str_pl": "electric chainsaw lajatangs (on)" }, "description": "A long wooden pole with electric chainsaws impractically attached to both ends. They are currently on and draining power; use this item to turn them off.", "bashing": 4, "cutting": 140, @@ -1527,8 +1519,7 @@ "id": "cutlass", "type": "TOOL", "category": "weapons", - "name": "cutlass", - "name_plural": "cutlasses", + "name": { "str": "cutlass", "str_pl": "cutlasses" }, "description": "This is a broad saber known for its use by sailors and pirates, as its short blade is easy to handle in close quarters.", "weight": "955 g", "volume": "1250 ml", @@ -1628,8 +1619,7 @@ "id": "e_combatsaw_on", "copy-from": "e_combatsaw_off", "type": "TOOL", - "name": "electric combat chainsaw (on)", - "name_plural": "electric combat chainsaws (on)", + "name": { "str": "electric combat chainsaw (on)", "str_pl": "electric combat chainsaws (on)" }, "description": "This electric combat chainsaw is on, and is continuously draining power. Use it to turn it off.", "to_hit": -4, "cutting": 82, diff --git a/data/json/items/software.json b/data/json/items/software.json index 7a5a97ebd0d66..a1c694f0524ad 100644 --- a/data/json/items/software.json +++ b/data/json/items/software.json @@ -30,8 +30,7 @@ "id": "software_medical", "copy-from": "software", "type": "GENERIC", - "name": "MediSoft", - "name_plural": "MediSoft", + "name": { "str": "MediSoft", "str_pl": "MediSoft" }, "description": "A piece of medical software.", "price": 600 }, @@ -39,8 +38,7 @@ "id": "software_math", "copy-from": "software", "type": "GENERIC", - "name": "MatheMAX", - "name_plural": "MatheMAX", + "name": { "str": "MatheMAX", "str_pl": "MatheMAX" }, "description": "A piece of mathematical software.", "price": 500 }, diff --git a/data/json/items/tool/cooking.json b/data/json/items/tool/cooking.json index 4c4e9b26e3348..72f6b8aceab42 100644 --- a/data/json/items/tool/cooking.json +++ b/data/json/items/tool/cooking.json @@ -77,8 +77,7 @@ "id": "carver_on", "copy-from": "carver_off", "type": "TOOL", - "name": "electric carver (on)", - "name_plural": "electric carvers (on)", + "name": { "str": "electric carver (on)", "str_pl": "electric carvers (on)" }, "description": "This carver is on and the blades are buzzing. Use it to turn it off.", "cutting": 30, "power_draw": 150000, diff --git a/data/json/items/tool/deployable.json b/data/json/items/tool/deployable.json index 9255d4b5c9a5a..d92b8980d4459 100644 --- a/data/json/items/tool/deployable.json +++ b/data/json/items/tool/deployable.json @@ -35,8 +35,7 @@ { "id": "30gal_firebarrel", "type": "TOOL", - "name": "fire barrel (100L)", - "name_plural": "fire barrels (100L)", + "name": { "str": "fire barrel (100L)", "str_pl": "fire barrels (100L)" }, "description": "A large metal barrel used to contain a fire. It has multiple holes punched in its walls for air supply. Fires set in a fire barrel will not spread to surrounding flammable objects.", "weight": "12000 g", "volume": "100 L", diff --git a/data/json/items/tool/electronics.json b/data/json/items/tool/electronics.json index d6d3523597083..5043d1745f09c 100644 --- a/data/json/items/tool/electronics.json +++ b/data/json/items/tool/electronics.json @@ -364,8 +364,7 @@ { "id": "noise_emitter", "type": "TOOL", - "name": "noise emitter (off)", - "name_plural": "noise emitters (off)", + "name": { "str": "noise emitter (off)", "str_pl": "noise emitters (off)" }, "description": "This device was constructed by 'enhancing' a speaker ripped off from some electronic device with some amplifier circuits. It has now no other use beside emitting loud crackling static noise, that could distract zombies.", "weight": "340 g", "volume": "1 L", @@ -398,8 +397,7 @@ "id": "noise_emitter_on", "copy-from": "noise_emitter", "type": "TOOL", - "name": "noise emitter (on)", - "name_plural": "noise emitters (on)", + "name": { "str": "noise emitter (on)", "str_pl": "noise emitters (on)" }, "description": "This device has been turned on and is emitting horrible crackles, pops and other static sounds. Quick, get away from it before it draws zombies to you!", "power_draw": 10000, "revert_to": "noise_emitter", diff --git a/data/json/items/tool/explosives.json b/data/json/items/tool/explosives.json index d42c73d4de5f6..545ea2f2f2119 100644 --- a/data/json/items/tool/explosives.json +++ b/data/json/items/tool/explosives.json @@ -159,8 +159,7 @@ "id": "dynamite_bomb", "type": "TOOL", "category": "weapons", - "name": "dynamite bomb", - "name_plural": "dynamite bombs", + "name": { "str": "dynamite bomb" }, "description": "These are several sticks of explosives surrounded by shrapnel stuffed inside a metal container. The fuse is sticking out through a small hole. Use this item to light the fuse. You will, of course, need a lighter or matches in your inventory to do this. Shortly after lighting the fuse, this item will explode, so get away!", "weight": "2730 g", "volume": "2000 ml", diff --git a/data/json/items/tool/fire.json b/data/json/items/tool/fire.json index 90890c2ae7715..80616151d0adc 100644 --- a/data/json/items/tool/fire.json +++ b/data/json/items/tool/fire.json @@ -219,8 +219,7 @@ { "id": "tinderbox_on", "type": "TOOL", - "name": "ember carrier (lit)", - "name_plural": "ember carriers (lit)", + "name": { "str": "ember carrier (lit)", "str_pl": "ember carriers (lit)" }, "description": "This is a small container for holding tinder, with holes punched in it to provide a controlled airflow. An ember is smoldering inside it, and can be used to start a campfire.", "weight": "500 g", "volume": "500 ml", diff --git a/data/json/items/tool/knives.json b/data/json/items/tool/knives.json index 46bbbf261b93f..d1b18b33da322 100644 --- a/data/json/items/tool/knives.json +++ b/data/json/items/tool/knives.json @@ -2,8 +2,7 @@ { "id": "copper_knife", "type": "TOOL", - "name": "copper knife", - "name_plural": "copper knives", + "name": { "str": "copper knife", "str_pl": "copper knives" }, "description": "A knife consisting of crudely-worked copper, and a simple handle. Primitive, but a step above stone-age.", "weight": "650 g", "volume": "250 ml", diff --git a/data/json/items/tool/lighting.json b/data/json/items/tool/lighting.json index 42a33cac8c54d..26af605cfdcea 100644 --- a/data/json/items/tool/lighting.json +++ b/data/json/items/tool/lighting.json @@ -176,8 +176,7 @@ "id": "electric_lantern_on", "copy-from": "electric_lantern", "type": "TOOL", - "name": "electric lantern (on)", - "name_plural": "electric lanterns (on)", + "name": { "str": "electric lantern (on)", "str_pl": "electric lanterns (on)" }, "power_draw": 1000, "revert_to": "electric_lantern", "use_action": { "menu_text": "Turn off", "type": "transform", "target": "electric_lantern", "msg": "You turn the lamp off." }, diff --git a/data/json/items/tool/metalworking.json b/data/json/items/tool/metalworking.json index bca734a4f934f..92a6a3fe1f056 100644 --- a/data/json/items/tool/metalworking.json +++ b/data/json/items/tool/metalworking.json @@ -34,8 +34,7 @@ { "id": "boltcutters", "type": "TOOL", - "name": "pair of bolt cutters", - "name_plural": "pairs of bolt cutters", + "name": { "str": "pair of bolt cutters", "str_pl": "pairs of bolt cutters" }, "description": "This is a large pair of bolt cutters. You could use them to cut padlocks or heavy gauge wire.", "weight": "1224 g", "volume": "750 ml", @@ -242,8 +241,7 @@ { "id": "tongs", "type": "TOOL", - "name": "pair of metal tongs", - "name_plural": "pairs of metal tongs", + "name": { "str": "pair of metal tongs", "str_pl": "pairs of metal tongs" }, "description": "These are long, metal tongs. They are commonly used for cooking or in metalworking fabrication recipes.", "weight": "540 g", "volume": "500 ml", diff --git a/data/json/items/tool/woodworking.json b/data/json/items/tool/woodworking.json index 59b7f348b4f99..601dcec678330 100644 --- a/data/json/items/tool/woodworking.json +++ b/data/json/items/tool/woodworking.json @@ -163,8 +163,7 @@ "id": "elec_chainsaw_on", "copy-from": "elec_chainsaw_off", "type": "TOOL", - "name": "electric chainsaw (on)", - "name_plural": "electric chainsaws (on)", + "name": { "str": "electric chainsaw (on)", "str_pl": "electric chainsaws (on)" }, "description": "This electric chainsaw is on and making a lot of noise. Use it to turn it off.", "to_hit": -5, "bashing": 4, diff --git a/data/json/items/tool/workshop.json b/data/json/items/tool/workshop.json index 8787ea65341f8..d61916e3ad392 100644 --- a/data/json/items/tool/workshop.json +++ b/data/json/items/tool/workshop.json @@ -568,8 +568,7 @@ { "id": "paint_brush", "type": "TOOL", - "name": "paint brush", - "name_plural": "paint brushes", + "name": { "str": "paint brush", "str_pl": "paint brushes" }, "description": "A wide brush, suitable for painting walls.", "weight": "60 g", "volume": "500 ml", diff --git a/data/json/items/vehicle/rigs.json b/data/json/items/vehicle/rigs.json index eab7396b8b93d..04ca713649ead 100644 --- a/data/json/items/vehicle/rigs.json +++ b/data/json/items/vehicle/rigs.json @@ -22,8 +22,7 @@ "id": "craftrig", "copy-from": "vehicle_rig", "type": "GENERIC", - "name": "FOODCO kitchen buddy", - "name_plural": "FOODCO kitchen buddies", + "name": { "str": "FOODCO kitchen buddy", "str_pl": "FOODCO kitchen buddies" }, "description": "Assembled from a set of instructions you found in an old book of DIY projects, the *FOODCO kitchen buddy* claims to be *the perfect solution to all your home-cooking needs!*. While it is surprisingly handy for vacuum-sealing as well as dehydrating food, the cheery sales pitch neglected to mention A - how awkward the damn thing is, B - That you still need a normal kitchen and C - how it doesn't take batteries. You're going to have to weld it to a vehicle, or something else with a supply of electricity, if you want to use it. In addition to the food preservation features, it also has a food processor, a water-purification system, a drawer for holding extra tools, and for some insane reason, a press and die set for hand-loading ammunition." }, { diff --git a/data/json/vehicleparts/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json index 1ff22f871634e..32c9d167244ec 100644 --- a/data/json/vehicleparts/vehicle_parts.json +++ b/data/json/vehicleparts/vehicle_parts.json @@ -3572,7 +3572,7 @@ "broken_color": "light_gray", "damage_modifier": 80, "durability": 320, - "description": "A rotating, universal mount for a weapon. If your hands are empty, you can stand next to a turret mount and 'f'ire the weapon by selecting the tile.", + "description": "A rotating, universal mount for a weapon. If your hands are empty, you can stand on the same tile as a turret mount and 'f'ire the weapon.", "folded_volume": "2500 ml", "item": "turret_mount", "requirements": { diff --git a/data/names/en.json b/data/names/en.json index ccea873a54d4f..c8c69077cbbf8 100644 --- a/data/names/en.json +++ b/data/names/en.json @@ -470,6 +470,7 @@ {"usage": "nick", "name": "Electric"}, {"usage": "nick", "name": "Element"}, {"usage": "nick", "name": "Elite"}, +{"usage": "nick", "name": "Elric"}, {"usage": "nick", "name": "Emerald"}, {"usage": "nick", "name": "Encore"}, {"usage": "nick", "name": "End Times"}, @@ -2235,6 +2236,7 @@ {"usage": "city", "name": "Groveland"}, {"usage": "city", "name": "Guildhall"}, {"usage": "city", "name": "Guilford"}, +{"usage": "city", "name": "Gwinnett"}, {"usage": "city", "name": "Haddam"}, {"usage": "city", "name": "Hadley"}, {"usage": "city", "name": "Halifax"}, @@ -2792,6 +2794,7 @@ {"usage": "city", "name": "Sudbury"}, {"usage": "city", "name": "Suffield"}, {"usage": "city", "name": "Sugar Hill"}, +{"usage": "city", "name": "Sugarloaf"}, {"usage": "city", "name": "Sullivan"}, {"usage": "city", "name": "Sumner"}, {"usage": "city", "name": "Sunapee"}, diff --git a/src/advanced_inv.cpp b/src/advanced_inv.cpp index adfc5e8eb861a..2a43ee9fe34e4 100644 --- a/src/advanced_inv.cpp +++ b/src/advanced_inv.cpp @@ -1423,6 +1423,7 @@ void advanced_inventory::display() it.info( true, vThisItem ); item_info_data data( it.tname(), it.type_name(), vThisItem, vDummy ); + data.handle_scrolling = true; ret = draw_item_info( info_startx, info_width, 0, 0, data ).get_first_input(); } diff --git a/src/iuse.cpp b/src/iuse.cpp index 4c29b83d8e89a..d9bfb3f1e4a54 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -5507,7 +5507,11 @@ int iuse::artifact( player *p, item *it, bool, const tripoint & ) int iuse::spray_can( player *p, item *it, bool, const tripoint & ) { - return handle_ground_graffiti( *p, it, _( "Spray what?" ), p->pos() ); + const cata::optional dest_ = choose_adjacent( _( "Spray where?" ) ); + if( !dest_ ) { + return 0; + } + return handle_ground_graffiti( *p, it, _( "Spray what?" ), dest_.value() ); } int iuse::handle_ground_graffiti( player &p, item *it, const std::string &prefix, @@ -5532,7 +5536,7 @@ int iuse::handle_ground_graffiti( player &p, item *it, const std::string &prefix if( grave ) { p.add_msg_if_player( m_info, _( "You blur the inscription on the grave." ) ); } else { - p.add_msg_if_player( m_info, _( "You manage to get rid of the message on the ground." ) ); + p.add_msg_if_player( m_info, _( "You manage to get rid of the message on the surface." ) ); } } else { return 0; @@ -5542,7 +5546,7 @@ int iuse::handle_ground_graffiti( player &p, item *it, const std::string &prefix if( grave ) { p.add_msg_if_player( m_info, _( "You carve an inscription on the grave." ) ); } else { - p.add_msg_if_player( m_info, _( "You write a message on the ground." ) ); + p.add_msg_if_player( m_info, _( "You write a message on the surface." ) ); } move_cost = 2 * message.length(); } diff --git a/src/iuse_actor.cpp b/src/iuse_actor.cpp index 4953878b494dd..ae096b6dbfc02 100644 --- a/src/iuse_actor.cpp +++ b/src/iuse_actor.cpp @@ -1678,7 +1678,7 @@ int inscribe_actor::use( player &p, item &it, bool t, const tripoint & ) const if( on_terrain && on_items ) { uilist imenu; imenu.text = string_format( _( "%s on what?" ), verb ); - imenu.addentry( 0, true, MENU_AUTOASSIGN, _( "The ground" ) ); + imenu.addentry( 0, true, MENU_AUTOASSIGN, _( "The terrain" ) ); imenu.addentry( 1, true, MENU_AUTOASSIGN, _( "An item" ) ); imenu.query(); choice = imenu.ret; @@ -1693,7 +1693,12 @@ int inscribe_actor::use( player &p, item &it, bool t, const tripoint & ) const } if( choice == 0 ) { - return iuse::handle_ground_graffiti( p, &it, string_format( _( "%s what?" ), verb ), p.pos() ); + const cata::optional dest_ = choose_adjacent( _( "Write where?" ) ); + if( !dest_ ) { + return 0; + } + return iuse::handle_ground_graffiti( p, &it, string_format( _( "%s what?" ), verb ), + dest_.value() ); } item_location loc = game_menus::inv::titled_menu( g->u, _( "Inscribe which item?" ) );