From 8a6efc2176995deaae77de36852d83c43679c90a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jianxiang=20Wang=20=28=E7=8E=8B=E5=81=A5=E7=BF=94=29?= Date: Sun, 29 Dec 2019 01:11:37 +0800 Subject: [PATCH] Add correct plural names to items (#36501) --- data/json/items/armor.json | 6 +- data/json/items/armor/gloves.json | 2 +- data/json/items/armor/jewelry.json | 4 +- data/json/items/armor/pets_horse_armor.json | 4 +- data/json/items/bionics.json | 2 +- data/json/items/classes/gun.json | 2 +- data/json/items/comestibles/mre.json | 2 +- data/json/items/corpses/inactive_bots.json | 4 +- data/json/items/fake.json | 2 +- data/json/items/generic.json | 10 +- data/json/items/generic/dining_kitchen.json | 8 +- data/json/items/gun/shot.json | 2 +- data/json/items/gunmod/laser_gunmods.json | 2 +- data/json/items/melee/knives_kitchen.json | 2 +- data/json/items/obsolete.json | 4 +- data/json/items/robot_parts.json | 2 +- data/json/items/tool/handloading.json | 4 +- data/json/items/tool_armor.json | 4 +- data/json/items/tools.json | 8 +- data/json/items/vehicle/tables.json | 2 +- data/json/items/vehicle/wheel.json | 6 +- data/json/items/vehicle_parts.json | 2 +- data/json/monsters/defense_bot.json | 4 +- data/json/monsters/mammal.json | 2 +- data/mods/Aftershock/items/afs__items.json | 4 +- data/mods/Aftershock/items/afs_armor.json | 8 +- data/mods/Aftershock/items/afs_weapons.json | 2 +- data/mods/CRT_EXPANSION/items/crt_armor.json | 4 +- .../mods/CRT_EXPANSION/items/crt_gunmods.json | 4 +- .../CRT_EXPANSION/items/crt_toolarmor.json | 12 +- data/mods/CRT_EXPANSION/items/crt_tools.json | 4 +- .../CrazyCataclysm/crazy_aperturepotato.json | 2 +- data/mods/Growable_pots/items.json | 4 +- .../Magiclysm/enchanted/enchanted_belts.json | 12 +- data/mods/Magiclysm/items/ethereal_items.json | 4 +- data/mods/Magiclysm/items/spell_scrolls.json | 174 ++++++++++-------- data/mods/Magiclysm/items/spellbooks.json | 12 -- data/mods/Salvaged_Robots/corpses.json | 4 +- data/mods/Salvaged_Robots/items.json | 4 +- lang/extract_json_strings.py | 4 + 40 files changed, 176 insertions(+), 172 deletions(-) diff --git a/data/json/items/armor.json b/data/json/items/armor.json index ae544e24ca9f1..4a7fdbea46677 100644 --- a/data/json/items/armor.json +++ b/data/json/items/armor.json @@ -1381,7 +1381,7 @@ "type": "ARMOR", "copy-from": "briefcase", "looks_like": "briefcase", - "name": "H&K operational briefcase (empty)", + "name": { "str": "H&K operational briefcase (empty)", "str_pl": "H&K operational briefcases (empty)" }, "description": "This is a plain, hard-sided black briefcase with a trigger in the handle and a concealed hole in the side. Squeezing the trigger would currently do nothing, as it is empty. Don't forget to put a suitable MP5 back inside before you try to pay any ransom fees with lead.", "storage": "14500 ml", "price": 2000, @@ -2723,7 +2723,7 @@ { "id": "lame_foil", "type": "ARMOR", - "name": "lamé (foil)", + "name": { "str": "lamé (foil)", "str_pl": "lamés (foil)" }, "description": "A thin, lightweight conductive vest with the zipper on the back used by fencers for electronic scoring. Its outer layer is a woven mix of sturdy cotton and stainless steel strands.", "weight": "843 g", "volume": "2500 ml", @@ -2741,7 +2741,7 @@ { "id": "lame_saber", "type": "ARMOR", - "name": "lamé (saber)", + "name": { "str": "lamé (saber)", "str_pl": "lamés (saber)" }, "description": "A thin, lightweight conductive jacket used by fencers for electronic scoring. Its outer layer is a woven mix of sturdy cotton and stainless steel strands.", "weight": "1043 g", "volume": "2500 ml", diff --git a/data/json/items/armor/gloves.json b/data/json/items/armor/gloves.json index 56e29e9cc4dd4..3068b3db9ade6 100644 --- a/data/json/items/armor/gloves.json +++ b/data/json/items/armor/gloves.json @@ -145,7 +145,7 @@ { "id": "gauntlet_fencing_l", "type": "ARMOR", - "name": "fencing gauntlet (left)", + "name": { "str": "fencing gauntlet (left)", "str_pl": "fencing gauntlets (left)" }, "description": "A single suede glove with sturdy cotton wrists, padded backs and well-fitting fingers. This one is left-handed.", "weight": "175 g", "volume": "250 ml", diff --git a/data/json/items/armor/jewelry.json b/data/json/items/armor/jewelry.json index dfd8585ec4c25..4a2581bf3ae82 100644 --- a/data/json/items/armor/jewelry.json +++ b/data/json/items/armor/jewelry.json @@ -331,7 +331,7 @@ { "id": "cufflinks", "type": "ARMOR", - "name": "cufflinks", + "name": { "str": "pair of cufflinks", "str_pl": "pairs of cufflinks" }, "description": "An unmarked, pair of silver cufflinks. Cufflinks are used to secure the cuffs of dress shirts - a must-have for men in formal wear. You can wear it if you like, but it won't provide any effects.", "weight": "15 g", "volume": 0, @@ -344,7 +344,7 @@ { "id": "cufflinks_intricate", "type": "ARMOR", - "name": "intricate cufflinks", + "name": { "str": "pair of intricate cufflinks", "str_pl": "pairs of intricate cufflinks" }, "description": "An expensive pair of silver cufflinks, stylized with detailed overlays of gold gears and fractal patterns. You can wear it if you like, but it won't provide any effects.", "weight": "21 g", "volume": 0, diff --git a/data/json/items/armor/pets_horse_armor.json b/data/json/items/armor/pets_horse_armor.json index c4640b3106bd2..6e68706090474 100644 --- a/data/json/items/armor/pets_horse_armor.json +++ b/data/json/items/armor/pets_horse_armor.json @@ -99,7 +99,7 @@ "type": "PET_ARMOR", "id": "leatherbone_armor_horse", "copy-from": "leather_armor_horse", - "name": "boiled leather horse barding with bones", + "name": { "str": "boiled leather horse barding with bones", "str_pl": "boiled leather horse bardings with bones" }, "description": "Decorative bones affixed to leather horse barding to invoke fear in bandits and raiders and traders all! You could put this on a friendly horse.", "relative": { "price": 1500, "price_postapoc": 150, "weight": 500 }, "material": [ "bone", "leather" ] @@ -129,7 +129,7 @@ { "id": "saddlebag", "type": "ARMOR", - "name": "saddle bags", + "name": { "str": "pair of saddle bags", "str_pl": "pairs of saddle bags" }, "description": "A pair of covered pouches laid across the back of a horse behind the saddle.", "weight": "1000 g", "volume": "7500 ml", diff --git a/data/json/items/bionics.json b/data/json/items/bionics.json index c52a5dc389c0b..26e58bd1dc69e 100644 --- a/data/json/items/bionics.json +++ b/data/json/items/bionics.json @@ -19,7 +19,7 @@ "abstract": "bionic_general_npc_usable", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "abstract bionic module (npc usable)", + "name": { "str": "abstract bionic module (npc usable)", "str_pl": "abstract bionic modules (npc usable)" }, "extend": { "flags": [ "BIONIC_NPC_USABLE" ] } }, { diff --git a/data/json/items/classes/gun.json b/data/json/items/classes/gun.json index e46fc93f7cf2a..64c8503cf63a2 100644 --- a/data/json/items/classes/gun.json +++ b/data/json/items/classes/gun.json @@ -206,7 +206,7 @@ "copy-from": "shotgun_pump", "type": "GUN", "//": "Anything that has the right pin arrangement for a speedloader chute", - "name": "base race shotgun, pump", + "name": { "str": "base race shotgun, pump", "str_pl": "base race shotguns, pump" }, "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], diff --git a/data/json/items/comestibles/mre.json b/data/json/items/comestibles/mre.json index 8326c0a6c5d73..84d4ac85fc7fb 100644 --- a/data/json/items/comestibles/mre.json +++ b/data/json/items/comestibles/mre.json @@ -19,7 +19,7 @@ "type": "GENERIC", "symbol": ")", "color": "brown", - "name": "MRE small box", + "name": { "str": "MRE small box", "str_pl": "MRE small boxes" }, "category": "food", "description": "A generic small MRE box, you shouldn't see this", "price": 500, diff --git a/data/json/items/corpses/inactive_bots.json b/data/json/items/corpses/inactive_bots.json index 499e8959cdbba..b70fa0b5a101b 100644 --- a/data/json/items/corpses/inactive_bots.json +++ b/data/json/items/corpses/inactive_bots.json @@ -799,7 +799,7 @@ { "id": "bot_dispatch", "type": "TOOL", - "name": "inactive dispatch", + "name": { "str": "inactive dispatch", "str_pl": "inactive dispatches" }, "description": "An inactive Northrop Dispatch, guard model, serving as a mobile assembler and deployer of kamikaze manhacks for defense. Activate it to place it onto the ground; due to a one-way switch triggered during deactivation, however, it will be nonaggressive, and serves only as a distraction.", "volume": "95 L", "weight": "250 kg", @@ -824,7 +824,7 @@ { "id": "bot_dispatch_military", "type": "TOOL", - "name": "inactive military dispatch", + "name": { "str": "inactive military dispatch", "str_pl": "inactive military dispatches" }, "description": "An inactive Northrop Dispatch, military model, serving as a mobile assembler and deployer of lethal manhacks for combat situations. Activate it to place it onto the ground; due to a one-way switch triggered during deactivation, however, it will be nonaggressive, and serves only as a distraction.", "volume": "95 L", "weight": "300 kg", diff --git a/data/json/items/fake.json b/data/json/items/fake.json index 999a2d0c6e778..129c3a737ca04 100644 --- a/data/json/items/fake.json +++ b/data/json/items/fake.json @@ -58,7 +58,7 @@ "id": "bio_scalpel", "copy-from": "fake_item", "type": "TOOL", - "name": "autonomous surgical scalpels", + "name": { "str": "autonomous surgical scalpels", "str_pl": "autonomous surgical scalpels" }, "flags": [ "TRADER_AVOID" ], "qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 5 ], [ "BUTCHER", 50 ] ] }, diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 2d53f6fd5c1da..ca489362ffd06 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -666,7 +666,7 @@ "id": "wire_mesh", "symbol": ";", "color": "light_gray", - "name": "steel mesh", + "name": { "str": "steel mesh", "str_pl": "steel meshes" }, "description": "A mat of woven fine steel wire, useful for dryer lint traps and reusable coffee filter baskets. You could put these on a window to keep mosquitoes and other bugs out, but chainlink fencing will do these days.", "category": "spare_parts", "weight": "318 g", @@ -1207,7 +1207,7 @@ "id": "broken_dispatch", "symbol": ",", "color": "yellow", - "name": "broken riot dispatch", + "name": { "str": "broken riot dispatch", "str_pl": "broken riot dispatches" }, "category": "other", "description": "A broken riot dispatch, with its mesh midsection filled with fried manhacks and its motor limp and still. Could be gutted for parts.", "price": 1000, @@ -1224,7 +1224,7 @@ "id": "broken_dispatch_military", "symbol": ",", "color": "green", - "name": "broken military dispatch", + "name": { "str": "broken military dispatch", "str_pl": "broken military dispatches" }, "category": "other", "description": "A broken military dispatch. Though the scratched, disarmed manhacks visible in its belly are disarmed, their destructive potential still inspires a spark of fear, even now. Could be gutted for parts.", "price": 1000, @@ -1556,7 +1556,7 @@ "id": "template_photonics", "copy-from": "standard_template_construct", "color": "yellow", - "name": "nanofabricator template (silicon photonics)", + "name": { "str": "nanofabricator template (silicon photonics)", "str_pl": "nanofabricator templates (silicon photonics)" }, "description": "A state-of-the-art optical storage system, containing the instruction set required for the fabrication of complex silicon photonic circuitry. The data within was once clearly worth millions, but now, you are not sure if it's anything more than a fancy, high-tech paperweight.", "price": 200000000, "//": "actually worth millions", @@ -2207,7 +2207,7 @@ "id": "ruby", "copy-from": "garnet", "color": "red", - "name": "ruby", + "name": { "str": "ruby", "str_pl": "rubies" }, "description": "A sparkling ruby." }, { diff --git a/data/json/items/generic/dining_kitchen.json b/data/json/items/generic/dining_kitchen.json index 4eb45ca9791f3..f11865e156157 100644 --- a/data/json/items/generic/dining_kitchen.json +++ b/data/json/items/generic/dining_kitchen.json @@ -49,7 +49,7 @@ }, { "id": "base_ceramic_dish", - "name": "generic dish", + "name": { "str": "generic dish", "str_pl": "generic dishes" }, "description": "generic item template", "type": "GENERIC", "symbol": ")", @@ -64,7 +64,7 @@ }, { "id": "base_glass_dish", - "name": "generic dish", + "name": { "str": "generic dish", "str_pl": "generic dishes" }, "description": "generic item template", "type": "GENERIC", "symbol": ")", @@ -79,7 +79,7 @@ }, { "id": "base_tin_dish", - "name": "generic dish", + "name": { "str": "generic dish", "str_pl": "generic dishes" }, "description": "generic item template", "type": "GENERIC", "symbol": ")", @@ -94,7 +94,7 @@ }, { "id": "base_plastic_dish", - "name": "generic dish", + "name": { "str": "generic dish", "str_pl": "generic dishes" }, "description": "generic item template", "type": "GENERIC", "symbol": ")", diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 3c598dab14ef5..6e2a1db29ef91 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -333,7 +333,7 @@ "id": "remington_870_express", "copy-from": "remington_870", "type": "GUN", - "name": "Remington 870 express", + "name": { "str": "Remington 870 express", "str_pl": "Remington 870 expresses" }, "description": "With over 10 million made, the Remington 870 is one of the most popular shotguns on the market, and finds use with hunters and law enforcement agencies alike thanks to its high accuracy and muzzle velocity. This one is an 18.5 inch barreled defensive model.", "weight": "3402 g", "volume": "2696 ml", diff --git a/data/json/items/gunmod/laser_gunmods.json b/data/json/items/gunmod/laser_gunmods.json index 1d44d81c4b3c2..91651a8f41c8c 100644 --- a/data/json/items/gunmod/laser_gunmods.json +++ b/data/json/items/gunmod/laser_gunmods.json @@ -20,7 +20,7 @@ { "id": "focusing_lens", "type": "GUNMOD", - "name": "focusing lens", + "name": { "str": "focusing lens", "str_pl": "focusing lenses" }, "description": "A set of optics to concentrate the laser beam on a smaller focus point. This increases range and damage output, but complicates targeting.", "weight": "380 g", "volume": "250 ml", diff --git a/data/json/items/melee/knives_kitchen.json b/data/json/items/melee/knives_kitchen.json index 08bf943232987..03be51eec5b49 100644 --- a/data/json/items/melee/knives_kitchen.json +++ b/data/json/items/melee/knives_kitchen.json @@ -1,7 +1,7 @@ [ { "id": "base_kitchen_knife", - "name": "generic kitchen knife", + "name": { "str": "generic kitchen knife", "str_pl": "generic kitchen knives" }, "description": "generic item template", "type": "TOOL", "material": "steel", diff --git a/data/json/items/obsolete.json b/data/json/items/obsolete.json index 412372e9fdc41..907b1fe810ec6 100644 --- a/data/json/items/obsolete.json +++ b/data/json/items/obsolete.json @@ -765,7 +765,7 @@ { "type": "GENERIC", "id": "lily_flower", - "name": "lily", + "name": { "str": "lily", "str_pl": "lilies" }, "description": "A lily stalk with some petals.", "weight": "40 g", "to_hit": -3, @@ -791,7 +791,7 @@ { "type": "GENERIC", "id": "lotus_flower", - "name": "lotus", + "name": { "str": "lotus", "str_pl": "lotuses" }, "description": "A lotus stalk with some petals.", "weight": "40 g", "to_hit": -3, diff --git a/data/json/items/robot_parts.json b/data/json/items/robot_parts.json index 37d22cda8344e..46f009b9e8d1d 100644 --- a/data/json/items/robot_parts.json +++ b/data/json/items/robot_parts.json @@ -50,7 +50,7 @@ { "type": "GENERIC", "id": "self_monitoring_module", - "name": "self monitoring sensors", + "name": { "str": "self monitoring sensors", "str_pl": "self monitoring sensors" }, "description": "A array of sensors and diagnostic modules allowing the robot to perceive itself.", "copy-from": "robot_module_abstract" }, diff --git a/data/json/items/tool/handloading.json b/data/json/items/tool/handloading.json index 4e08303a23068..cd64a3f65a18a 100644 --- a/data/json/items/tool/handloading.json +++ b/data/json/items/tool/handloading.json @@ -2,7 +2,7 @@ { "id": "press", "type": "TOOL", - "name": "hand press", + "name": { "str": "hand press", "str_pl": "hand presses" }, "description": "This is a small hand press for hand loading firearm ammunition. It comes with everything you need to start hand loading your own munitions.", "weight": "6350 g", "volume": "500 ml", @@ -16,7 +16,7 @@ { "id": "press_dowel", "type": "TOOL", - "name": "makeshift shotshell 'press'", + "name": { "str": "makeshift shotshell 'press'", "str_pl": "makeshift shotshell 'presses'" }, "description": "This is a collection of items improvised for field reloading of shotshells. A plank with a hole cut in the center, a medium sized nail, and a whittled dowel are used to seat wads, decap primers, and reprime (carefully!) hulls. Powder and shot are measured with a cut down fired shotshell. The opposite side of the plank has been shaped to allow for roll crimping of the plastic hulls. There's no provision for resizing, so reloaded hulls will fire best in the firearm they were fired from.", "weight": "348 g", "volume": "250 ml", diff --git a/data/json/items/tool_armor.json b/data/json/items/tool_armor.json index 1f8a870637201..91f065b64932f 100644 --- a/data/json/items/tool_armor.json +++ b/data/json/items/tool_armor.json @@ -2736,7 +2736,7 @@ "id": "scuba_tank_on", "type": "TOOL_ARMOR", "category": "other", - "name": "scuba tank (on)", + "name": { "str": "scuba tank (on)", "str_pl": "scuba tanks (on)" }, "description": "This is a high-pressure 232 bar diving tank that can contain up to 12L of compressed mixture of oxygen and nitrogen. It is equipped with a on-demand regulator and a mouthpiece designed mostly for underwater use.", "looks_like": "oxygen_tank", "weight": "16000 g", @@ -2791,7 +2791,7 @@ "id": "small_scuba_tank_on", "type": "TOOL_ARMOR", "category": "other", - "name": "small scuba tank (on)", + "name": { "str": "small scuba tank (on)", "str_pl": "small scuba tanks (on)" }, "description": "This is a small high-pressure 200 bar backup diving tank, that can contain 4L of compressed mixture of oxygen and nitrogen. It is equipped with a on-demand regulator and a mouthpiece designed mostly for underwater use.", "looks_like": "smoxygen_tank", "weight": "7000 g", diff --git a/data/json/items/tools.json b/data/json/items/tools.json index d1533f0bec7f9..de9a61712e348 100644 --- a/data/json/items/tools.json +++ b/data/json/items/tools.json @@ -1814,7 +1814,7 @@ { "id": "tindalos_whistle", "type": "TOOL", - "name": "Whistle of Tindalos", + "name": { "str": "Whistle of Tindalos", "str_pl": "Whistles of Tindalos" }, "description": "Who is this Tindalos guy?", "weight": "22 g", "volume": 0, @@ -4026,7 +4026,7 @@ { "id": "brush", "type": "TOOL", - "name": "scrub brush", + "name": { "str": "scrub brush", "str_pl": "scrub brushes" }, "description": "This is a simple scrub brush.", "weight": "70 g", "volume": "250 ml", @@ -6271,7 +6271,7 @@ "id": "tool_rocket_candy", "type": "TOOL", "category": "weapons", - "name": "rocket candy", + "name": { "str": "rocket candy", "str_pl": "rocket candies" }, "description": "A pear-shaped chunk of rocket candy obtained by heating saltpeter with sugar and casting the obtained liquid. Can serve as a rocket fuel, but also as a smokescreen - if you lit the narrow end, you should be able to throw it before the flame reaches the broad end.", "weight": "250 g", "volume": "250 ml", @@ -6295,7 +6295,7 @@ "id": "tool_rocket_candy_act", "type": "TOOL", "category": "weapons", - "name": "burning rocket candy", + "name": { "str": "burning rocket candy", "str_pl": "burning rocket candies" }, "description": "This is a chunk of rocket candy that has been lit on fire and burns with a loud hiss, spewing forth large amounts of smoke.", "weight": "250 g", "volume": "250 ml", diff --git a/data/json/items/vehicle/tables.json b/data/json/items/vehicle/tables.json index 97b028be904e5..52c76358d6f90 100644 --- a/data/json/items/vehicle/tables.json +++ b/data/json/items/vehicle/tables.json @@ -26,7 +26,7 @@ { "type": "GENERIC", "id": "workbench", - "name": "workbench", + "name": { "str": "workbench", "str_pl": "workbenches" }, "description": "A sturdy workbench built out of metal. It is perfect for crafting large and heavy things.", "weight": "23000 g", "material": [ "steel" ], diff --git a/data/json/items/vehicle/wheel.json b/data/json/items/vehicle/wheel.json index ccf5045e81599..3f3090fd7a5ae 100644 --- a/data/json/items/vehicle/wheel.json +++ b/data/json/items/vehicle/wheel.json @@ -16,7 +16,7 @@ "id": "wheel_mount_medium", "type": "GENERIC", "category": "veh_parts", - "name": "medium wheel hub assembly", + "name": { "str": "medium wheel hub assembly", "str_pl": "medium wheel hub assemblies" }, "description": "A metal assembly that allows bolting a wheel on a car. Fit for a car wheel.", "weight": "5 kg", "volume": "6 L", @@ -31,7 +31,7 @@ "id": "wheel_mount_heavy", "type": "GENERIC", "category": "veh_parts", - "name": "heavy wheel hub assembly", + "name": { "str": "heavy wheel hub assembly", "str_pl": "heavy wheel hub assemblies" }, "description": "A heavy metal assembly that allows bolting a wheel on a car. Fit for a large car wheel.", "weight": "6 kg", "volume": "7 L", @@ -188,7 +188,7 @@ }, { "id": "wheel_rail_small_pair", - "name": "pair of small rail wheels", + "name": { "str": "pair of small rail wheels", "str_pl": "pairs of small rail wheels" }, "type": "WHEEL", "description": "A pair of small rail wheels. It fits small railroad rails found in places like amusement parks. Mostly for hobby purposes rather then transportation.", "copy-from": "wheel_rail", diff --git a/data/json/items/vehicle_parts.json b/data/json/items/vehicle_parts.json index 60fd123b72f37..781f5cf511b21 100644 --- a/data/json/items/vehicle_parts.json +++ b/data/json/items/vehicle_parts.json @@ -95,7 +95,7 @@ { "id": "yoke_harness", "type": "WHEEL", - "name": "yoke and harness", + "name": { "str": "yoke and harness", "str_pl": "yokes and harnesses" }, "category": "veh_parts", "description": "A bar and harness to attach a creature to a wheeled vehicle, they then should be able to pull it.", "weight": "1000 g", diff --git a/data/json/monsters/defense_bot.json b/data/json/monsters/defense_bot.json index 53290ecf44f6e..a8b43a916600e 100644 --- a/data/json/monsters/defense_bot.json +++ b/data/json/monsters/defense_bot.json @@ -205,7 +205,7 @@ { "id": "mon_dispatch", "type": "MONSTER", - "name": { "str": "NR-031 Dispatch" }, + "name": { "str": "NR-031 Dispatch", "str_pl": "NR-031 Dispatches" }, "description": "The Northrop Dispatch, designed for crowd control situations, carries and deploys kamikaze drones of various types. The bright green-and-yellow paint marks a low-force variant - *comparatively* low-force, anyways - typically deployed as guards after an area has been cleared.", "default_faction": "defense_bot", "species": [ "ROBOT" ], @@ -238,7 +238,7 @@ { "id": "mon_dispatch_military", "type": "MONSTER", - "name": { "str": "NR-V05-M Dispatch" }, + "name": { "str": "NR-V05-M Dispatch", "str_pl": "NR-V05-M Dispatches" }, "description": "The Northrop Dispatch, designed for crowd control situations, carries and deploys kamikaze drones of various types. The dark green paint job marks the lethal and feared military variant, carrying extreme and deadly firepower.", "default_faction": "defense_bot", "species": [ "ROBOT" ], diff --git a/data/json/monsters/mammal.json b/data/json/monsters/mammal.json index 04a3eda477084..6d95772cbe3f3 100644 --- a/data/json/monsters/mammal.json +++ b/data/json/monsters/mammal.json @@ -254,7 +254,7 @@ { "id": "mon_cow_calf", "type": "MONSTER", - "name": "calf", + "name": { "str": "calf", "str_pl": "calves" }, "description": "The domestic cow, a baleful, ruminating farm animal. It is quite muscular, and the males can have a violent streak to accompany their nasty-looking horns.", "default_faction": "herbivore", "bodytype": "dog", diff --git a/data/mods/Aftershock/items/afs__items.json b/data/mods/Aftershock/items/afs__items.json index 57e4f2510b691..93b43a8882699 100644 --- a/data/mods/Aftershock/items/afs__items.json +++ b/data/mods/Aftershock/items/afs__items.json @@ -3,14 +3,14 @@ "id": "afs_solderers_item", "copy-from": "fake_item", "type": "TOOL", - "name": "precision solderers", + "name": { "str": "precision solderers", "str_pl": "precision solderers" }, "flags": "TRADER_AVOID", "qualities": [ [ "SAW_M_FINE", 1 ], [ "SCREW_FINE", 1 ], [ "CUT_FINE", 2 ] ] }, { "type": "GENERIC", "id": "crypto_coin", - "name": "Crypto coins", + "name": { "str": "Crypto coin", "str_pl": "Crypto coins" }, "description": "PrepNet had been heavily involved in avoiding taxes by using untraceable internet currencies. If this movement had grown it could have crippled the US tax base but the Cataclysm happened first. These are physical coins with random numbers sequences embossed on them.", "price": 12000, "price_postapoc": 15000, diff --git a/data/mods/Aftershock/items/afs_armor.json b/data/mods/Aftershock/items/afs_armor.json index 642fb7e3bf4d2..00de3dbd548a1 100644 --- a/data/mods/Aftershock/items/afs_armor.json +++ b/data/mods/Aftershock/items/afs_armor.json @@ -2,7 +2,7 @@ { "id": "afs_bag_of_holding", "type": "ARMOR", - "name": "bag of holding", + "name": { "str": "bag of holding", "str_pl": "bags of holding" }, "description": "A sleek, unfathomably-complicated machine covered in dozens of blinking lights, worn on the back by sturdy faux-leather straps. An electrode dangles from the back, attaching to your forehead. How it operates without annihilating spacetime isn't quite clear, but a localized portal allows things to be stored in an extradimensional space.", "weight": "3401 g", "volume": "3 L", @@ -125,7 +125,7 @@ "id": "afs_hev_helmet_on", "type": "TOOL_ARMOR", "copy-from": "afs_hev_helmet", - "name": "hazardous environment helmet (on)", + "name": { "str": "hazardous environment helmet (on)", "str_pl": "hazardous environment helmets (on)" }, "description": "Meant to pair with a compatible HEV suit, this helmet's physical protection is basic at best, but makes up for it with an air recycler that provides excellent protection from airborne contaminants. Its light is on, illuminating the area at a cost of batteries.", "revert_to": "afs_hev_helmet", "turns_per_charge": 20, @@ -167,7 +167,7 @@ "id": "afs_survivor_belt", "copy-from": "survivor_belt", "type": "ARMOR", - "name": "survivor utility belt (holster)", + "name": { "str": "survivor utility belt (holster)", "str_pl": "survivor utility belts (holster)" }, "description": "A custom-built leather utility belt covered with straps and pouches containing many useful hand tools and a clip for holding various equipment. Durable and carefully crafted to be comfortable to wear. Activate to clip something to it.", "use_action": { "type": "holster", @@ -183,7 +183,7 @@ "id": "survivor_belt", "copy-from": "survivor_belt", "type": "ARMOR", - "name": "survivor utility belt (sheath)" + "name": { "str": "survivor utility belt (sheath)", "str_pl": "survivor utility belts (sheath)" } }, { "id": "afs_brigandine", diff --git a/data/mods/Aftershock/items/afs_weapons.json b/data/mods/Aftershock/items/afs_weapons.json index 456095e720a88..4e53e67b0262c 100644 --- a/data/mods/Aftershock/items/afs_weapons.json +++ b/data/mods/Aftershock/items/afs_weapons.json @@ -43,7 +43,7 @@ { "id": "afs_energy_saber_on", "type": "TOOL", - "name": "energy saber (active)", + "name": { "str": "energy saber (active)", "str_pl": "energy sabers (active)" }, "description": "This glittering blue saber of cyan light hums gently, extending from its superalloy handle. Its edge is lethally sharp, and being made of light, it's weightless, and immune to being damaged. It's not white-hot like in pop culture, so it can't cut through anything, but there's not much in the way of flesh that it won't slice through easily.", "weight": "240 g", "volume": "1 L", diff --git a/data/mods/CRT_EXPANSION/items/crt_armor.json b/data/mods/CRT_EXPANSION/items/crt_armor.json index 29f1b80488402..f9bc5a91d1291 100644 --- a/data/mods/CRT_EXPANSION/items/crt_armor.json +++ b/data/mods/CRT_EXPANSION/items/crt_armor.json @@ -25,7 +25,7 @@ "id": "crt_boots", "copy-from": "crt_la_boots", "type": "ARMOR", - "name": "pair of CRIT boots", + "name": { "str": "pair of CRIT boots", "str_pl": "pairs of CRIT boots" }, "description": "C.R.I.T standard-issue boots. Next-gen gels keep feet comfortable and hygenic during long-term missions while absorbing shock and heat from outside-sources. Superalloy mesh and rubber offer quite a bit of chemical protection as well. Decently heavy though", "color": "dark_gray", "weight": "1500 g", @@ -271,7 +271,7 @@ "id": "crt_earmor", "type": "ARMOR", "category": "armor", - "name": "CRIT Enforcer armor assembly", + "name": { "str": "CRIT Enforcer armor assembly", "str_pl": "CRIT Enforcer armor assemblies" }, "description": "A series of plates, guards and buckles which assemble into a suit of sturdy body-armor which usually goes over other armor. Overlapping steel plates on top of kevlar plates cover vast expanses as the armor juts off in places so it can deflect attacks. Built with the idea that comfort is less important than safety, this heavy suit is difficult to move about in but highly protective. Various adjustable conectors such as straps and clips hold it together.", "weight": "21460 g", "volume": "11250 ml", diff --git a/data/mods/CRT_EXPANSION/items/crt_gunmods.json b/data/mods/CRT_EXPANSION/items/crt_gunmods.json index 482f08e7cdbf0..7a8d901e64ae8 100644 --- a/data/mods/CRT_EXPANSION/items/crt_gunmods.json +++ b/data/mods/CRT_EXPANSION/items/crt_gunmods.json @@ -57,7 +57,7 @@ "id": "beam_difractor", "copy-from": "beam_scatterer", "type": "GUNMOD", - "name": "diffracting lens", + "name": { "str": "diffracting lens", "str_pl": "diffracting lenses" }, "description": "A set of optics made to fit on laser weapons, which will diffract the laser beam into several lower powered beams. This slightly increases point-blank damage and makes it difficult to not hit, but reduces range", "range_modifier": -7, "damage_modifier": 2, @@ -96,7 +96,7 @@ { "id": "flash_acc_on", "type": "GUNMOD", - "name": "tactical flashlight (on)", + "name": { "str": "tactical flashlight (on)", "str_pl": "tactical flashlights (on)" }, "description": "A compact flashlight which is attatched to the side of your weapon, not powerful, but good enough for tight hallways.", "weight": "250 g", "volume": "125 ml", diff --git a/data/mods/CRT_EXPANSION/items/crt_toolarmor.json b/data/mods/CRT_EXPANSION/items/crt_toolarmor.json index 1ef8980277d86..20c9ed0e40ca9 100644 --- a/data/mods/CRT_EXPANSION/items/crt_toolarmor.json +++ b/data/mods/CRT_EXPANSION/items/crt_toolarmor.json @@ -3,7 +3,7 @@ "id": "crt_gasmask", "type": "TOOL_ARMOR", "category": "armor", - "name": "CRIT gasmask (off)", + "name": { "str": "CRIT gasmask (off)", "str_pl": "CRIT gasmasks (off)" }, "description": "This is the C.R.I.T Spec Ops modified gasmask, fitted with top-of-the-line electronics and lined with kevlar for extra protection in order to keep one's head where it should be. Various filters and other high tech wizardry allow for enhanced oxygen intake and safety even under bombardment. It has an integrated HUD and the option to turn it on for more features.", "weight": "5 kg", "volume": "1 L", @@ -35,7 +35,7 @@ "id": "crt_gasmask_on", "type": "TOOL_ARMOR", "category": "armor", - "name": "CRIT gasmask (on)", + "name": { "str": "CRIT gasmask (on)", "str_pl": "CRIT gasmasks (on)" }, "description": "This is the C.R.I.T Spec Ops modified gasmask. It is currently on and draining power for the HUD, low-level nightvision and other protective elements.", "weight": "5 kg", "volume": "1 L", @@ -77,7 +77,7 @@ "id": "crt_em_vest", "type": "TOOL_ARMOR", "category": "armor", - "name": "CRIT EM vest (off)", + "name": { "str": "CRIT EM vest (off)", "str_pl": "CRIT EM vests (off)" }, "description": "The C.R.I.T Spec Ops Enhanced Movement vest is embedded with high-tech filaments and reactive servos which protects its wearer and assists in movement at the cost high power usage. It is commonly worn by C.R.I.T Spec Ops for its ease of use and manuverability. Turn it on for suit mode, extra protection and movement.", "weight": "10 kg", "volume": "6250 ml", @@ -112,7 +112,7 @@ "id": "crt_em_vest_on", "type": "TOOL_ARMOR", "category": "armor", - "name": "CRIT EM vest (on)", + "name": { "str": "CRIT EM vest (on)", "str_pl": "CRIT EM vests (on)" }, "description": "The C.R.I.T Spec Ops Enhanced Movement vest is embedded with high-tech filaments, reactive servos and a generator which pumps a crystallized liquid that protects its wearer from most heavy combat situations at the cost of extreme power usage. It is commonly worn by C.R.I.T Spec Ops. This vest is currently in suit form and draining your UPS power at high rates.", "weight": "10 kg", "volume": "6250 ml", @@ -157,7 +157,7 @@ "id": "crt_helmet", "copy-from": "helmet_army", "type": "TOOL_ARMOR", - "name": "CRIT helmet (off)", + "name": { "str": "CRIT helmet (off)", "str_pl": "CRIT helmets (off)" }, "description": "C.R.T standard-issue helmet. Protects the noggin and has a stretch of insulated steel mesh for neck warmth and protection.", "color": "light_gray", "material": [ "kevlar", "hardsteel" ], @@ -180,7 +180,7 @@ "id": "crt_helmet_on", "copy-from": "helmet_army", "type": "TOOL_ARMOR", - "name": "CRIT helmet (on)", + "name": { "str": "CRIT helmet (on)", "str_pl": "CRIT helmets (on)" }, "description": "C.R.I.T standard-issue helmet. Protects the noggin and has a stretch of insulated steel mesh for neck warmth and protection. A tactically dim flashlight is attatched to the side. This light is currently on and drawing power.", "color": "light_gray", "material": [ "kevlar", "hardsteel" ], diff --git a/data/mods/CRT_EXPANSION/items/crt_tools.json b/data/mods/CRT_EXPANSION/items/crt_tools.json index 4bfb1cd8219d5..cb2823dbb3e76 100644 --- a/data/mods/CRT_EXPANSION/items/crt_tools.json +++ b/data/mods/CRT_EXPANSION/items/crt_tools.json @@ -26,7 +26,7 @@ "copy-from": "diveknife", "type": "TOOL", "category": "weapons", - "name": "CRIT service knife", + "name": { "str": "CRIT service knife", "str_pl": "CRIT service knives" }, "description": "C.R.I.T standard-issue knife. Has a knuckleduster guard and a small, hooked pry bar at the bottom for opening simple things and bashing in heads. Matte black finish helps it avoid flash in dim-light situations and tanto tip allows for light-armor penetration. Blade length allows for decent reach.", "color": "dark_gray", "material": [ "hardsteel" ], @@ -48,7 +48,7 @@ "id": "crt_knuckledusters", "type": "TOOL", "category": "weapons", - "name": "CRIT Knuckledusters", + "name": { "str": "pair of CRIT Knuckledusters", "str_pl": "pairs of CRIT Knuckledusters" }, "description": "C.R.I.T CQB knuckledusters. Not too different from any normal pair other than weight.", "color": "dark_gray", "material": [ "hardsteel" ], diff --git a/data/mods/CrazyCataclysm/crazy_aperturepotato.json b/data/mods/CrazyCataclysm/crazy_aperturepotato.json index e44c2b8f9506e..bcb3747248b93 100644 --- a/data/mods/CrazyCataclysm/crazy_aperturepotato.json +++ b/data/mods/CrazyCataclysm/crazy_aperturepotato.json @@ -20,7 +20,7 @@ { "id": "aperture_potato", "type": "TOOL", - "name": "companion potato", + "name": { "str": "companion potato", "str_pl": "companion potatoes" }, "description": "Seems like some kind of Genetic Lifeform and Disk Operating System, attached to a potato.", "weight": "900 g", "volume": "500 ml", diff --git a/data/mods/Growable_pots/items.json b/data/mods/Growable_pots/items.json index 67e93d056381f..109ac18afd748 100644 --- a/data/mods/Growable_pots/items.json +++ b/data/mods/Growable_pots/items.json @@ -19,7 +19,7 @@ { "type": "GENERIC", "abstract": "gp_pot_growing", - "name": "garden pot (growing)", + "name": { "str": "garden pot (growing)", "str_pl": "garden pots (growing)" }, "description": "A garden pot growing some tasty, unnameable plants. You shouldn't see this item.", "weight": "480 g", "symbol": ")", @@ -33,7 +33,7 @@ { "type": "GENERIC", "abstract": "gp_pot_grown", - "name": "garden pot (grown)", + "name": { "str": "garden pot (grown)", "str_pl": "garden pots (grown)" }, "description": "A garden pot with some ripe, unnameable plants. You shouldn't see this item.", "copy-from": "gp_pot_growing", "use_action": "DISASSEMBLE" diff --git a/data/mods/Magiclysm/enchanted/enchanted_belts.json b/data/mods/Magiclysm/enchanted/enchanted_belts.json index 07bc968f28179..790cfd406cc22 100644 --- a/data/mods/Magiclysm/enchanted/enchanted_belts.json +++ b/data/mods/Magiclysm/enchanted/enchanted_belts.json @@ -29,7 +29,7 @@ "type": "TOOL_ARMOR", "copy-from": "mbelt_leather", "id": "mbelt_haste", - "name": "Belt of Haste", + "name": { "str": "Belt of Haste", "str_pl": "Belts of Haste" }, "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "SPEED", "multiply": 0.15, "add": 5 } ] } ] } @@ -38,7 +38,7 @@ "type": "TOOL_ARMOR", "copy-from": "mbelt_leather", "id": "mbelt_thor", - "name": "Megingjörð", + "name": { "str": "Megingjörð", "str_pl": "Megingjörð" }, "description": "The mythical belt of Thor, god of thunder. Or at least so it appears. It doubles the wearer's base strength.", "material": [ "superalloy" ], "material_thickness": 10, @@ -52,7 +52,7 @@ "type": "TOOL_ARMOR", "copy-from": "mbelt_leather", "id": "mbelt_pockets_lesser", - "name": "Lesser Girdle of Pockets", + "name": { "str": "Lesser Girdle of Pockets", "str_pl": "Lesser Girdles of Pockets" }, "description": "A wide girdle that fits around your waist, coverd in numerous small pouches that hold a lot more than they should, and the weight of their contents is greatly reduced.", "coverage": 10, "encumbrance": 4, @@ -63,7 +63,7 @@ "type": "TOOL_ARMOR", "copy-from": "mbelt_leather", "id": "mbelt_pockets_greater", - "name": "Greater Girdle of Pockets", + "name": { "str": "Greater Girdle of Pockets", "str_pl": "Greater Girdles of Pockets" }, "description": "A wide girdle that fits around your waist, coverd in numerous small pouches that hold a lot more than they should, and the weight of their contents is greatly reduced.", "coverage": 10, "encumbrance": 6, @@ -74,7 +74,7 @@ "type": "TOOL_ARMOR", "copy-from": "mbelt_leather", "id": "mbelt_weaponry", - "name": "Belt of Weaponry", + "name": { "str": "Belt of Weaponry", "str_pl": "Belts of Weaponry" }, "description": "A wide girdle that fits around your waist, you can sheath or holster any weapon into it in the blink of an eye, and it seemingly stores them somewhere else.", "coverage": 10, "encumbrance": 3, @@ -176,7 +176,7 @@ "category": "weapons", "symbol": "/", "color": "light_gray", - "name": "The Iron Whip", + "name": { "str": "The Iron Whip", "str_pl": "Iron Whips" }, "description": "A long braided flexible steel bullwhip that narrows into a sharp blade at the end. Easily capable of slicing and dicing anything that comes at you. It transforms back into a belt.", "weight": "2154 g", "volume": "2 L", diff --git a/data/mods/Magiclysm/items/ethereal_items.json b/data/mods/Magiclysm/items/ethereal_items.json index a326b5ce2ba1f..4918e34dc04b2 100644 --- a/data/mods/Magiclysm/items/ethereal_items.json +++ b/data/mods/Magiclysm/items/ethereal_items.json @@ -96,7 +96,7 @@ { "id": "shield_ice", "type": "ARMOR", - "name": "large shield of magical ice", + "name": { "str": "large shield of magical ice", "str_pl": "large shields of magical ice" }, "category": "armor", "description": "A lightweight but tough shield crafted entirely of magical ice.", "weight": "1 kg", @@ -316,7 +316,7 @@ { "type": "TOOL", "id": "druid_seed", - "name": "seed of purification", + "name": { "str": "seed of purification", "str_pl": "seeds of purification" }, "weight": "1 g", "color": "white", "use_action": { diff --git a/data/mods/Magiclysm/items/spell_scrolls.json b/data/mods/Magiclysm/items/spell_scrolls.json index 172206a91cfc2..38435e02f4f75 100644 --- a/data/mods/Magiclysm/items/spell_scrolls.json +++ b/data/mods/Magiclysm/items/spell_scrolls.json @@ -14,7 +14,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_dark_sight", - "name": "Scroll of Dark Sight", + "name": { "str": "Scroll of Dark Sight", "str_pl": "Scrolls of Dark Sight" }, "description": "The darkness holds no secrets for the arcane. Adjust your sight to see in perfect darkness!", "use_action": { "type": "learn_spell", "spells": [ "dark_sight" ] } }, @@ -22,7 +22,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_invisibility", - "name": "Scroll of Invisibility", + "name": { "str": "Scroll of Invisibility", "str_pl": "Scrolls of Invisibility" }, "description": "The light can not interact with you unless you want it to. Become invisible!", "use_action": { "type": "learn_spell", "spells": [ "invisibility" ] } }, @@ -30,7 +30,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_obfuscated_body", - "name": "Scroll of Obfuscated Body", + "name": { "str": "Scroll of Obfuscated Body", "str_pl": "Scrolls of Obfuscated Body" }, "description": "A magical aura distorts light around your body, making it easier to dodge enemy attacks.", "use_action": { "type": "learn_spell", "spells": [ "obfuscated_body" ] } }, @@ -38,7 +38,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_smite", - "name": "Scroll of Smite", + "name": { "str": "Scroll of Smite", "str_pl": "Scrolls of Smite" }, "description": "Evil has become pervasive throughout the world. Let your power be the light that shines in the darkness!", "use_action": { "type": "learn_spell", "spells": [ "smite" ] } }, @@ -46,7 +46,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_recover_mana", - "name": "Scroll of Life Conversion", + "name": { "str": "Scroll of Life Conversion", "str_pl": "Scrolls of Life Conversion" }, "description": "You channel your life force itself into your spiritual energy. You spend hp to regain mana.", "use_action": { "type": "learn_spell", "spells": [ "recover_mana" ] } }, @@ -54,7 +54,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_recover_pain", - "name": "Scroll of Mind Over Pain", + "name": { "str": "Scroll of Mind Over Pain", "str_pl": "Scrolls of Mind Over Pain" }, "description": "With an intense ritual that resembles crossfit, you manage to put some of your pain at bay.", "use_action": { "type": "learn_spell", "spells": [ "recover_pain" ] } }, @@ -62,7 +62,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_summon_zombie", - "name": "Scroll of Summon Zombie", + "name": { "str": "Scroll of Summon Zombie", "str_pl": "Scrolls of Summon Zombie" }, "description": "An ethereal-looking zombie rises from the depths of the earth to fight for you. You may be able to summon more with a higher level in this spell.", "use_action": { "type": "learn_spell", "spells": [ "summon_zombie" ] } }, @@ -70,7 +70,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_summon_skeleton", - "name": "Scroll of Summon Skeleton", + "name": { "str": "Scroll of Summon Skeleton", "str_pl": "Scrolls of Summon Skeleton" }, "description": "A ghostly skeleton rises from the depths of the earth to fight for you. You may be able to summon more with a higher level in this spell.", "use_action": { "type": "learn_spell", "spells": [ "summon_skeleton" ] } }, @@ -78,7 +78,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_summon_decayed_pouncer", - "name": "Scroll of Summon Decayed Pouncer", + "name": { "str": "Scroll of Summon Decayed Pouncer", "str_pl": "Scrolls of Summon Decayed Pouncer" }, "description": "A decrepit looking large cat rises from the depths of the earth to fight for you. You may be able to summon more with a higher level in this spell.", "use_action": { "type": "learn_spell", "spells": [ "summon_decayed_pouncer" ] } }, @@ -86,7 +86,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_light_healing", - "name": "Scroll of Cure Light Wounds", + "name": { "str": "Scroll of Cure Light Wounds", "str_pl": "Scrolls of Cure Light Wounds" }, "description": "Heals a little bit of damage on the target.", "use_action": { "type": "learn_spell", "spells": [ "light_healing" ] } }, @@ -94,7 +94,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_pain_split", - "name": "Scroll of Pain Split", + "name": { "str": "Scroll of Pain Split", "str_pl": "Scrolls of Pain Split" }, "description": "Evens out damage among your limbs.", "use_action": { "type": "learn_spell", "spells": [ "pain_split" ] } }, @@ -102,7 +102,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_vicious_tentacle", - "name": "Scroll of Vicious Tentacle", + "name": { "str": "Scroll of Vicious Tentacle", "str_pl": "Scrolls of Vicious Tentacle" }, "description": "This spell extrudes a long nasty whiplike tentacle of sharp bones and oozing acid from your body, it has a long reach attack and vicious damage.", "use_action": { "type": "learn_spell", "spells": [ "vicious_tentacle" ] } }, @@ -110,7 +110,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_bio_grotesque", - "name": "Scroll of Grotesque Enhancement", + "name": { "str": "Scroll of Grotesque Enhancement", "str_pl": "Scrolls of Grotesque Enhancement" }, "description": "A spell that warps your body in alien ways to increase your physical abilities and strength.", "use_action": { "type": "learn_spell", "spells": [ "bio_grotesque" ] } }, @@ -118,7 +118,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_bio_acidicspray", - "name": "Scroll of Acidic Spray", + "name": { "str": "Scroll of Acidic Spray", "str_pl": "Scrolls of Acidic Spray" }, "description": "When cast, the mage opens his mouth and sprays acid in a wide cone to dissolve his foes into goo. Just imagine what he'll do with the goo.", "use_action": { "type": "learn_spell", "spells": [ "bio_acidicspray" ] } }, @@ -126,7 +126,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_bio_fleshpouch", - "name": "Scroll of Flesh Pouch", + "name": { "str": "Scroll of Flesh Pouch", "str_pl": "Scrolls of Flesh Pouch" }, "description": "This spell grows a large pouch out of your skin on your back, allowing you to store your gear in it.", "use_action": { "type": "learn_spell", "spells": [ "bio_fleshpouch" ] } }, @@ -134,7 +134,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_bio_bonespear", - "name": "Scroll of Conjure Bonespear", + "name": { "str": "Scroll of Conjure Bonespear", "str_pl": "Scrolls of Conjure Bonespear" }, "description": "This spell creates a long shaft of bone with a wicked point and blades along its length.", "use_action": { "type": "learn_spell", "spells": [ "bio_bonespear" ] } }, @@ -142,7 +142,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_megablast", - "name": "Scroll of Megablast", + "name": { "str": "Scroll of Megablast", "str_pl": "Scrolls of Megablast" }, "description": "You always wanted to fire energy beams like in the animes you watched as a kid. Now you can!", "use_action": { "type": "learn_spell", "spells": [ "megablast" ] } }, @@ -150,7 +150,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_create_atomic_light", - "name": "Scroll of Magical Light", + "name": { "str": "Scroll of Magical Light", "str_pl": "Scrolls of Magical Light" }, "description": "Creates a magical light.", "use_action": { "type": "learn_spell", "spells": [ "create_atomic_light" ] } }, @@ -158,7 +158,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_blinding_flash", - "name": "Scroll of Blinding Flash", + "name": { "str": "Scroll of Blinding Flash", "str_pl": "Scrolls of Blinding Flash" }, "description": "Blind enemies for a short time with a sudden, dazzling light. Higher levels deal slightly higher damage.", "use_action": { "type": "learn_spell", "spells": [ "blinding_flash" ] } }, @@ -166,7 +166,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_ethereal_grasp", - "name": "Scroll of Ethereal Grasp", + "name": { "str": "Scroll of Ethereal Grasp", "str_pl": "Scrolls of Ethereal Grasp" }, "description": "A mass of spectral hands emerge from the ground, slowing everything in range. Higher levels allow a bigger AoE, and longer effect.", "use_action": { "type": "learn_spell", "spells": [ "ethereal_grasp" ] } }, @@ -174,7 +174,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_protection_aura", - "name": "Scroll of Aura of Protection", + "name": { "str": "Scroll of Aura of Protection", "str_pl": "Scrolls of Aura of Protection" }, "description": "Encases your whole body in a magical aura that protects you from the environment.", "use_action": { "type": "learn_spell", "spells": [ "protection_aura" ] } }, @@ -182,7 +182,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_druid_veggrasp", - "name": "Scroll of Vegetative Grasp", + "name": { "str": "Scroll of Vegetative Grasp", "str_pl": "Scrolls of Vegetative Grasp" }, "description": "This spell causes roots and vines to burst forth from the ground and grab your foes, slowing them and doing a small amount of damage as they dig in.", "use_action": { "type": "learn_spell", "spells": [ "druid_veggrasp" ] } }, @@ -190,7 +190,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_druid_rootstrike", - "name": "Scroll of Root Strike", + "name": { "str": "Scroll of Root Strike", "str_pl": "Scrolls of Root Strike" }, "description": "This spell causes roots to spear out the ground and stab into your foes in an arc, impaling them.", "use_action": { "type": "learn_spell", "spells": [ "druid_rootstrike" ] } }, @@ -198,7 +198,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_druid_woodshaft", - "name": "Scroll of Wooden Shaft", + "name": { "str": "Scroll of Wooden Shaft", "str_pl": "Scrolls of Wooden Shaft" }, "description": "This spell creates a projectile of hardwood that shoots forth from the caster's hand at high speed to stab into an enemy.", "use_action": { "type": "learn_spell", "spells": [ "druid_woodshaft" ] } }, @@ -206,7 +206,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_druid_naturebow1", - "name": "Scroll of Nature's Bow", + "name": { "str": "Scroll of Nature's Bow", "str_pl": "Scrolls of Nature's Bow" }, "description": "This spell conjures a magical wooden recurve bow that fires endless arrows for as long as it lasts.", "use_action": { "type": "learn_spell", "spells": [ "druid_naturebow1" ] } }, @@ -214,7 +214,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_recover_fatigue", - "name": "Scroll of Nature's Trance", + "name": { "str": "Scroll of Nature's Trance", "str_pl": "Scrolls of Nature's Trance" }, "description": "Your connection to living things allows you to go into a magical trance. This allows you to recover fatige quickly in exchange for mana.", "use_action": { "type": "learn_spell", "spells": [ "recover_fatigue" ] } }, @@ -222,7 +222,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_summon_cats", - "name": "Scroll of Bag of Cats", + "name": { "str": "Scroll of Bag of Cats", "str_pl": "Scrolls of Bag of Cats" }, "description": "Are you the crazy cat lady?", "use_action": { "type": "learn_spell", "spells": [ "summon_cats" ] } }, @@ -230,7 +230,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_stonefist", - "name": "Scroll of Stonefist", + "name": { "str": "Scroll of Stonefist", "str_pl": "Scrolls of Stonefist" }, "description": "Encases your arms and hands in a sheath of magical stone, you can punch and defend yourself with it in melee combat.", "use_action": { "type": "learn_spell", "spells": [ "stonefist" ] } }, @@ -238,7 +238,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_seismic_stomp", - "name": "Scroll of Seismic Stomp", + "name": { "str": "Scroll of Seismic Stomp", "str_pl": "Scrolls of Seismic Stomp" }, "description": "Focusing mana into your leg, you stomp your foot and send out a shockwave, knocking enemies around you onto the ground.", "use_action": { "type": "learn_spell", "spells": [ "seismic_stomp" ] } }, @@ -246,7 +246,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_recover_stamina", - "name": "Scroll of Stone's Endurance", + "name": { "str": "Scroll of Stone's Endurance", "str_pl": "Scrolls of Stone's Endurance" }, "description": "You focus on the stones beneath you and draw from their agelessness. Your mana is converted to stamina.", "use_action": { "type": "learn_spell", "spells": [ "recover_stamina" ] } }, @@ -254,7 +254,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_eshaper_shardspray", - "name": "Scroll of Shardspray", + "name": { "str": "Scroll of Shardspray", "str_pl": "Scrolls of Shardspray" }, "description": "This spell projects a wide spray of sharp metal shards, cutting into your foes and friends alike.", "use_action": { "type": "learn_spell", "spells": [ "eshaper_shardspray" ] } }, @@ -262,7 +262,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_eshaper_piercing_bolt", - "name": "Scroll of Piercing Bolt", + "name": { "str": "Scroll of Piercing Bolt", "str_pl": "Scrolls of Piercing Bolt" }, "description": "This spell projects a piercing rod of conjured iron at those that dare oppose you.", "use_action": { "type": "learn_spell", "spells": [ "eshaper_piercing_bolt" ] } }, @@ -270,7 +270,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_eshaper_shardstorm", - "name": "Scroll of Shardstorm", + "name": { "str": "Scroll of Shardstorm", "str_pl": "Scrolls of Shardstorm" }, "description": "Creates an omnidirectional spray of razor sharp metal shards all around you.", "use_action": { "type": "learn_spell", "spells": [ "eshaper_shardstorm" ] } }, @@ -278,7 +278,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_eshaper_rockbolt", - "name": "Scroll of Rockbolt", + "name": { "str": "Scroll of Rockbolt", "str_pl": "Scrolls of Rockbolt" }, "description": "Fires a conjured stone projectile at high velocity.", "use_action": { "type": "learn_spell", "spells": [ "eshaper_rockbolt" ] } }, @@ -286,7 +286,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_point_flare", - "name": "Scroll of Point Flare", + "name": { "str": "Scroll of Point Flare", "str_pl": "Scrolls of Point Flare" }, "description": "Causes an intense heat at the location, damaging the target.", "use_action": { "type": "learn_spell", "spells": [ "point_flare" ] } }, @@ -294,7 +294,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_create_lighter", - "name": "Scroll of Finger Firelighter", + "name": { "str": "Scroll of Finger Firelighter", "str_pl": "Scrolls of Finger Firelighter" }, "description": "Summons a small flame that does not burn you, but you can use it to light things on fire. It seems to need you to have some intent to light things on fire, because you are able to put it in your pocket with no issue.", "use_action": { "type": "learn_spell", "spells": [ "create_lighter" ] } }, @@ -302,7 +302,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_ice_spike", - "name": "Scroll of Ice Spike", + "name": { "str": "Scroll of Ice Spike", "str_pl": "Scrolls of Ice Spike" }, "description": "Causes jagged icicles to form in the air above the target, falling and damaging it.", "use_action": { "type": "learn_spell", "spells": [ "ice_spike" ] } }, @@ -310,7 +310,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_fireball", - "name": "Scroll of Fireball", + "name": { "str": "Scroll of Fireball", "str_pl": "Scrolls of Fireball" }, "description": "You hurl a pea-sized glowing orb that when reaches its target or an obstacle produces a pressure-less blast of searing heat.", "use_action": { "type": "learn_spell", "spells": [ "fireball" ] } }, @@ -318,7 +318,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_cone_cold", - "name": "Scroll of Cone of Cold", + "name": { "str": "Scroll of Cone of Cold", "str_pl": "Scrolls of Cone of Cold" }, "description": "You blast a cone of frigid air toward the target.", "use_action": { "type": "learn_spell", "spells": [ "cone_cold" ] } }, @@ -326,7 +326,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_burning_hands", - "name": "Scroll of Burning Hands", + "name": { "str": "Scroll of Burning Hands", "str_pl": "Scrolls of Burning Hands" }, "description": "You're pretty sure you saw this in a game somewhere. You fire a short-range cone of fire.", "use_action": { "type": "learn_spell", "spells": [ "burning_hands" ] } }, @@ -334,7 +334,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_frost_spray", - "name": "Scroll of Frost Spray", + "name": { "str": "Scroll of Frost Spray", "str_pl": "Scrolls of Frost Spray" }, "description": "You're pretty sure you saw this in a game somewhere. You fire a short-range cone of ice and cold.", "use_action": { "type": "learn_spell", "spells": [ "frost_spray" ] } }, @@ -342,7 +342,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_chilling_touch", - "name": "Scroll of Chilling Touch", + "name": { "str": "Scroll of Chilling Touch", "str_pl": "Scrolls of Chilling Touch" }, "description": "Freezes the touched target with intense cold.", "use_action": { "type": "learn_spell", "spells": [ "chilling_touch" ] } }, @@ -350,7 +350,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_glide_ice", - "name": "Scroll of Glide on Ice", + "name": { "str": "Scroll of Glide on Ice", "str_pl": "Scrolls of Glide on Ice" }, "description": "Encases your feet in a magical coating of ice, allowing you to glide along smooth surfaces faster.", "use_action": { "type": "learn_spell", "spells": [ "glide_ice" ] } }, @@ -358,7 +358,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_hoary_blast", - "name": "Scroll of Hoary Blast", + "name": { "str": "Scroll of Hoary Blast", "str_pl": "Scrolls of Hoary Blast" }, "description": "You project a glowing white crystal of ice and it explodes on impact into a blossom of shattering cold.", "use_action": { "type": "learn_spell", "spells": [ "hoary_blast" ] } }, @@ -366,7 +366,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_ice_shield", - "name": "Scroll of Ice Shield", + "name": { "str": "Scroll of Ice Shield", "str_pl": "Scrolls of Ice Shield" }, "description": "Creates a magical shield of ice on your arm, you can defend yourself with it in melee combat and use it to bash.", "use_action": { "type": "learn_spell", "spells": [ "ice_shield" ] } }, @@ -374,7 +374,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_frost_armor", - "name": "Scroll of Frost Armor", + "name": { "str": "Scroll of Frost Armor", "str_pl": "Scrolls of Frost Armor" }, "description": "Covers you in a thin layer of magical ice to protect you from harm.", "use_action": { "type": "learn_spell", "spells": [ "frost_armor" ] } }, @@ -382,7 +382,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_magic_missile", - "name": "Scroll of Magic Missile", + "name": { "str": "Scroll of Magic Missile", "str_pl": "Scrolls of Magic Missile" }, "description": "I cast Magic Missile at the darkness!", "use_action": { "type": "learn_spell", "spells": [ "magic_missile" ] } }, @@ -390,7 +390,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_phase_door", - "name": "Scroll of Phase Door", + "name": { "str": "Scroll of Phase Door", "str_pl": "Scrolls of Phase Door" }, "description": "Teleports you in a random direction a short distance.", "use_action": { "type": "learn_spell", "spells": [ "phase_door" ] } }, @@ -398,7 +398,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_gravity_well", - "name": "Scroll of Gravity Well", + "name": { "str": "Scroll of Gravity Well", "str_pl": "Scrolls of Gravity Well" }, "description": "Summons a well of gravity with the epicenter at the location. Deals bashing damage to all creatures in the affected area.", "use_action": { "type": "learn_spell", "spells": [ "gravity_well" ] } }, @@ -406,7 +406,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_magus_mana_blast", - "name": "Scroll of Mana Blast", + "name": { "str": "Scroll of Mana Blast", "str_pl": "Scrolls of Mana Blast" }, "description": "A blast of concentrated magical power that obliterates a large area.", "use_action": { "type": "learn_spell", "spells": [ "magus_mana_blast" ] } }, @@ -414,7 +414,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_magus_mana_bolt", - "name": "Scroll of Mana Bolt", + "name": { "str": "Scroll of Mana Bolt", "str_pl": "Scrolls of Mana Bolt" }, "description": "A bolt of magical power that only damages your foes.", "use_action": { "type": "learn_spell", "spells": [ "magus_mana_bolt" ] } }, @@ -422,7 +422,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_magus_haste", - "name": "Scroll of Haste", + "name": { "str": "Scroll of Haste", "str_pl": "Scrolls of Haste" }, "description": "This spell gives you an enormous boost of speed lasting a short period of time.", "use_action": { "type": "learn_spell", "spells": [ "magus_haste" ] } }, @@ -430,7 +430,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_magus_mana_beam", - "name": "Scroll of Mana Beam", + "name": { "str": "Scroll of Mana Beam", "str_pl": "Scrolls of Mana Beam" }, "description": "A beam of focused magical power that damages any foes in its path.", "use_action": { "type": "learn_spell", "spells": [ "magus_mana_beam" ] } }, @@ -438,7 +438,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_magus_escape", - "name": "Scroll of Escape", + "name": { "str": "Scroll of Escape", "str_pl": "Scrolls of Escape" }, "description": "Teleports you in a random direction a medium distance, to help escape your foes in dangerous situations.", "use_action": { "type": "learn_spell", "spells": [ "magus_escape" ] } }, @@ -446,7 +446,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_cats_grace", - "name": "Scroll of Cat's Grace", + "name": { "str": "Scroll of Cat's Grace", "str_pl": "Scrolls of Cat's Grace" }, "description": "You become more graceful, agile, and coordinated.", "use_action": { "type": "learn_spell", "spells": [ "cats_grace" ] } }, @@ -454,7 +454,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_eagles_sight", - "name": "Scroll of Eagle's Sight", + "name": { "str": "Scroll of Eagle's Sight", "str_pl": "Scrolls of Eagle's Sight" }, "description": "You gain the perception of an eagle.", "use_action": { "type": "learn_spell", "spells": [ "eagles_sight" ] } }, @@ -462,7 +462,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_ogres_strength", - "name": "Scroll of Ogre's Strength", + "name": { "str": "Scroll of Ogre's Strength", "str_pl": "Scrolls of Ogre's Strength" }, "description": "You gain the strength of an ogre.", "use_action": { "type": "learn_spell", "spells": [ "ogres_strength" ] } }, @@ -470,7 +470,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_foxs_cunning", - "name": "Scroll of Fox's Cunning", + "name": { "str": "Scroll of Fox's Cunning", "str_pl": "Scrolls of Fox's Cunning" }, "description": "You become wily like a fox.", "use_action": { "type": "learn_spell", "spells": [ "foxs_cunning" ] } }, @@ -478,7 +478,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_jolt", - "name": "Scroll of Jolt", + "name": { "str": "Scroll of Jolt", "str_pl": "Scrolls of Jolt" }, "description": "A short-ranged fan of electricity shoots from your fingers.", "use_action": { "type": "learn_spell", "spells": [ "jolt" ] } }, @@ -486,7 +486,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_lightning_bolt", - "name": "Scroll of Lightning Bolt", + "name": { "str": "Scroll of Lightning Bolt", "str_pl": "Scrolls of Lightning Bolt" }, "description": "The goto spell for many Stormshapers, this iconic spell does just what you expect: you shoot lightning from your fingertips. However, this lightning is more directed than most lightning, and travels in a line through most non-solid targets.", "use_action": { "type": "learn_spell", "spells": [ "lightning_bolt" ] } }, @@ -494,7 +494,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_windstrike", - "name": "Scroll of Windstrike", + "name": { "str": "Scroll of Windstrike", "str_pl": "Scrolls of Windstrike" }, "description": "A powerful blast of wind slams into anything in front of your outstretched hand.", "use_action": { "type": "learn_spell", "spells": [ "windstrike" ] } }, @@ -502,7 +502,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_windrun", - "name": "Scroll of Windrunning", + "name": { "str": "Scroll of Windrunning", "str_pl": "Scrolls of Windrunning" }, "description": "A magical wind pushes you forward as you move, easing your movements and increasing speed.", "use_action": { "type": "learn_spell", "spells": [ "windrun" ] } }, @@ -510,7 +510,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_storm_hammer", - "name": "Scroll of Call Stormhammer", + "name": { "str": "Scroll of Call Stormhammer", "str_pl": "Scrolls of Call Stormhammer" }, "description": "Creates a crackling magical warhammer full of lightning to smite your foes with, and of course, smash things to bits!", "use_action": { "type": "learn_spell", "spells": [ "storm_hammer" ] } }, @@ -518,7 +518,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_bless", - "name": "Scroll of Bless", + "name": { "str": "Scroll of Bless", "str_pl": "Scrolls of Bless" }, "description": "A spell of blessing that gives you energy and boosts your abilities.", "use_action": { "type": "learn_spell", "spells": [ "bless" ] } }, @@ -526,7 +526,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_holy_blade", - "name": "Scroll of Holy Blade", + "name": { "str": "Scroll of Holy Blade", "str_pl": "Scrolls of Holy Blade" }, "description": "This blade of light will cut through any evil it makes contact with!", "use_action": { "type": "learn_spell", "spells": [ "holy_blade" ] } }, @@ -534,7 +534,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_spirit_armor", - "name": "Scroll of Spiritual Armor", + "name": { "str": "Scroll of Spiritual Armor", "str_pl": "Scrolls of Spiritual Armor" }, "description": "Evil will not make it through your defenses if your faith is strong enough!", "use_action": { "type": "learn_spell", "spells": [ "spirit_armor" ] } }, @@ -542,7 +542,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_create_atomic_lamp", - "name": "Scroll of Lamp", + "name": { "str": "Scroll of Lamp", "str_pl": "Scrolls of Lamp" }, "description": "Creates a magical lamp.", "use_action": { "type": "learn_spell", "spells": [ "create_atomic_lamp" ] } }, @@ -550,7 +550,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_recover_bionic_power", - "name": "Scroll of Manatricity", + "name": { "str": "Scroll of Manatricity", "str_pl": "Scrolls of Manatricity" }, "description": "You have found a way to convert your spiritual energy into power you can use for your bionics.", "use_action": { "type": "learn_spell", "spells": [ "recover_bionic_power" ] } }, @@ -558,7 +558,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_taze", - "name": "Scroll of Taze", + "name": { "str": "Scroll of Taze", "str_pl": "Scrolls of Taze" }, "description": "This spell creates a very short range bolt of electricity to shock your foes.", "use_action": { "type": "learn_spell", "spells": [ "taze" ] } }, @@ -566,7 +566,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_quantum_tunnel_lesser", - "name": "Scroll of Lesser Quantum Tunnel", + "name": { "str": "Scroll of Lesser Quantum Tunnel", "str_pl": "Scrolls of Lesser Quantum Tunnel" }, "description": "This spell manipulates some quantum something or other to tunnel you through a short distance of space, and even matter, unfortunately there's that whole uncertainty thing as to where you come out. It leaves you a little dazed on the other side as you reorient yourself.", "use_action": { "type": "learn_spell", "spells": [ "quantum_tunnel_lesser" ] } }, @@ -574,7 +574,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_synaptic_stimulation", - "name": "Scroll of Synaptic Stimulation", + "name": { "str": "Scroll of Synaptic Stimulation", "str_pl": "Scrolls of Synaptic Stimulation" }, "description": "This spell stimulates the synapses in your brain beyond normal processing speeds, giving you a large boost in mental processing capability, including enhancing your reflexes, speed, and raw intellectual power. Use responsibly!", "use_action": { "type": "learn_spell", "spells": [ "synaptic_stimulation" ] } }, @@ -582,7 +582,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_laze", - "name": "Scroll of Laze", + "name": { "str": "Scroll of Laze", "str_pl": "Scrolls of Laze" }, "description": "You concentrate and release a focused beam of photons at a target, also known as a laser.", "use_action": { "type": "learn_spell", "spells": [ "laze" ] } }, @@ -590,7 +590,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_animated_blade", - "name": "Scroll of Animated Blade", + "name": { "str": "Scroll of Animated Blade", "str_pl": "Scrolls of Animated Blade" }, "description": "This spell conjures flying animated blades that will cut your enemies down to size. Into small pieces that is.", "use_action": { "type": "learn_spell", "spells": [ "animated_blade" ] } }, @@ -598,7 +598,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_mirror_image", - "name": "Scroll of Mirror Image", + "name": { "str": "Scroll of Mirror Image", "str_pl": "Scrolls of Mirror Image" }, "description": "This spell manipulates light into barely tangible duplicates of a living being, a magical hologram in short.", "use_action": { "type": "learn_spell", "spells": [ "mirror_image" ] } }, @@ -606,7 +606,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_lightning_blast", - "name": "Scroll of Lightning Blast", + "name": { "str": "Scroll of Lightning Blast", "str_pl": "Scrolls of Lightning Blast" }, "description": "You fire a small concentrated ball of lightning at the target. The electricity diffuses quickly, so it doesn't do much damage, but you're able to fire off several quick ones in a row.", "use_action": { "type": "learn_spell", "spells": [ "lightning_blast" ] } }, @@ -614,7 +614,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_necrotic_gaze", - "name": "Scroll of Necrotic Gaze", + "name": { "str": "Scroll of Necrotic Gaze", "str_pl": "Scrolls of Necrotic Gaze" }, "description": "You use the power of your own blood to imbue necrotic energy into your gaze, damaging the target you look at.", "use_action": { "type": "learn_spell", "spells": [ "necrotic_gaze" ] } }, @@ -622,7 +622,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_purification_seed", - "name": "Scroll of Purification Seed", + "name": { "str": "Scroll of Purification Seed", "str_pl": "Scrolls of Purification Seed" }, "description": "You summon a gift of the earth which will purify water. Greater levels yield greater numbers of seeds.", "use_action": { "type": "learn_spell", "spells": [ "purify_seed" ] } }, @@ -630,7 +630,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_x-ray", - "name": "Scroll of X-ray Vision", + "name": { "str": "Scroll of X-ray Vision", "str_pl": "Scrolls of X-ray Vision" }, "description": "You fire a cone of X-rays that magically allow you to see that area for a short time.", "use_action": { "type": "learn_spell", "spells": [ "x-ray" ] } }, @@ -638,7 +638,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_clairvoyance", - "name": "Scroll of Clairvoyance", + "name": { "str": "Scroll of Clairvoyance", "str_pl": "Scrolls of Clairvoyance" }, "description": "You close your eyes and the earth surrenders its secrets to you.", "use_action": { "type": "learn_spell", "spells": [ "clairvoyance" ] } }, @@ -646,7 +646,7 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_lava_bomb", - "name": "Scroll of Lava Bomb", + "name": { "str": "Scroll of Lava Bomb", "str_pl": "Scrolls of Lava Bomb" }, "description": "You tear up the ground beneath you to fire a lava bomb: a globe of lava surrounded by hot, solid rock. It shatters upon impact, spraying shards of rock and lava everywhere.", "use_action": { "type": "learn_spell", "spells": [ "lava_bomb_main" ] } }, @@ -654,8 +654,20 @@ "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_acid_resistance", - "name": "Scroll of Acid Resistance", + "name": { "str": "Scroll of Acid Resistance", "str_pl": "Scrolls of Acid Resistance" }, "description": "This spell creates an invisible aura to protect you from acid.", "use_action": { "type": "learn_spell", "spells": [ "acid_resistance" ] } + }, + { + "id": "lightning_storm_scroll", + "type": "GENERIC", + "name": { "str": "Scroll of Lightning Storm", "str_pl": "Scrolls of Lightning Storm" }, + "description": "This scroll details how a spell called 'Lightning Blast' which is commonly used among Stormshapers can be altered to become much more powerful, at a much higher mana cost.", + "weight": "129 g", + "volume": "500 ml", + "price": 25000, + "symbol": "?", + "color": "light_blue", + "use_action": { "type": "learn_spell", "spells": [ "lightning_storm" ] } } ] diff --git a/data/mods/Magiclysm/items/spellbooks.json b/data/mods/Magiclysm/items/spellbooks.json index faff70575e29e..dfd7d15439f14 100644 --- a/data/mods/Magiclysm/items/spellbooks.json +++ b/data/mods/Magiclysm/items/spellbooks.json @@ -128,18 +128,6 @@ "spells": [ "jolt", "windstrike", "windrun", "storm_hammer", "lightning_bolt", "lightning_blast" ] } }, - { - "id": "lightning_storm_scroll", - "type": "GENERIC", - "name": "Scroll of Lightning Storm", - "description": "This scroll details how a spell called 'Lightning Blast' which is commonly used among Stormshapers can be altered to become much more powerful, at a much higher mana cost.", - "weight": "129 g", - "volume": "500 ml", - "price": 25000, - "symbol": "?", - "color": "light_blue", - "use_action": { "type": "learn_spell", "spells": [ "lightning_storm" ] } - }, { "id": "generic_spellbook", "type": "GENERIC", diff --git a/data/mods/Salvaged_Robots/corpses.json b/data/mods/Salvaged_Robots/corpses.json index 72d866dc13acf..920c4317c40ce 100644 --- a/data/mods/Salvaged_Robots/corpses.json +++ b/data/mods/Salvaged_Robots/corpses.json @@ -45,7 +45,7 @@ "symbol": ",", "color": "light_gray", "looks_like": "broken_tribot", - "name": "dead craftbuddy", + "name": { "str": "dead craftbuddy", "str_pl": "dead craftbuddies" }, "category": "other", "description": "A broken repair robot, now limp and unmoving. Could be gutted for parts or re-crafted into a functioning pal.", "material": [ "steel", "plastic" ], @@ -513,7 +513,7 @@ "id": "broken_advbot_glitter", "copy-from": "broken_advbot_disarmed", "color": "yellow", - "name": "broken glittering lady", + "name": { "str": "broken glittering lady", "str_pl": "broken glittering ladies" }, "description": "A broken salvaged robot. Could be stripped or recrafted." }, { diff --git a/data/mods/Salvaged_Robots/items.json b/data/mods/Salvaged_Robots/items.json index 85533cbbef005..3cc97ed1bd3e2 100644 --- a/data/mods/Salvaged_Robots/items.json +++ b/data/mods/Salvaged_Robots/items.json @@ -135,7 +135,7 @@ "symbol": ";", "color": "light_gray", "looks_like": "mon_tripod", - "name": "inactive craftbuddy", + "name": { "str": "inactive craftbuddy", "str_pl": "inactive craftbuddies" }, "category": "other", "description": "A robot crafting assistant. Useable in its current state as a portable workbench, or deployable as a traveling companion.", "price": 1000000, @@ -838,7 +838,7 @@ "id": "bot_advbot_glitter", "type": "TOOL", "copy-from": "bot_advbot_base", - "name": "inactive glittering lady", + "name": { "str": "inactive glittering lady", "str_pl": "inactive glittering ladies" }, "description": "A salvaged advanced robot transformed into a luminous beacon of destruction. It attacks hostile targets with its two integral lasers and blinding flashes. Activate this item to deploy the robot.", "color": "yellow", "use_action": { diff --git a/lang/extract_json_strings.py b/lang/extract_json_strings.py index 63bc4e9c82fc4..97b86632a1184 100755 --- a/lang/extract_json_strings.py +++ b/lang/extract_json_strings.py @@ -167,13 +167,17 @@ def warning_supressed(filename): "BIONIC_ITEM", "BOOK", "CONTAINER", + "ENGINE", "GENERIC", "GUN", "GUNMOD", + "MAGAZINE", "MONSTER", + "PET_ARMOR", "TOOL", "TOOLMOD", "TOOL_ARMOR", + "WHEEL", } # these objects can be automatically converted, but use format strings