diff --git a/Makefile b/Makefile index 48c4ab9679225..91a67a3bfdb47 100644 --- a/Makefile +++ b/Makefile @@ -1039,12 +1039,13 @@ endif export ODIR _OBJS LDFLAGS CXX W32FLAGS DEFINES CXXFLAGS TARGETSYSTEM -ctags: $(SOURCES) $(HEADERS) $(TESTSRC) $(TESTHDR) - ctags $(SOURCES) $(HEADERS) $(TESTSRC) $(TESTHDR) +ctags: $(ASTYLE_SOURCES) + ctags $^ + ./tools/json_tools/cddatags.py -etags: $(SOURCES) $(HEADERS) $(TESTSRC) $(TESTHDR) - etags $(SOURCES) $(HEADERS) $(TESTSRC) $(TESTHDR) - find data -name "*.json" -print0 | xargs -0 -L 50 etags --append +etags: $(ASTYLE_SOURCES) + etags $^ + ./tools/json_tools/cddatags.py astyle: $(ASTYLE_SOURCES) $(ASTYLE_BINARY) --options=.astylerc -n $(ASTYLE_SOURCES) diff --git a/README.md b/README.md index 645da7b3aac78..da7dc56c93ffd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ [![Build Status](https://travis-ci.org/CleverRaven/Cataclysm-DDA.svg?branch=master)](https://travis-ci.org/CleverRaven/Cataclysm-DDA) [![Coverage Status](https://coveralls.io/repos/github/CleverRaven/Cataclysm-DDA/badge.svg?branch=master)](https://coveralls.io/github/CleverRaven/Cataclysm-DDA?branch=master) [![Open Source Helpers](https://www.codetriage.com/cleverraven/cataclysm-dda/badges/users.svg)](https://www.codetriage.com/cleverraven/cataclysm-dda) +![Commit Activity](https://img.shields.io/github/commit-activity/m/CleverRaven/Cataclysm-DDA) [![Lines of Code](https://tokei.rs/b1/github/CleverRaven/Cataclysm-DDA?category=code)](https://github.com/XAMPPRocky/tokei) # Cataclysm: Dark Days Ahead diff --git a/data/json/items/armor/arms_armor.json b/data/json/items/armor/arms_armor.json index 6f3fb52314350..8d4a75573e4c1 100644 --- a/data/json/items/armor/arms_armor.json +++ b/data/json/items/armor/arms_armor.json @@ -26,8 +26,7 @@ "id": "armguard_chitin", "type": "ARMOR", "category": "armor", - "name": "pair of chitin arm guards", - "name_plural": "pairs of chitin arm guards", + "name": { "str": "pair of chitin arm guards", "str_pl": "pairs of chitin arm guards" }, "description": "A pair of arm guards made from the exoskeletons of insects. Light and durable.", "weight": "392 g", "volume": "2500 ml", @@ -50,8 +49,7 @@ "copy-from": "armguard_chitin", "looks_like": "armguard_chitin", "type": "ARMOR", - "name": "pair of biosilicified chitin arm guards", - "name_plural": "pairs of biosilicified chitin arm guards", + "name": { "str": "pair of biosilicified chitin arm guards", "str_pl": "pairs of biosilicified chitin arm guards" }, "description": "A pair of arm guards crafted from the carefully cleaned and pruned biosilicified exoskeletons of acidic ants. Acid-resistant and very durable.", "material": [ "acidchitin" ], "proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25, "encumbrance": 1.5, "warmth": 1.5 }, @@ -219,8 +217,7 @@ "id": "chainmail_arms", "type": "ARMOR", "category": "armor", - "name": "pair of chainmail sleeves", - "name_plural": "pairs of chainmail sleeves", + "name": { "str": "pair of chainmail sleeves", "str_pl": "pairs of chainmail sleeves" }, "description": "Customized chainmail arms. Each sleeve has straps to connect them with each other. The lack of fingers makes them less cumbersome and allows them to be used with gloves.", "weight": "2812 g", "volume": "750 ml", @@ -240,8 +237,7 @@ "id": "elbow_pads", "type": "ARMOR", "category": "armor", - "name": "pair of elbow pads", - "name_plural": "pairs of elbow pads", + "name": { "str": "pair of elbow pads", "str_pl": "pairs of elbow pads" }, "description": "A pair of elbow pads made of stout plastic and cloth.", "weight": "110 g", "volume": "750 ml", @@ -249,7 +245,7 @@ "to_hit": 1, "material": [ "plastic", "cotton" ], "symbol": "[", - "looks_like": "armguards_hard", + "looks_like": "armguard_hard", "color": "dark_gray", "covers": [ "ARMS" ], "coverage": 30, diff --git a/data/json/items/armor/boots.json b/data/json/items/armor/boots.json index db4e81faa2cab..7f503ec80b4fc 100644 --- a/data/json/items/armor/boots.json +++ b/data/json/items/armor/boots.json @@ -2,8 +2,7 @@ { "id": "bastsandals", "type": "ARMOR", - "name": "pair of cord sandals", - "name_plural": "pairs of cord sandals", + "name": { "str": "pair of cord sandals", "str_pl": "pairs of cord sandals" }, "description": "Lightweight sandals made from wound cord. They offer little in the way of protection, but keep you cool during warmer months.", "weight": "68 g", "volume": "250 ml", @@ -23,8 +22,7 @@ { "id": "boots", "type": "ARMOR", - "name": "pair of boots", - "name_plural": "pairs of boots", + "name": { "str": "pair of boots", "str_pl": "pairs of boots" }, "description": "Tough leather boots. Very durable.", "weight": "1060 g", "volume": "2500 ml", @@ -48,8 +46,7 @@ "id": "boots_bone", "type": "ARMOR", "category": "armor", - "name": "pair of bone armor boots", - "name_plural": "pairs of bone armor boots", + "name": { "str": "pair of bone armor boots", "str_pl": "pairs of bone armor boots" }, "description": "Leather boots armored with reinforcements made from bone. Light and strong.", "weight": "1824 g", "volume": "4250 ml", @@ -98,8 +95,7 @@ "id": "boots_chitin", "type": "ARMOR", "category": "armor", - "name": "pair of chitinous boots", - "name_plural": "pairs of chitinous boots", + "name": { "str": "pair of chitinous boots", "str_pl": "pairs of chitinous boots" }, "description": "Boots made from the exoskeletons of insects. Light and durable.", "weight": "1620 g", "volume": "4250 ml", @@ -134,8 +130,7 @@ "repairs_like": "boots_survivor", "type": "ARMOR", "category": "armor", - "name": "pair of combat boots", - "name_plural": "pairs of combat boots", + "name": { "str": "pair of combat boots", "str_pl": "pairs of combat boots" }, "description": "Modern reinforced tactical combat boots. Very durable.", "weight": "1060 g", "volume": "2 L", @@ -538,8 +533,7 @@ "id": "cleats", "repairs_like": "boots_larmor", "type": "ARMOR", - "name": "pair of cleats", - "name_plural": "pairs of cleats", + "name": { "str": "pair of cleats", "str_pl": "pairs of cleats" }, "description": "Sport shoes with hard undersides, and studs on the bottom designed to dig into the grass.", "weight": "860 g", "volume": "1500 ml", @@ -607,8 +601,7 @@ "id": "clownshoes", "repairs_like": "boots", "type": "ARMOR", - "name": "pair of clown shoes", - "name_plural": "pairs of clown shoes", + "name": { "str": "pair of clown shoes", "str_pl": "pairs of clown shoes" }, "description": "Gigantic shoes fit for a clown. Incredibly difficult to walk in.", "weight": "1140 g", "volume": "3500 ml", @@ -631,8 +624,7 @@ { "id": "dance_shoes", "type": "ARMOR", - "name": "pair of dance shoes", - "name_plural": "pairs of dance shoes", + "name": { "str": "pair of dance shoes", "str_pl": "pairs of dance shoes" }, "description": "Expensive black dance shoes with large heels.", "weight": "870 g", "volume": "1500 ml", @@ -655,8 +647,7 @@ "id": "dress_shoes", "repairs_like": "boots", "type": "ARMOR", - "name": "pair of dress shoes", - "name_plural": "pairs of dress shoes", + "name": { "str": "pair of dress shoes", "str_pl": "pairs of dress shoes" }, "description": "Fancy patent leather shoes. Not designed for running in.", "weight": "870 g", "volume": "1500 ml", @@ -992,8 +983,7 @@ { "id": "shoes_birchbark", "type": "ARMOR", - "name": "pair of birchbark shoes", - "name_plural": "pairs of birchbark shoes", + "name": { "str": "pair of birchbark shoes", "str_pl": "pairs of birchbark shoes" }, "description": "Simple shoes woven from strips of birch bark. Not very comfortable, but better than going barefoot.", "weight": "345 g", "volume": "500 ml", @@ -1014,8 +1004,7 @@ "id": "shoes_bowling", "repairs_like": "boots", "type": "ARMOR", - "name": "pair of bowling shoes", - "name_plural": "pairs of bowling shoes", + "name": { "str": "pair of bowling shoes", "str_pl": "pairs of bowling shoes" }, "description": "A pair of flat-soled shoes designed to give you a grip on slippery surfaces.", "weight": "840 g", "volume": "1500 ml", @@ -1233,8 +1222,7 @@ { "id": "leg_warmers_xlf", "type": "ARMOR", - "name": "pair of fetlock furs", - "name_plural": "pairs of fetlock furs", + "name": { "str": "pair of fetlock furs", "str_pl": "pairs of fetlock furs" }, "description": "Snug fur sleeves to keep your fetlocks warm.", "weight": "66 g", "volume": "750 ml", @@ -1253,8 +1241,7 @@ { "id": "nomex_socks", "type": "ARMOR", - "name": "pair of flame-resistant socks", - "name_plural": "pairs of flame-resistant socks", + "name": { "str": "pair of flame-resistant socks", "str_pl": "pairs of flame-resistant socks" }, "description": "A snug fitting pair of stockings made from thin and lightweight Nomex fire-resistant fabric. Tough yet breathable, they are light and comfortable to wear under clothing.", "weight": "200 g", "volume": "750 ml", @@ -1311,8 +1298,7 @@ { "id": "socks_bag", "type": "ARMOR", - "name": "pair of bag socks", - "name_plural": "pairs of bag socks", + "name": { "str": "pair of bag socks", "str_pl": "pairs of bag socks" }, "description": "A pair of disposable plastic bags, adapted to be used as socks.", "weight": "6 g", "volume": "250 ml", @@ -1331,8 +1317,7 @@ "id": "socks_bowling", "repairs_like": "boots", "type": "ARMOR", - "name": "pair of disposable bowling socks", - "name_plural": "pairs of disposable bowling socks", + "name": { "str": "pair of disposable bowling socks", "str_pl": "pairs of disposable bowling socks" }, "description": "Cheap one time socks. Can keep your feet clean, but too thin to give any protection.", "weight": "20 g", "volume": "250 ml", diff --git a/data/json/items/armor/eyewear.json b/data/json/items/armor/eyewear.json index d187291d89a39..f0ae80ca7154a 100644 --- a/data/json/items/armor/eyewear.json +++ b/data/json/items/armor/eyewear.json @@ -2,8 +2,7 @@ { "id": "eclipse_glasses", "type": "ARMOR", - "name": "pair of eclipse glasses", - "name_plural": "pairs of eclipse glasses", + "name": { "str": "pair of eclipse glasses", "str_pl": "pairs of eclipse glasses" }, "description": "A pair of cardboard-framed glasses with UV and IR-filtered lenses topped with a layer of aluminum coating. They allow safe viewing of extremely bright and harmful sources of light, like the sun during a solar eclipse.", "weight": "27 g", "volume": "250 ml", @@ -46,8 +45,7 @@ { "id": "fitover_sunglasses", "type": "ARMOR", - "name": "pair of fit-over sunglasses", - "name_plural": "pairs of fit-over sunglasses", + "name": { "str": "pair of fit-over sunglasses", "str_pl": "pairs of fit-over sunglasses" }, "description": "A pair of fit-over sunglasses designed to be worn over a pair of corrective glasses. Good for keeping the glare out of your eyes.", "weight": "45 g", "volume": "250 ml", @@ -69,8 +67,7 @@ "id": "glasses_bal", "type": "ARMOR", "category": "armor", - "name": "pair of ballistic glasses", - "name_plural": "pairs of ballistic glasses", + "name": { "str": "pair of ballistic glasses", "str_pl": "pairs of ballistic glasses" }, "description": "Modern tactical eyewear that protects from small projectiles and fragments. Provides excellent protection from environmental dangers.", "weight": "184 g", "volume": "250 ml", @@ -92,8 +89,7 @@ { "id": "glasses_bifocal", "type": "ARMOR", - "name": "pair of bifocal glasses", - "name_plural": "pairs of bifocal glasses", + "name": { "str": "pair of bifocal glasses", "str_pl": "pairs of bifocal glasses" }, "description": "A pair of bifocal glasses for those who are both near-sighted and far-sighted. You can use them to focus sunlight.", "weight": "30 g", "volume": "250 ml", @@ -113,8 +109,7 @@ { "id": "glasses_eye", "type": "ARMOR", - "name": "pair of eyeglasses", - "name_plural": "pairs of eyeglasses", + "name": { "str": "pair of eyeglasses", "str_pl": "pairs of eyeglasses" }, "description": "A pair of glasses for the near-sighted. The concave lenses diffuse the sunlight, rendering them useless for starting fires.", "weight": "30 g", "volume": "250 ml", diff --git a/data/json/items/armor/gloves.json b/data/json/items/armor/gloves.json index 15a2d4a797e1d..f4ab820f0b365 100644 --- a/data/json/items/armor/gloves.json +++ b/data/json/items/armor/gloves.json @@ -3,8 +3,7 @@ "id": "beekeeping_gloves", "repairs_like": "gloves_light", "type": "ARMOR", - "name": "pair of beekeeping gloves", - "name_plural": "pairs of beekeeping gloves", + "name": { "str": "pair of beekeeping gloves", "str_pl": "pairs of beekeeping gloves" }, "description": "A pair of white beekeeping gloves made out of smooth leather.", "weight": "120 g", "volume": "250 ml", @@ -26,8 +25,7 @@ "id": "boxing_gloves", "repairs_like": "gauntlets_larmor", "type": "ARMOR", - "name": "pair of boxing gloves", - "name_plural": "pairs of boxing gloves", + "name": { "str": "pair of boxing gloves", "str_pl": "pairs of boxing gloves" }, "description": "A pair of big, red, 8 oz. boxing gloves. They make dexterous tasks near impossible, but provide ample protection.", "weight": "453 g", "volume": "1 L", @@ -69,8 +67,7 @@ "repairs_like": "gauntlets_larmor", "type": "ARMOR", "category": "armor", - "name": "pair of fire gauntlets", - "name_plural": "pairs of fire gauntlets", + "name": { "str": "pair of fire gauntlets", "str_pl": "pairs of fire gauntlets" }, "description": "A heavy pair of gloves, used by firefighters and metalworkers for heat protection. Highly resistant to heat and flame, they provide excellent protection from injury.", "weight": "572 g", "volume": "1 L", @@ -92,8 +89,7 @@ "id": "gauntlets_chitin", "type": "ARMOR", "category": "armor", - "name": "pair of chitinous gauntlets", - "name_plural": "pairs of chitinous gauntlets", + "name": { "str": "pair of chitinous gauntlets", "str_pl": "pairs of chitinous gauntlets" }, "description": "Gauntlets made from the exoskeletons of insects. Very light and durable.", "weight": "760 g", "volume": "1750 ml", @@ -117,8 +113,7 @@ "copy-from": "gauntlets_chitin", "looks_like": "gauntlets_chitin", "type": "ARMOR", - "name": "pair of biosilicified chitin gauntlets", - "name_plural": "pairs of biosilicified chitin gauntlets", + "name": { "str": "pair of biosilicified chitin gauntlets", "str_pl": "pairs of biosilicified chitin gauntlets" }, "description": "Gauntlets crafted from the carefully cleaned and pruned biosilicified exoskeletons of acidic ants. Acid-resistant and very durable.", "material": [ "acidchitin" ], "proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25, "encumbrance": 1.5, "warmth": 1.5 }, @@ -193,8 +188,7 @@ { "id": "gloves_bag", "type": "ARMOR", - "name": "pair of bag gloves", - "name_plural": "pairs of bag gloves", + "name": { "str": "pair of bag gloves", "str_pl": "pairs of bag gloves" }, "description": "A pair of disposable plastic bags, adapted to be used as gloves.", "weight": "6 g", "volume": "250 ml", @@ -213,8 +207,7 @@ { "id": "gloves_fingerless", "type": "ARMOR", - "name": "pair of fingerless gloves", - "name_plural": "pairs of fingerless gloves", + "name": { "str": "pair of fingerless gloves", "str_pl": "pairs of fingerless gloves" }, "description": "A pair of leather gloves with no fingers, allowing greater manual dexterity.", "weight": "100 g", "volume": "250 ml", @@ -428,8 +421,7 @@ "type": "ARMOR", "looks_like": "gloves_lsurvivor", "category": "armor", - "name": "pair of fingerless survivor gloves", - "name_plural": "pairs of fingerless survivor gloves", + "name": { "str": "pair of fingerless survivor gloves", "str_pl": "pairs of fingerless survivor gloves" }, "description": "A pair of customized, Kevlar armored cloth gloves with no fingers, modified to be easy to wear while providing maximum protection under extreme conditions.", "weight": "160 g", "volume": "700 ml", @@ -472,8 +464,7 @@ "id": "gloves_plate", "type": "ARMOR", "category": "armor", - "name": "pair of armored gauntlets", - "name_plural": "pairs of armored gauntlets", + "name": { "str": "pair of armored gauntlets", "str_pl": "pairs of armored gauntlets" }, "description": "An extremely heavy set of armor-plated leather gloves.", "weight": "980 g", "volume": "1500 ml", @@ -628,8 +619,7 @@ "id": "gloves_cut_resistant", "repairs_like": "gloves_plate", "type": "ARMOR", - "name": "pair of cut resistant gloves", - "name_plural": "pairs of cut resistant gloves", + "name": { "str": "pair of cut resistant gloves", "str_pl": "pairs of cut resistant gloves" }, "description": "A pair of cut resistant gloves, useful when rapidly breaking down carcasses.", "weight": "240 g", "volume": "250 ml", @@ -779,8 +769,7 @@ "id": "long_glove_white", "repairs_like": "arm_warmers", "type": "ARMOR", - "name": "pair of extra long white gloves", - "name_plural": "pairs of extra long white gloves", + "name": { "str": "pair of extra long white gloves", "str_pl": "pairs of extra long white gloves" }, "description": "Long white costume gloves.", "weight": "400 g", "volume": "1 L", @@ -788,7 +777,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", - "looks_like": "glove_light", + "looks_like": "gloves_light", "color": "light_blue", "covers": [ "HANDS", "ARMS" ], "coverage": 60, @@ -820,8 +809,7 @@ { "id": "nomex_gloves", "type": "ARMOR", - "name": "pair of flame-resistant gloves", - "name_plural": "pairs of flame-resistant gloves", + "name": { "str": "pair of flame-resistant gloves", "str_pl": "pairs of flame-resistant gloves" }, "description": "A snug fitting pair of gloves made from thin and lightweight Nomex fire-resistant fabric. Tough yet breathable, they are light and comfortable to wear under clothing.", "weight": "190 g", "volume": "500 ml", @@ -882,8 +870,7 @@ "id": "winter_gloves_army", "repairs_like": "gloves_light", "type": "ARMOR", - "name": "pair of army winter gloves", - "name_plural": "pairs of army winter gloves", + "name": { "str": "pair of army winter gloves", "str_pl": "pairs of army winter gloves" }, "description": "A pair of padded gloves. Favored by the military.", "weight": "218 g", "volume": "750 ml", diff --git a/data/json/items/armor/jewelry.json b/data/json/items/armor/jewelry.json index d9751eaced9e1..aff086d4992f5 100644 --- a/data/json/items/armor/jewelry.json +++ b/data/json/items/armor/jewelry.json @@ -18,11 +18,10 @@ { "id": "bead_ear", "type": "ARMOR", - "name": "pair of beaded earrings", - "name_plural": "pairs of beaded earrings", + "name": { "str": "pair of beaded earrings", "str_pl": "pairs of beaded earrings" }, "description": "A simple pair of earrings made of string and wooden beads. You can wear it if you like, but it won't provide any effects.", "weight": "7 g", - "volume": 0, + "volume": "1 ml", "price": 100, "price_postapoc": 100, "material": [ "wood" ], @@ -272,11 +271,10 @@ { "id": "copper_ear", "type": "ARMOR", - "name": "pair of copper earrings", - "name_plural": "pairs of copper earrings", + "name": { "str": "pair of copper earrings", "str_pl": "pairs of copper earrings" }, "description": "A pair of copper earrings. It's pretty heavy. You can wear it if you like, but it won't provide any effects.", "weight": "50 g", - "volume": 0, + "volume": "1 ml", "price": 2900, "price_postapoc": 50, "material": [ "copper" ], diff --git a/data/json/items/armor/legs_armor.json b/data/json/items/armor/legs_armor.json index 44516813b899c..e638cc4c71ef4 100644 --- a/data/json/items/armor/legs_armor.json +++ b/data/json/items/armor/legs_armor.json @@ -133,8 +133,7 @@ "id": "legguard_bronze", "type": "ARMOR", "category": "armor", - "name": "pair of bronze greaves", - "name_plural": "pairs of bronze greaves", + "name": { "str": "pair of bronze greaves", "str_pl": "pairs of bronze greaves" }, "description": "A pair of bronze leg guards with a simple leather lining.", "weight": "2520 g", "volume": "5500 ml", diff --git a/data/json/items/armor/legs_clothes.json b/data/json/items/armor/legs_clothes.json index 828dd2858dd09..4710dd37082e4 100644 --- a/data/json/items/armor/legs_clothes.json +++ b/data/json/items/armor/legs_clothes.json @@ -44,8 +44,7 @@ "id": "fishing_waders", "repairs_like": "boots_larmor", "type": "ARMOR", - "name": "pair of fishing waders", - "name_plural": "pairs of fishing waders", + "name": { "str": "pair of fishing waders", "str_pl": "pairs of fishing waders" }, "description": "Waterproof plastic fishing waders with a single large front pocket.", "weight": "1360 g", "volume": "9500 ml", diff --git a/data/json/items/comestibles/drink.json b/data/json/items/comestibles/drink.json index ad1e3b498990d..d37e03f9a61c1 100644 --- a/data/json/items/comestibles/drink.json +++ b/data/json/items/comestibles/drink.json @@ -339,8 +339,7 @@ { "type": "COMESTIBLE", "id": "crispycran", - "name": "crispy cranberry", - "name_plural": "crispy cranberries", + "name": { "str": "crispy cranberry", "str_pl": "crispy cranberries" }, "weight": "250 g", "color": "pink", "container": "can_drink", @@ -361,8 +360,7 @@ { "type": "COMESTIBLE", "id": "dandelion_tea", - "name": "dandelion tea", - "name_plural": "dandelion tea", + "name": { "str": "dandelion tea", "str_pl": "dandelion tea" }, "weight": "252 g", "color": "yellow", "comestible_type": "DRINK", diff --git a/data/json/items/comestibles/frozen.json b/data/json/items/comestibles/frozen.json index f0cf7312aa21f..73f8dfd219e46 100644 --- a/data/json/items/comestibles/frozen.json +++ b/data/json/items/comestibles/frozen.json @@ -42,8 +42,7 @@ "type": "COMESTIBLE", "copy-from": "milkshake", "id": "milkshake_deluxe", - "name": "deluxe milkshake", - "name_plural": "deluxe milkshakes", + "name": { "str": "deluxe milkshake" }, "description": "This milkshake has been enhanced with added sweeteners, and even has a cherry on top. Tastes great, but is fairly awful for your health.", "calories": 265, "quench": 40, diff --git a/data/json/items/comestibles/fruit_dishes.json b/data/json/items/comestibles/fruit_dishes.json index 1a8838fc45e8e..ce9044360f8fa 100644 --- a/data/json/items/comestibles/fruit_dishes.json +++ b/data/json/items/comestibles/fruit_dishes.json @@ -160,8 +160,7 @@ { "type": "COMESTIBLE", "id": "dry_fruit", - "name": "dehydrated fruit", - "name_plural": "dehydrated fruit", + "name": { "str": "dehydrated fruit", "str_pl": "dehydrated fruit" }, "weight": "75 g", "color": "magenta", "spoils_in": "360 days", diff --git a/data/json/items/comestibles/meat_dishes.json b/data/json/items/comestibles/meat_dishes.json index 37d5cab07fede..3cb101026146d 100644 --- a/data/json/items/comestibles/meat_dishes.json +++ b/data/json/items/comestibles/meat_dishes.json @@ -169,8 +169,7 @@ { "type": "COMESTIBLE", "id": "cracklins", - "name": "cracklins", - "name_plural": "cracklins", + "name": { "str": "cracklins", "str_pl": "cracklins" }, "weight": "42 g", "color": "brown", "spoils_in": "7 days", @@ -265,8 +264,7 @@ { "type": "COMESTIBLE", "id": "dry_fish", - "name": "dehydrated fish", - "name_plural": "dehydrated fish", + "name": { "str": "dehydrated fish", "str_pl": "dehydrated fish" }, "copy-from": "fish_cooked", "primary_material": "cured_meat", "weight": "85 g", @@ -762,8 +760,7 @@ { "type": "COMESTIBLE", "id": "deluxe_beansnrice", - "name": "deluxe beans and rice", - "name_plural": "deluxe beans and rice", + "name": { "str": "deluxe beans and rice", "str_pl": "deluxe beans and rice" }, "conditional_names": [ { "type": "COMPONENT_ID", @@ -854,8 +851,7 @@ { "type": "COMESTIBLE", "id": "deluxe_eggs", - "name": "deluxe scrambled eggs", - "name_plural": "deluxe scrambled eggs", + "name": { "str": "deluxe scrambled eggs", "str_pl": "deluxe scrambled eggs" }, "conditional_names": [ { "type": "COMPONENT_ID", diff --git a/data/json/items/comestibles/med.json b/data/json/items/comestibles/med.json index 93fc1121eea26..ca485517902ee 100644 --- a/data/json/items/comestibles/med.json +++ b/data/json/items/comestibles/med.json @@ -433,8 +433,7 @@ "id": "cotton_ball", "type": "COMESTIBLE", "comestible_type": "MED", - "name": "cotton balls", - "name_plural": "cotton balls", + "name": { "str": "cotton balls", "str_pl": "cotton balls" }, "description": "Fluffy balls of clean white cotton. Can serve as makeshift bandages in an emergency.", "category": "spare_parts", "weight": "22 g", @@ -452,8 +451,7 @@ "id": "crack", "type": "COMESTIBLE", "comestible_type": "MED", - "name": "crack", - "name_plural": "crack", + "name": { "str": "crack", "str_pl": "crack" }, "description": "Deprotonated cocaine crystals, incredibly addictive and deleterious to brain chemistry.", "weight": "1 g", "volume": "250 ml", diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 9313e87a70373..1c6fcf34347e5 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -198,8 +198,7 @@ { "type": "COMESTIBLE", "id": "corn", - "name": "corn", - "name_plural": "corn", + "name": { "str": "corn", "str_pl": "corn" }, "weight": "153 g", "color": "light_green", "spoils_in": "5 days", diff --git a/data/json/items/comestibles/sandwich.json b/data/json/items/comestibles/sandwich.json index 479895b359cc8..dc87867532478 100644 --- a/data/json/items/comestibles/sandwich.json +++ b/data/json/items/comestibles/sandwich.json @@ -24,8 +24,7 @@ { "type": "COMESTIBLE", "id": "sandwich_deluxe", - "name": "deluxe sandwich", - "name_plural": "deluxe sandwiches", + "name": { "str": "deluxe sandwich", "str_pl": "deluxe sandwiches" }, "conditional_names": [ { "type": "COMPONENT_ID", @@ -54,8 +53,7 @@ { "type": "COMESTIBLE", "id": "sandwich_cucumber", - "name": "cucumber sandwich", - "name_plural": "cucumber sandwiches", + "name": { "str": "cucumber sandwich", "str_pl": "cucumber sandwiches" }, "weight": "500 g", "color": "light_green", "spoils_in": "1 day 12 hours", diff --git a/data/json/items/comestibles/seed.json b/data/json/items/comestibles/seed.json index bd70598befb05..84ca714b436c5 100644 --- a/data/json/items/comestibles/seed.json +++ b/data/json/items/comestibles/seed.json @@ -67,8 +67,7 @@ "id": "seed_cranberries", "copy-from": "seed_fruit", "type": "COMESTIBLE", - "name": "cranberry seeds", - "name_plural": "cranberry seeds", + "name": { "str": "cranberry seeds", "str_pl": "cranberry seeds" }, "description": "Some cranberry seeds.", "seed_data": { "plant_name": "cranberry", "fruit": "cranberries", "byproducts": [ "withered" ], "grow": "91 days" } }, @@ -204,8 +203,7 @@ "id": "seed_cotton_boll", "copy-from": "seed", "price": 50, - "name": "cotton seeds", - "name_plural": "cotton seeds", + "name": { "str": "cotton seeds", "str_pl": "cotton seeds" }, "description": "Some cotton seeds. Can be processed to produce an edible oil.", "weight": "5 g", "charges": 8, @@ -264,8 +262,7 @@ "type": "COMESTIBLE", "id": "seed_dahlia", "copy-from": "seed", - "name": "dahlia seeds", - "name_plural": "dahlia seeds", + "name": { "str": "dahlia seeds", "str_pl": "dahlia seeds" }, "color": "green", "description": "Some dahlia seeds.", "seed_data": { "plant_name": "dahlia", "fruit": "dahlia_root", "byproducts": [ "withered" ], "grow": "91 days" } @@ -305,8 +302,7 @@ "type": "COMESTIBLE", "id": "seed_flower", "copy-from": "seed", - "name": "decorative plant seeds", - "name_plural": "decorative plant seeds", + "name": { "str": "decorative plant seeds", "str_pl": "decorative plant seeds" }, "color": "green", "description": "Some small decorative plant seeds, likely grass or flower. Don't expect them to be useful for anything other than dry plant material.", "seed_data": { "plant_name": "decorative plant", "fruit": "withered", "grow": "91 days" } @@ -355,8 +351,7 @@ "id": "seed_corn", "copy-from": "seed", "price": 50, - "name": "corn seeds", - "name_plural": "corn seeds", + "name": { "str": "corn seeds", "str_pl": "corn seeds" }, "description": "Some corn seeds.", "seed_data": { "plant_name": "corn", "fruit": "corn", "byproducts": [ "withered" ], "grow": "80 days" } }, @@ -375,8 +370,7 @@ "id": "seed_cucumber", "copy-from": "seed", "price": 50, - "name": "cucumber seeds", - "name_plural": "cucumber seeds", + "name": { "str": "cucumber seeds", "str_pl": "cucumber seeds" }, "description": "Some cucumber seeds.", "seed_data": { "plant_name": "cucumber", "fruit": "cucumber", "byproducts": [ "withered" ], "grow": "60 days" } }, @@ -603,8 +597,7 @@ "type": "COMESTIBLE", "id": "seed_raw_dandelion", "copy-from": "seed", - "name": "dandelion seeds", - "name_plural": "dandelion seeds", + "name": { "str": "dandelion seeds", "str_pl": "dandelion seeds" }, "color": "green", "description": "Some dandelion seeds.", "charges": 2, @@ -643,8 +636,7 @@ "type": "COMESTIBLE", "copy-from": "seed", "comestible_type": "MED", - "name": "datura seeds", - "name_plural": "datura seeds", + "name": { "str": "datura seeds", "str_pl": "datura seeds" }, "description": "Small, dark seeds from the spiny pods of a datura plant. Full of powerful psychoactive chemicals, these tiny seeds are a potent analgesic and deliriant, and can be deadly in cases of overdose.", "weight": "2 g", "price": 0, diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index 2d96d9912d8b7..3548714a936fc 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -109,8 +109,7 @@ { "type": "COMESTIBLE", "id": "can_corn", - "name": "corn", - "name_plural": "corn", + "name": { "str": "corn", "str_pl": "corn" }, "comestible_type": "FOOD", "weight": "178 g", "color": "yellow", @@ -294,8 +293,7 @@ { "type": "COMESTIBLE", "id": "deluxe_veggy_beansnrice", - "name": "deluxe vegetarian beans and rice", - "name_plural": "deluxe vegetarian beans and rice", + "name": { "str": "deluxe vegetarian beans and rice", "str_pl": "deluxe vegetarian beans and rice" }, "weight": "140 g", "color": "brown", "spoils_in": "15 days", diff --git a/data/json/items/comestibles/wheat.json b/data/json/items/comestibles/wheat.json index c0651c7ed73ec..b8727a8d7e39a 100644 --- a/data/json/items/comestibles/wheat.json +++ b/data/json/items/comestibles/wheat.json @@ -226,8 +226,7 @@ { "type": "COMESTIBLE", "id": "oatmeal_deluxe", - "name": "deluxe cooked oatmeal", - "name_plural": "deluxe cooked oatmeal", + "name": { "str": "deluxe cooked oatmeal", "str_pl": "deluxe cooked oatmeal" }, "weight": "164 g", "color": "light_gray", "spoils_in": "10 days", diff --git a/data/json/mapgen/abandoned01.json b/data/json/mapgen/abandoned01.json index eb5367afd7aa9..1e1074ff23668 100644 --- a/data/json/mapgen/abandoned01.json +++ b/data/json/mapgen/abandoned01.json @@ -456,7 +456,9 @@ "s": "t_underbrush", "w": "t_water_sh", "z": "t_shrub_strawberry", - "~": "t_fence_h" + "^": "t_dirt", + "~": "t_fence_h", + "T": "t_dirt" }, "place_items": [ { "item": "forest", "x": [ 2, 21 ], "y": [ 5, 19 ], "chance": 80, "repeat": [ 0, 20 ] } ] } diff --git a/data/json/mapgen/animalshelter.json b/data/json/mapgen/animalshelter.json index 893bf99886489..c3b85fa9e0a39 100644 --- a/data/json/mapgen/animalshelter.json +++ b/data/json/mapgen/animalshelter.json @@ -278,7 +278,7 @@ " |..................3 ", " |..................3 ", " |..................3 ", - " |.......X..........3 ", + " |..................3 ", " |..................3 ", " |..................3 ", " |..................3 ", diff --git a/data/json/mapgen/apartment_con_new.json b/data/json/mapgen/apartment_con_new.json index fed4f97726d7d..84c85833dfade 100644 --- a/data/json/mapgen/apartment_con_new.json +++ b/data/json/mapgen/apartment_con_new.json @@ -54,6 +54,7 @@ " ssss " ], "palettes": [ "apartment_palette" ], + "terrain": { ".": "t_floor" }, "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 4, 23 ], "y": [ 2, 23 ], "repeat": [ 1, 2 ] }, { "monster": "GROUP_ZOMBIE", "x": [ 24, 43 ], "y": [ 2, 23 ], "repeat": [ 1, 2 ] }, diff --git a/data/json/mapgen/bandit_camp.json b/data/json/mapgen/bandit_camp.json index fc153dbf4821e..1c7e34a9aefab 100644 --- a/data/json/mapgen/bandit_camp.json +++ b/data/json/mapgen/bandit_camp.json @@ -27,7 +27,7 @@ ",$,,///#####/zz//////zzz#####/////W/WW/##///,%,,", ",//,/////P////////////z////////////////##/////,$", ",,,///,//P//WWWWW////////////////////////,,/,/,,", - ",%,4//,//P//WwwwW////WWWWW//////////////////,,,,", + ",%,$//,//P//WwwwW////WWWWW//////////////////,,,,", ",,$/,///,P//Wwww/////WwwwW//////////////////,/,%", "%,/,,///,P//WwwwW/////wwwW/////////////##,//$,,,", ",,,,,/,//P//WWWWW////WwwwW/////////////##,/,,,,,", diff --git a/data/json/mapgen/basement/basements.json b/data/json/mapgen/basement/basements.json index c26cde4b41954..7a80d9bd1e84f 100644 --- a/data/json/mapgen/basement/basements.json +++ b/data/json/mapgen/basement/basements.json @@ -10,9 +10,9 @@ "^^^^^^^^^^^^^^^^^^^^^^^^", "^######################^", "^#||||||||||||||||||||#^", - "^#|9..|.?..CCCNNNUUUU|#^", - "^#|???+.....?.......U|#^", - "^#|tCS|........?....U|#^", + "^#|9..|....CCCNNNUUUU|#^", + "^#|...+.............U|#^", + "^#|tCS|.............U|#^", "^#||||||...CCCCCCUUUU|#^", "^#| ||+|####|||||||#^", "^#| | << !! |#^", @@ -83,8 +83,8 @@ "^######################^", "^#||||||||||||||||||||#^", "^#|9..|....CCCNNNUUUU|#^", - "^#|???+...?...?.....U|#^", - "^#|tCS|....?...?....U|#^", + "^#|...+.............U|#^", + "^#|tCS|.............U|#^", "^#||||||...CCCCCCUUUU|#^", "^#| ||+|####|||||||#^", "^#| | |#^", diff --git a/data/json/mapgen/bus_station.json b/data/json/mapgen/bus_station.json index 9a50e1cff6dd2..d5fddf6d9b327 100644 --- a/data/json/mapgen/bus_station.json +++ b/data/json/mapgen/bus_station.json @@ -120,8 +120,8 @@ "| A & 3.....................................", "| 3.....................................", "| 3.....................................", - "| ooooo 3..........''''''''''''''''...........", - "| ooooo 3..........''''''''''''''''...........", + "| ooooo 3.......... ...........", + "| ooooo 3.......... ...........", "| 3.....................................", "| 3.....................................", "| 3.....................................", @@ -130,8 +130,8 @@ "| 3.....................................", "| 3.....................................", "22222! 3.....................................", - "....5222222..........''''''''''''''''...........", - ".....................''''''''''''''''...........", + "....5222222.......... ...........", + "..................... ...........", "................................................" ], "terrain": { diff --git a/data/json/mapgen/collapsed_tower.json b/data/json/mapgen/collapsed_tower.json index f0878bb330727..2ed4e08a0e50d 100644 --- a/data/json/mapgen/collapsed_tower.json +++ b/data/json/mapgen/collapsed_tower.json @@ -134,7 +134,7 @@ "#####|xppppppppppppp|| |#|||||| ##|##########~~#|##~~|###|# # ##|####", "#####|xppCCppppppppp|| |## ##| |#########~~~~~####||||||||||###|####", "#####||||||||||#pppp|| #| # 66|# #|#~~~~~~~~~~~~~~~~#|########### |####", - "##############|#2{{2|| + B|| ||######~~t~~~| ######## |####", + "##############|#2{{2|| + B|| ||######~~~~~~| ######## |####", "################ppppr|# | | ##~~~~~~| |# #### |####", "#################pppr|33| ####|###|| ##### ~~~||33||## #|####", "###############pppppp|##||||###| ########~~~~~~~|# # 6#####|####", diff --git a/data/json/mapgen/cs_gardening_allotment.json b/data/json/mapgen/cs_gardening_allotment.json index d0e614920fe63..bcbfbd0fa859b 100644 --- a/data/json/mapgen/cs_gardening_allotment.json +++ b/data/json/mapgen/cs_gardening_allotment.json @@ -43,7 +43,7 @@ "..|.s...~.wwwwwwwwwwwww.", "..|...~~~sw66666666666w.", "..|sT.~~~~d,,,,B,,,,,Aw.", - "..----=---wbCCC,,,,,BAw.", + "..----=---wBCCC,,,,,BAw.", "..........wwwwwwwwwwwww.", "........................" ], diff --git a/data/json/mapgen/dispensary.json b/data/json/mapgen/dispensary.json index 1703195afe00f..b60b886f22b75 100644 --- a/data/json/mapgen/dispensary.json +++ b/data/json/mapgen/dispensary.json @@ -467,13 +467,13 @@ " |..................3 ", " |..................3 ", " |..................3 ", - " |.....x............3 ", + " |..................3 ", " |..................3 ", " |..................3 ", " |..................3 ", " |..................3 ", " 5..................3 ", - " |.....x............3 ", + " |..................3 ", " |................&.3 ", " |..................3 ", " |2222222222...222223 ", diff --git a/data/json/mapgen/dollar_store.json b/data/json/mapgen/dollar_store.json index ba1378d2f8620..7a82b5db2a19e 100644 --- a/data/json/mapgen/dollar_store.json +++ b/data/json/mapgen/dollar_store.json @@ -231,6 +231,7 @@ "U": "f_dumpster", "L": "f_locker", "h": "f_chair", + "y": "f_indoor_plant", "p": [ "f_datura", "f_bluebell", "f_mutpoppy", "f_dahlia", "f_flower_tulip", "f_chamomile", "f_flower_spurge", "f_lily" ] }, "toilets": { "T": { } }, @@ -284,7 +285,7 @@ " |..................3 ", " |..................3 ", " |..................3 ", - " |..........x.......3 ", + " |..................3 ", " |..................3 ", " |..................3 ", " |..................3 ", diff --git a/data/json/mapgen/farm_dairy.json b/data/json/mapgen/farm_dairy.json index 264219a2a62d7..826735f44d2d0 100644 --- a/data/json/mapgen/farm_dairy.json +++ b/data/json/mapgen/farm_dairy.json @@ -495,9 +495,9 @@ "................................................................................................", "................................................................................................", "...........................................................|-ll-|---|l--|--|--------|...........", - "...........................................................|[bb[|^^_|,,,|[[|-|&%~~~(|...........", - "...........................................................l~bb~|~~~|,,,|~~+*|~````(|...........", - "...........................................................l~~~~|~~~|,,,|~~|-|~```~_|...........", + "...........................................................|[bb[|^^_|...|[[|-|&%~~~(|...........", + "...........................................................l~bb~|~~~|...|~~+*|~````(|...........", + "...........................................................l~~~~|~~~|...|~~|-|~```~_|...........", "...........................................................|~~~~|&~%|<|-|~~|---+----|...........", "...........................................................|~~~~|-+-|<|3~~~|~~!!!~~[|...........", "...........................................................|~~~~~~~!|~~~~~~+~~~`~~~bl...........", @@ -572,6 +572,8 @@ "b": "t_floor", "d": "t_floor", "D": "t_floor", + "K": "t_open_air", + "L": "t_open_air", "3": "t_floor", "4": "t_floor", "-": "t_wall_wood", diff --git a/data/json/mapgen/farm_horse.json b/data/json/mapgen/farm_horse.json index 8e0f767864d3d..f9b129d7c73f7 100644 --- a/data/json/mapgen/farm_horse.json +++ b/data/json/mapgen/farm_horse.json @@ -209,7 +209,7 @@ " wwwwwww.....wwwwwww ", " w..6..>.........6.w ", " w...6.........6...w ", - " w......*****`.....w ", + " w......*****......w ", " wwww...*****...wwww ", " w......*****....66w ", " w.6.6..*****....66w ", diff --git a/data/json/mapgen/fema/FEMA_blc_03.json b/data/json/mapgen/fema/FEMA_blc_03.json index 3d4759904b7f6..0bdffc1eb5ff3 100644 --- a/data/json/mapgen/fema/FEMA_blc_03.json +++ b/data/json/mapgen/fema/FEMA_blc_03.json @@ -18,7 +18,7 @@ ".f..=,,ffffffff,,TT,,=..", ".f..=,,f,,,,,,f,,TT,,=..", ".f..=,,f,,ll,,f,,,,,,=..", - ".f..=,,f,,ll,,e,,,,,,=..", + ".f..=,,f,,ll,,F,,,,,,=..", ".f..=,,f,,ll,,f,,,,,,=..", ".f..*,,f,,,,,,f,,,,,,*..", ".f..*,,ffffffff,,,,,,*..", diff --git a/data/json/mapgen/fema/FEMA_le_03.json b/data/json/mapgen/fema/FEMA_le_03.json index 7a7e47d8d5ead..8c56daabd3582 100644 --- a/data/json/mapgen/fema/FEMA_le_03.json +++ b/data/json/mapgen/fema/FEMA_le_03.json @@ -17,7 +17,7 @@ "..|~%%%%%%%%%%%%%%%%~|..", "..|~%~~%~Z%~~%~Z%~~%~|..", "..|~%~Z%~~%~Z%~~%Z~%~|..", - "..|~%!%%!%%!%%!%%1%%~|..", + "..|~%!%%!%%!%%!%%!%%~|..", "..|~~~~~~~~~~~~~~~~~~|..", "..|L~~~~~~~~~~~XX~~XX|..", "..|BB~~TT~~~~~~XX~~XX|..", diff --git a/data/json/mapgen/fema/FEMA_te_03.json b/data/json/mapgen/fema/FEMA_te_03.json index 6c480979b421f..09cedb69b722d 100644 --- a/data/json/mapgen/fema/FEMA_te_03.json +++ b/data/json/mapgen/fema/FEMA_te_03.json @@ -17,7 +17,7 @@ ".N|~xxx~f~~~~~~~~~~~~|N.", "..|~xxx~f~XX~~XX~~XX~|N.", "..|~z~~~f~~~~~~~~~~~~|N.", - ".N|~~~~~ffffffffeefff|N.", + ".N|~~~~~ffffffffFFfff|N.", ".N|~~~~~~~~~~~~~~~~~~|N.", ".N|TTc~~~z~~~~~~~~D~~|..", ".N|TT~~z~~~~~~~~z~Dc~|..", diff --git a/data/json/mapgen/helipad.json b/data/json/mapgen/helipad.json index 8e19841e3d98c..f89f2731c4b2c 100644 --- a/data/json/mapgen/helipad.json +++ b/data/json/mapgen/helipad.json @@ -115,6 +115,7 @@ "H": { "item": "SUS_spice_collection", "chance": 75 }, "&": { "item": "SUS_toilet", "chance": 50 } }, + "vendingmachines": { "1": { "item_group": "vending_drink" }, "2": { "item_group": "vending_food" } }, "place_monsters": [ { "monster": "GROUP_MIL_STRONG", "x": 36, "y": 15 }, { "monster": "GROUP_MIL_WEAK", "x": 24, "y": 30, "density": 2 } ], "monster": { "T": { "monster": "mon_turret_rifle" } }, "place_vehicles": [ diff --git a/data/json/mapgen/house/house03.json b/data/json/mapgen/house/house03.json index 748f2f3960941..3ef9e7d674aa0 100644 --- a/data/json/mapgen/house/house03.json +++ b/data/json/mapgen/house/house03.json @@ -206,6 +206,7 @@ "|": "t_brick_wall" }, "furniture": { + "&": "f_sink", "#": "f_counter", "C": "f_cupboard", "F": "f_fridge", diff --git a/data/json/mapgen/house/house_duplex4.json b/data/json/mapgen/house/house_duplex4.json index 2994a138a4bda..07132bb93207a 100644 --- a/data/json/mapgen/house/house_duplex4.json +++ b/data/json/mapgen/house/house_duplex4.json @@ -20,7 +20,7 @@ "..o@@ | hfh||hfh | @@o..", "..o | T| | @@o..", "..# + HH |x H + #..", - ".^#Ddb| E x|x H |Db{#^.", + ".^#Ddb| E x|x H |Dbd#^.", "..#|||| s x|x H ||||#..", "..#d + E R|R + II#..", "..o@@ | RR| | ho..", diff --git a/data/json/mapgen/house/house_w_6.json b/data/json/mapgen/house/house_w_6.json index 6c1fbc37c2d24..e4a9520b52497 100644 --- a/data/json/mapgen/house/house_w_6.json +++ b/data/json/mapgen/house/house_w_6.json @@ -164,7 +164,7 @@ " |..............3 ", " |..............3 ", " |..............3 ", - " |.............Z3 ", + " |..............3 ", " ||..............3 ", " |...............3 ", " |...............3 ", diff --git a/data/json/mapgen/irradiator_1.json b/data/json/mapgen/irradiator_1.json index 5d221547e762e..331d2f6c71f4c 100644 --- a/data/json/mapgen/irradiator_1.json +++ b/data/json/mapgen/irradiator_1.json @@ -107,7 +107,7 @@ "'f**|------------NN4-| |4NN---------------|**f'", "'f**|MMMMMMMM4 4ZZPPPZZPPP|**f'", "'f**|M PP N PPPXXXXXXX4NXXXXXXXXPPP N xP|**f'", - "'f**|MP pPPPP|----==-------XXXXXXXXNXXXXXXXX-----==-----|PPZPPPZPPP|**f'", + "'f**|MP PPPPP|----==-------XXXXXXXXNXXXXXXXX-----==-----|PPZPPPZPPP|**f'", "'f**|TTTTTTTT| C K KXXXXXXX!Q!!!!!Q!XXXXXX J |TTTTTTTTTT|**f'", "'f**|--------4 C K KKKXCCMMCX!!UUUUU!!XMMCCX J J C 4----------|**f'", "'f**|( N C K KXCXXXCX!!UUUUU!!XCXXCX J J C N (|**f'", @@ -161,7 +161,7 @@ "'f**L____________________Ls##ssss##ss##ssss##sL____________________L**f'", "'f**L___________________Lss--w=w---DD---w=w--ssL___________________L**f'", "'fsss__________________Lssswdh ^hx xhA hdwsssL__________________sssf'", - "'fs(s__________________Ls(swxh hd dh lhxws(sL__________________s(sf'", + "'fs(s__________________Ls(swxh hd dh hxws(sL__________________s(sf'", "'fsss__________________Lsss--w-w---DD---w-w--sssL__________________sssf'", "'ffffGGGGGGGGGGGGGGGGGGffffffffffffGGffffffffffffGGGGGGGGGGGGGGGGGGffff'", "[[[[L__________________LssssssssssssssssssssssssL__________________L[[[[", diff --git a/data/json/mapgen/isherwood_farms/farm_horse_isherwood.json b/data/json/mapgen/isherwood_farms/farm_horse_isherwood.json index a1c140074f138..5cc74f1ad32ed 100644 --- a/data/json/mapgen/isherwood_farms/farm_horse_isherwood.json +++ b/data/json/mapgen/isherwood_farms/farm_horse_isherwood.json @@ -116,7 +116,7 @@ "..%....-vvv-...p.p..........,,..,,.......................9...9..9..////...9...///..9....9..9.%..", "..%..9................9...9.,,..,,.9..9..9...9..99...9..9....9...9..9///9...///.......9......%..", "..%.9...0.....9...9..9.9...9,,..,,...9..99...9..9..........9...9..9....//////...9....9..9....%..", - "..%...9....9.......9...9..9.,,..,,.9..9...9..99...9..9.9...9..9.9...9..9..9..x.9..99...9..9...%..", + "..%...9....9.......9...9..9.,,..,,.9..9...9..99...9..9.9...9..9.9...9..9..9...9..99...9..9...%..", "..%%%%%%%%%%%%%%%%%%%%%%%%%%,,..,,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%..", "..%.........................,,..,,...........................................................%.." ], @@ -242,7 +242,7 @@ " wwwwwww.....wwwwwww ", " w..6..>.........6.w ", " w...6.........6...w ", - " w......*****`.....w ", + " w......*****......w ", " wwww...*****...wwww ", " w......*****....66w ", " w.6.6..*****....66w ", diff --git a/data/json/mapgen/lab/lab_common.json b/data/json/mapgen/lab/lab_common.json index cf354bcd823d9..6ccc77eb54867 100644 --- a/data/json/mapgen/lab/lab_common.json +++ b/data/json/mapgen/lab/lab_common.json @@ -12,11 +12,13 @@ "h": "f_chair", "f": "f_fridge", "t": "f_table", + "i": "f_filing_cabinet", "c": "f_counter", "S": "f_sink", "T": "f_toilet", "#": "f_null", - "]": "f_bookcase" + "]": "f_bookcase", + "^": "f_rubble_rock" }, "terrain": { "6": "t_console", diff --git a/data/json/mapgen/lab/lab_surface/lab_surface_nested.json b/data/json/mapgen/lab/lab_surface/lab_surface_nested.json index 9483015c0c829..1f2433394a685 100644 --- a/data/json/mapgen/lab/lab_surface/lab_surface_nested.json +++ b/data/json/mapgen/lab/lab_surface/lab_surface_nested.json @@ -744,7 +744,7 @@ "rotation": [ 0, 3 ], "rows": [ "bb dd", - "bs cX", + "bs cx", " ", "bs f", "bbSDC" @@ -1137,7 +1137,7 @@ "mapgensize": [ 11, 11 ], "rotation": [ 0, 3 ], "rows": [ - "AACttt6c ", + "AACtttUc ", "t ", "AACtttU U", "t U", diff --git a/data/json/mapgen/library.json b/data/json/mapgen/library.json index f6bd0c28a718a..f67cbe45aef1c 100644 --- a/data/json/mapgen/library.json +++ b/data/json/mapgen/library.json @@ -143,7 +143,7 @@ " |....................3 ", " |....................3 ", " |....................3 ", - " |.....x..............3 ", + " |....................3 ", " |....................3 ", " |....................3 ", " |....................3 ", diff --git a/data/json/mapgen/mall.json b/data/json/mapgen/mall.json index 0416aa3025705..c232134a11f14 100644 --- a/data/json/mapgen/mall.json +++ b/data/json/mapgen/mall.json @@ -4052,6 +4052,7 @@ ">": "t_stairs_down", "|": "t_wall_w", "E": "t_elevator", + "=": "t_door_c", "_": "t_thconc_floor" }, "place_items": [ { "item": "roof_trash", "x": [ 0, 8 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 3 ] } ] @@ -6511,7 +6512,7 @@ "..........3 ", "..........3 " ], - "terrain": { ".": "t_flat_roof", " ": "t_open_air", "3": "t_gutter_east" }, + "terrain": { ".": "t_flat_roof", " ": "t_open_air", "3": "t_gutter_east", "o": "t_glass_roof" }, "place_items": [ { "item": "roof_trash", "x": [ 0, 8 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 3 ] } ] } }, @@ -7350,7 +7351,7 @@ "........................", "........................", "........................", - ".......................-", + "........................", "........................", "........................", "........................", diff --git a/data/json/mapgen/mansion.json b/data/json/mapgen/mansion.json index b30a701db48fd..3ffd26c58f182 100644 --- a/data/json/mapgen/mansion.json +++ b/data/json/mapgen/mansion.json @@ -585,7 +585,8 @@ "m": { "item": "tool_common_stack", "chance": 100 }, "n": { "item": "cannedfood", "chance": 30 }, "r": { "item": "mansion_ammo", "chance": 40 }, - "v": { "item": "a_television", "chance": 100 } + "v": { "item": "a_television", "chance": 100 }, + "{": { "item": "suit_of_armor", "chance": 100 } }, "place_monsters": [ { "monster": "GROUP_MANSION", "x": [ 2, 21 ], "y": [ 2, 12 ], "density": 0.1 } ] } diff --git a/data/json/mapgen/megastore.json b/data/json/mapgen/megastore.json index 63219effb8bdc..b698eedda7686 100644 --- a/data/json/mapgen/megastore.json +++ b/data/json/mapgen/megastore.json @@ -228,7 +228,7 @@ ",,,,|n..l|s...|l..n|!!|.", ",,,,|...l|s...|l...|....", ",,,,|-!-----!----!-|....", - ",,,,|p.............|....", + ",,,,|i.............|....", ",,,,|..............|....", ",,,,|....cTTTT.....|....", ",,,,|....cTTTT.....|....", @@ -271,7 +271,7 @@ ",,,,|n..l|s...|l..n|!!|.", ",,,,|...l|s...|l...|....", ",,,,|-!-----!----!-|....", - ",,,,|p.............|....", + ",,,,|i.............|....", ",,,,|..............|....", ",,,,|....cTTTT.....|....", ",,,,|....cTTTT.....|....", @@ -314,7 +314,7 @@ ",,,,|n..l|s...|l..n|!!|.", ",,,,|...l|s...|l...|....", ",,,,|-!-----!----!-|....", - ",,,,|p.............|x...", + ",,,,|i.............|x...", ",,,,|..............|x...", ",,,,|....cTTTT.....|x...", ",,,,|....cTTTT.....|....", @@ -357,7 +357,7 @@ ",,,,|n..l|s...|l..n|!!|.", ",,,,|...l|s...|l...|....", ",,,,|-!-----!----!-|....", - ",,,,|p.............|....", + ",,,,|i.............|....", ",,,,|..............|XX..", ",,,,|....cTTTT.....|XX..", ",,,,|....cTTTT.....|....", @@ -400,7 +400,7 @@ ",,,,|n..l|s...|l..n|!!|.", ",,,,|...l|s...|l...|....", ",,,,|-!-----!----!-|XX..", - ",,,,|p.............|XX..", + ",,,,|i.............|XX..", ",,,,|..............|....", ",,,,|....cTTTT.....|....", ",,,,|....cTTTT.....|....", @@ -1547,7 +1547,7 @@ ",,|.....................", ",,|.....................", ",,|.....................", - ",,|ppI.........CCCI.....", + ",,|iiI.........CCCI.....", ",,---.....CCCr.6........", ",,WW|.....6.............", ",,WWg..........CCCr.....", @@ -2234,25 +2234,25 @@ "########################", "########################", "####11111111111111111111", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "##111===================", - "##1=====================", - "##1=====================", - "##1=====================", - "##1=====================", - "##1=====================", - "##1=====================" + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "##111 ", + "##1 ", + "##1 ", + "##1 ", + "##1 ", + "##1 ", + "##1 " ], "rotation": 0, "palettes": [ "megastore" ], @@ -2286,25 +2286,25 @@ "########################", "########################", "111111111111111111111111", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================" + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " ], "rotation": 0, "palettes": [ "megastore" ], @@ -2336,27 +2336,27 @@ "########################", "########################", "#################1111111", - "#################1=%>%==", - "####11111111111111=%%%==", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================" + "#################1 %>% ", + "####11111111111111 %%% ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 ", + "####1 " ], "rotation": 1, "palettes": [ "megastore" ], @@ -2388,27 +2388,27 @@ "########################", "########################", "111111111111111111111111", - "========================", - "========================", - "========================", - "========================", - "========================", - "========11111111========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========11111111========", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================" + " ", + " ", + " ", + " ", + " ", + " 11111111 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 11111111 ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " ], "rotation": 3, "palettes": [ "megastore" ], @@ -2440,30 +2440,30 @@ "object": { "fill_ter": "t_flat_roof", "rows": [ - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========11111111========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========11111111========", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================" + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " 11111111 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 11111111 ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " ], "rotation": [ 0, 3 ], "palettes": [ "megastore" ], @@ -2488,27 +2488,27 @@ "########################", "########################", "111111111111111111111111", - "========================", - "========================", - "========================", - "========================", - "========================", - "========11111111========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========1^^^^^^1========", - "========11111111========", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================" + " ", + " ", + " ", + " ", + " ", + " 11111111 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 1^^^^^^1 ", + " 11111111 ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " ], "rotation": 1, "palettes": [ "megastore" ], @@ -2539,27 +2539,27 @@ "########################", "########################", "#################1111111", - "#################1======", - "##1111111111111111======", - "##1=====================", - "##1=====================", - "##1=====================", - "##1=====11111111========", - "##1=====1^^^^^^1========", - "##1=====1^^^^^^1========", - "##1=====1^^^^^^1========", - "##1=====1^^^^^^1========", - "##1=====1^^^^^^1========", - "##1=====1^^^^^^1========", - "##1=====11111111========", - "##1=====================", - "##1=====================", - "##1=====================", - "##111===================", - "####1===================", - "####1===================", - "####1===================", - "####1===================" + "#################1 ", + "##1111111111111111 ", + "##1 ", + "##1 ", + "##1 ", + "##1 11111111 ", + "##1 1^^^^^^1 ", + "##1 1^^^^^^1 ", + "##1 1^^^^^^1 ", + "##1 1^^^^^^1 ", + "##1 1^^^^^^1 ", + "##1 1^^^^^^1 ", + "##1 11111111 ", + "##1 ", + "##1 ", + "##1 ", + "##111 ", + "####1 ", + "####1 ", + "####1 ", + "####1 " ], "rotation": 3, "palettes": [ "megastore" ], @@ -2584,27 +2584,27 @@ "########################", "########################", "#####11111111111111#####", - "#####1============1#####", - "111111============111111", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================", - "========================" + "#####1 1#####", + "111111 111111", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " ], "rotation": 2, "palettes": [ "megastore" ], @@ -2635,27 +2635,27 @@ "########################", "########################", "####1111111111111111####", - "####1==============1####", - "####1==============11111", - "####1===================", - "####1===================", - "####1===================", - "####1===11111111========", - "####1===1^^^^^^1========", - "####1===1^^^^^^1========", - "####1===1^^^^^^1========", - "####1===1^^^^^^1========", - "####1===1^^^^^^1========", - "####1===1^^^^^^1========", - "####1===11111111========", - "####1===================", - "##111===================", - "##1=====================", - "##1=====================", - "##1=====================", - "##1=====================", - "##1=====================", - "##1=====================" + "####1 1####", + "####1 11111", + "####1 ", + "####1 ", + "####1 ", + "####1 11111111 ", + "####1 1^^^^^^1 ", + "####1 1^^^^^^1 ", + "####1 1^^^^^^1 ", + "####1 1^^^^^^1 ", + "####1 1^^^^^^1 ", + "####1 1^^^^^^1 ", + "####1 11111111 ", + "####1 ", + "##111 ", + "##1 ", + "##1 ", + "##1 ", + "##1 ", + "##1 ", + "##1 " ], "rotation": 2, "palettes": [ "megastore" ], diff --git a/data/json/mapgen/mi-go/mi-go_encampment.json b/data/json/mapgen/mi-go/mi-go_encampment.json index f56e02e168815..54511edd1dc9e 100644 --- a/data/json/mapgen/mi-go/mi-go_encampment.json +++ b/data/json/mapgen/mi-go/mi-go_encampment.json @@ -70,11 +70,11 @@ "__vvvvvv__________vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", "__vvvv|||___________vvvvvvvv|||||vvvvvvvvvvvvvvv", "___v|||i||___________vvvvvv||OOO||vvvppppvvvvvvv", - "____|> <|___________vvvvv||} >|vpp,,,,,,Fvvvv", - "___|| }|______||____vvvv|P i V|vp,,,,,,,,,vvv", + "____|> <|___________vvvvv||{ >|vpp,,,,,,Fvvvv", + "___|| {|______||____vvvv|P i V|vp,,,,,,,,,vvv", "___|PPPP||______||____vvvv|P |||p,,,,,,,,,,,vv", - "___||||||_____________vvvv|P Y ,,,,,,,,,,,,,vv", - "______________________vvvv|||O Y ,,,,,,,,,,,,,vv", + "___||||||_____________vvvv|P + ,,,,,,,,,,,,,vv", + "______________________vvvv|||O + ,,,,,,,,,,,,,vv", "_____________________vvvvvvv||||||p,,,,,,,,,,vvv", "_____________________vvvvvvvvvvvvvppp,,,,,,Fvvvv", "_____________________vvvvvvvvvvvvvvvvvvvvvvvvvvv", diff --git a/data/json/mapgen/mi-go/mi-go_nested.json b/data/json/mapgen/mi-go/mi-go_nested.json index 921e16d356bca..44d2ac23da002 100644 --- a/data/json/mapgen/mi-go/mi-go_nested.json +++ b/data/json/mapgen/mi-go/mi-go_nested.json @@ -127,13 +127,13 @@ "....|||PPPP|||....", "..|||PP #1|||..", "|||PP i ### ||.", - "|< } #2 |.", + "|< { #2 |.", "|| VnV i ###||", "@|i nnn #3|", "@|i nnn i # |", "@+ VnV ###||", "|| i #4 |.", - "|P } ### ###|.", + "|P { ### ###|.", "+ i # ####5||.", "|||PPPP #7#6 |||..", "@@||||||||# ||....", @@ -168,7 +168,7 @@ ".|+|||||", "|| ||", "|V i |", - "|i }i |", + "|i {i |", "|V +", "||PPPP||", ".|||||||", @@ -191,7 +191,7 @@ "|| ### |", "|P ###", "|P iV # ", - "|P i} #|", + "|P i{ #|", "+ ||", "|###|+|@", "|| ||@@@" @@ -219,9 +219,9 @@ "|P PPP", "|P P i ", "| V ", - "| } ", - "|V } ", - "|||V } ", + "| { ", + "|V { ", + "|||V { ", "@@|||V ", "@@@@||||+" ], @@ -408,13 +408,13 @@ "vvvv|||PPPP|||vvvv", "vv|||PP #1|||vv", "|||PP i ### ||v", - "|< } #2 |v", + "|< { #2 |v", "|> VnV i ###||", "@|i nnn #3|", "@|i nnn i # |", "@+ VnV ###||", "|| i #4 |v", - "|P } ### ###|v", + "|P { ### ###|v", "| i # ####5||v", "|||PPPP #7#6 |||vv", "@@||||||||# ||vvvv", diff --git a/data/json/mapgen/microlab/microlab_connector.json b/data/json/mapgen/microlab/microlab_connector.json index 816b7828222ce..104bb535a6b9b 100644 --- a/data/json/mapgen/microlab/microlab_connector.json +++ b/data/json/mapgen/microlab/microlab_connector.json @@ -126,7 +126,7 @@ " c| | dd|r c ", " FFFFccccc| | h|r c ", "|||||||||||YY|[===|| ", - " FF c|^???^ v| c ", + " FF c|^???^ V| c ", " c|? V| c ", " c|? tt | i ", " c| | ", @@ -190,7 +190,8 @@ "items": { "l": [ { "item": "guns_milspec", "chance": 10 }, { "item": "ammo_milspec", "chance": 70 } ], "t": { "item": "magazines", "chance": 90 } - } + }, + "monster": { "T": { "monster": "mon_turret_rifle" } } } }, { @@ -231,6 +232,7 @@ "E": "t_elevator_control", " ": "t_grass", "_": "t_pavement", + "S": "t_sidewalk", ".": "t_thconc_floor", "G": "t_card_science" } diff --git a/data/json/mapgen/microlab/microlab_generic.json b/data/json/mapgen/microlab/microlab_generic.json index cd651cb2b5868..659256b21cd12 100644 --- a/data/json/mapgen/microlab/microlab_generic.json +++ b/data/json/mapgen/microlab/microlab_generic.json @@ -85,7 +85,7 @@ "|||=[|||| hth =Y ?||||||", " c| |##| hth =Y V|h = ", " c| |##| hth = c|dd = ", - " c|=[|##| hth = a| ] ", + " c|=[|##| hth = a| [ ", " | |##|^ [ | = ", "||| |||||||||| |=[=||", " 2 ", @@ -120,7 +120,7 @@ "|||22|||| |||||||||||", " c| |l 2 2 2 d^= ", " c| |||| | | d = ", - " c| 2 | cc | ] ", + " c| 2 | cc | [ ", " 2 2 | cc | = ", "|||||||||||22|||||||||||", " |FFccFF| c | ", @@ -137,7 +137,8 @@ " c || ||||||||| ", " c c|c | |6hh6|cFc " ], - "palettes": [ "microlab" ] + "palettes": [ "microlab" ], + "monster": { "T": { "monster": "mon_turret_rifle" } } } }, { @@ -155,7 +156,7 @@ "|||5||||| d iccc|2===|", " c| c| dh= ", " c|cci cic iccc| d = ", - " c| c| ] ", + " c| c| [ ", " |cci |FFF|66cccc| = ", "2|||||||||||||||||||||||", " ", @@ -421,6 +422,7 @@ " |c | | | " ], "palettes": [ "microlab" ], + "terrain": { "G": "t_card_science" }, "monster": { "T": { "monster": "mon_turret_rifle" }, "M": { "monster": "mon_zombie_bio_op" } } } }, diff --git a/data/json/mapgen/microlab/microlab_generic_edge.json b/data/json/mapgen/microlab/microlab_generic_edge.json index 30ded9fbb40b2..26b9fd22b3f74 100644 --- a/data/json/mapgen/microlab/microlab_generic_edge.json +++ b/data/json/mapgen/microlab/microlab_generic_edge.json @@ -493,7 +493,7 @@ " c|? t ? Y^| cc ", " c|? t ? ^| cc c ", " c|^ ^| c ", - "|2||v ^| |((2|", + "|2||V ^| |((2|", " U| Y^|22(((|6 ", " U| ^^ Y^| 666|c ", " U|2|||2||2|| h |c ", diff --git a/data/json/mapgen/microlab/microlab_special_tiles.json b/data/json/mapgen/microlab/microlab_special_tiles.json index 67440f20304b5..4cab1797a0b5b 100644 --- a/data/json/mapgen/microlab/microlab_special_tiles.json +++ b/data/json/mapgen/microlab/microlab_special_tiles.json @@ -14,7 +14,7 @@ "|||22||||- -fYf-||||||", " c| |##|-dd -f f-|hd^= ", " c| ||||-h -f f-| d = ", - " c| c|-G55-f f-| ] ", + " c| c|-G55-f f-| [ ", " 2 c|- --2--| = ", "||| c|- -||||||", " ?|-Y cc c-| ", @@ -48,7 +48,7 @@ " | cc | | cc | ", " 2 2 2 | c c ", " F||||||| |||||||c c ", - " F|m 5 |22|0c7c0|c c ", + " F|m 5 |22|0c6c0|c c ", " F|((( ( | | ", "|||||m 5 ( |((2((| ||", " 66|((( ( c| ", @@ -74,6 +74,7 @@ "terrain": { "0": "t_vat" }, "monster": { "T": { "monster": "mon_mutant_experimental" } }, "place_items": [ ], + "monsters": { "m": { "monster": "GROUP_NETHER" } }, "place_monsters": [ { "monster": "GROUP_LAB", "chance": 2, "x": [ 2, 21 ], "y": [ 2, 21 ], "repeat": [ 1, 5 ] } ] } }, @@ -94,9 +95,9 @@ " |-F cc pt - h c-|c ", " |-F cc pp -cccc-|c ", " |--- -((((-| ", - "2|G 2 7-|||", + "2|G 2 t-|||", " 5 T----22---- @@-| ", - " 5 T-h 5 7-| ", + " 5 T-h 5 t-| ", "||-lll-66 5 -|||", " |-----(((222---------|c", " |-0 0 0 0 0 0 0 0 -| ", @@ -132,8 +133,8 @@ "|||u ||||- uuu-||||||", " c|ku|##|-DDd ku-|hd^= ", " c|u ||||- k-| d = ", - " c| uku( u c-| ] ", - " uk u|-k A u-|=]== ", + " c| uku( u c-| [ ", + " uk u|-k A u-|=[== ", "|||k |- ukuu -|kuk||", " u TAu u ", " kkuu k kuAc 2 ", diff --git a/data/json/mapgen/moonshine_camp.json b/data/json/mapgen/moonshine_camp.json index fcca633072381..6549096133150 100644 --- a/data/json/mapgen/moonshine_camp.json +++ b/data/json/mapgen/moonshine_camp.json @@ -49,6 +49,7 @@ "e": "t_tree_hickory", "s": "t_shrub", "t": "t_dirtfloor", + "_": "t_grass", "w": "t_grass", "|": "t_wall_wood" }, @@ -161,6 +162,7 @@ "d": "t_dirtfloor", "s": "t_shrub", "t": "t_tree_maple", + "_": "t_grass", "|": "t_wall_wood" }, "furniture": { "H": "f_wood_keg", "O": "f_fvat_empty", "^": "f_still", "a": "f_ash", "c": "f_chair" }, diff --git a/data/json/mapgen/nested/city_npc_nested_spawns.json b/data/json/mapgen/nested/city_npc_nested_spawns.json index b0f1290eb3fd3..ffcdf42162586 100644 --- a/data/json/mapgen/nested/city_npc_nested_spawns.json +++ b/data/json/mapgen/nested/city_npc_nested_spawns.json @@ -52,7 +52,7 @@ "_L.7____________________", "_L.7____________________", "_L.7____________________", - "_L.2mtb.________________", + "_L..mtb.________________", "_L....._________________", "_LLLLLL.________________" ], diff --git a/data/json/mapgen/nested/house_nested.json b/data/json/mapgen/nested/house_nested.json index 58bbbd13736b8..ffd95d71e5cbb 100644 --- a/data/json/mapgen/nested/house_nested.json +++ b/data/json/mapgen/nested/house_nested.json @@ -218,7 +218,7 @@ " O", "66EE", "66EE", - " 0" + " O" ], "palettes": [ "house_w_nest_palette" ], "items": { @@ -241,7 +241,7 @@ " O", "I EE", "h EE", - " 0" + " O" ], "palettes": [ "house_w_nest_palette" ], "items": { @@ -264,7 +264,7 @@ " O", "b EE", "H EE", - " 0" + " O" ], "palettes": [ "house_w_nest_palette" ], "items": { @@ -306,7 +306,7 @@ "mapgensize": [ 4, 4 ], "rotation": [ 0, 3 ], "rows": [ - "0 ", + "O ", "EE66", "EE66", "O " @@ -329,7 +329,7 @@ "mapgensize": [ 4, 4 ], "rotation": [ 0, 3 ], "rows": [ - "0 ", + "O ", "EE h", "EE I", "O " @@ -352,7 +352,7 @@ "mapgensize": [ 4, 4 ], "rotation": [ 0, 3 ], "rows": [ - "0 ", + "O ", "EE H", "EE b", "O " @@ -1332,8 +1332,8 @@ "mapgensize": [ 3, 3 ], "rotation": [ 0, 3 ], "rows": [ - "T @", - "T @", + "L @", + "L @", "C @" ], "palettes": [ "house_w_nest_palette" ], diff --git a/data/json/mapgen/nested/shelter_nested.json b/data/json/mapgen/nested/shelter_nested.json index 5ff51b39a1405..5abc0f2d314c6 100644 --- a/data/json/mapgen/nested/shelter_nested.json +++ b/data/json/mapgen/nested/shelter_nested.json @@ -78,7 +78,12 @@ " | =........c..x| ", " |||||:||+|:||||| " ], - "terrain": { "x": "t_console_broken" }, + "terrain": { + ":": [ "t_window_frame", "t_window_no_curtains" ], + "+": [ "t_door_c", "t_door_b" ], + "=": [ "t_door_b", "t_door_locked_interior", "t_door_c", "t_door_o" ], + "x": "t_console_broken" + }, "furniture": { "b": "f_bench", "c": "f_cupboard", "l": "f_locker", "S": "f_sink", "%": "f_trashcan" }, "computers": { "6": { @@ -222,15 +227,20 @@ " |...........cc.| ", " |.bbbbb........| ", " |.......l|||...| ", - " |.-----.l| =...| ", + " |.|||||.l| =...| ", " :.......l|||...: ", - " |.b.b.b...c|-+-| ", + " |.b.b.b...c||+|| ", " |.b.b.b...c|..l| ", " |.b.b.b...c|..l| ", " |..........|..l| ", " |||||:||+|:||||| " ], - "terrain": { "x": "t_console_broken" }, + "terrain": { + "x": "t_console_broken", + ":": [ "t_window_frame", "t_window" ], + "+": [ "t_door_c", "t_door_b" ], + "=": [ "t_door_b", "t_door_locked_interior", "t_door_c", "t_door_o" ] + }, "furniture": { "b": "f_bench", "c": "f_cupboard", "l": "f_locker", "S": "f_sink", "%": "f_trashcan" }, "computers": { "6": { @@ -275,9 +285,9 @@ " |...........cc.| ", " |.bbbbb........| ", " |.......l|||...| ", - " |.-----.l| =...| ", + " |.|||||.l| =...| ", " :.......l|||...: ", - " |.b.b.b...c|-+-| ", + " |.b.b.b...c||+|| ", " |.b.b.b...c|..l| ", " |.b.b.b...c|..l| ", " |..........|..l| ", @@ -333,6 +343,16 @@ ], "terrain": { " ": "t_null" }, "furniture": { "b": "f_bench", "c": "f_cupboard", "l": "f_locker", "S": "f_sink", "%": "f_trashcan" }, + "computers": { + "6": { + "name": "Evac shelter computer", + "options": [ + { "name": "Emergency Message", "action": "emerg_mess" }, + { "name": "Disable External Power", "action": "complete_disable_external_power" }, + { "name": "Contact Us", "action": "emerg_ref_center" } + ] + } + }, "items": { "l": { "item": "SUS_evac_shelter_locker", "chance": 70 }, "c": { "item": "SUS_evac_shelter_cabinet", "chance": 50 } } } }, @@ -353,22 +373,28 @@ " |||||||||%......l| ", " |*|cccc6........l| ", " |.=.............l| ", - " |--|.............||| ", + " ||||.............||| ", " |b.....bbbbb...b..b| ", " :b..b..........b..b: ", " |b..b...llll...b..b| ", - " |b..b...|--|...b..b| ", + " |b..b...||||...b..b| ", " |b..b..........b..b| ", " |b..b..........b..b| ", - " :b..b...|--|...b..b: ", + " :b..b...||||...b..b: ", " |b..b...llll...b..b| ", " |b..b..........b..b| ", - " |--.....bbbb.....||| ", + " |||.....bbbb.....||| ", " |l..............x| ", " ||||||||||......c| ", " ||:|+|:|| " ], - "terrain": { "x": "t_console_broken" }, + "terrain": { + ":": [ "t_window_frame", "t_window_no_curtains" ], + "+": [ "t_door_c", "t_door_b" ], + "=": [ "t_door_b", "t_door_locked_interior", "t_door_c", "t_door_o" ], + "*": "t_ladder_up", + "x": "t_console_broken" + }, "furniture": { "b": "f_bench", "c": "f_cupboard", "l": "f_locker", "S": "f_sink", "%": "f_trashcan" }, "computers": { "6": { @@ -410,17 +436,17 @@ " |||||||||%......l| ", " |*|cccc6........l| ", " |.=.............l| ", - " |--|.............||| ", + " ||||.............||| ", " |b.....bbbbb...b..b| ", " :b..b..........b..b: ", " |b..b...llll...b..b| ", - " |b..b...|--|...b..b| ", + " |b..b...||||...b..b| ", " |b..b..........b..b| ", " |b..b..........b..b| ", - " :b..b...|--|...b..b: ", + " :b..b...||||...b..b: ", " |b..b..........b..b| ", " |b..b..........b..b| ", - " |--.....bbbb.....||| ", + " |||.....bbbb.....||| ", " |l..............x| ", " ||||||||||......c| ", " ||:|+|:|| " @@ -429,7 +455,9 @@ ":": [ "t_window_frame", "t_window" ], "+": [ "t_door_c", "t_door_b" ], "=": [ "t_door_b", "t_door_locked_interior", "t_door_c", "t_door_o" ], - "6": [ "t_console", "t_console_broken" ] + "*": "t_ladder_up", + "6": [ "t_console", "t_console_broken" ], + "x": "t_console_broken" }, "furniture": { "b": "f_bench", "c": "f_cupboard", "l": [ [ "f_locker", 2 ], "f_wreckage" ], "S": "f_sink", "%": "f_trashcan" }, "items": { diff --git a/data/json/mapgen/office_cubical.json b/data/json/mapgen/office_cubical.json index 0b74ccb420795..336462507c51a 100644 --- a/data/json/mapgen/office_cubical.json +++ b/data/json/mapgen/office_cubical.json @@ -140,7 +140,7 @@ " $$$$$$##$ssss$##$$$$$$ ", " ##WWWW##$ssss$##WWWW## ", " #^....^#$ssss$#Y????^##", - " #.KttK.###++###..tta.o#", + " #.KttK.###++###..ttK.o#", " #.KttK.|Y.UU.Y|......o#", " #.KttK.+..UU..+.ceec.o#", " #.KttK.+..UU..|.----+##", diff --git a/data/json/mapgen/park.json b/data/json/mapgen/park.json index 3e323d5b0b16e..b1cada928c3c3 100644 --- a/data/json/mapgen/park.json +++ b/data/json/mapgen/park.json @@ -285,7 +285,7 @@ "b": "t_dirt", "P": "t_dirt", "&": "t_dirt", - "s": "t_sidewalk", + "_": "t_sidewalk", "t": "t_region_tree_shade", "z": "t_region_shrub_decorative", "~": "t_water_pool_shallow" diff --git a/data/json/mapgen/pawn_shop.json b/data/json/mapgen/pawn_shop.json index 3e28a0f1d95a5..40bfe2f43a618 100644 --- a/data/json/mapgen/pawn_shop.json +++ b/data/json/mapgen/pawn_shop.json @@ -28,7 +28,7 @@ ".|{ ## + dh }|4", ".|{ ## |-^-| d }|.", ".|{ ## | | }|.", - ".|{ |$ &|{} }|.", + ".|{ |S &|{} }|.", ".------------------*---.", "..............'U# ", "..... ------##### ", - ",.... " + "..... " ], "terrain": { ".": "t_tar_flat_roof", diff --git a/data/json/mapgen/post_office.json b/data/json/mapgen/post_office.json index 058bfa8cf26dd..dc74036ea6fce 100644 --- a/data/json/mapgen/post_office.json +++ b/data/json/mapgen/post_office.json @@ -197,6 +197,7 @@ "+": "t_door_glass_c", "-": "t_wall_w", ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ], + "_": "t_floor", "4": "t_tree_pine", "7": "t_tree_apple", "D": "t_door_c", diff --git a/data/json/mapgen/roadstop.json b/data/json/mapgen/roadstop.json index 64655e37e63ef..5cf1c4fffd72b 100644 --- a/data/json/mapgen/roadstop.json +++ b/data/json/mapgen/roadstop.json @@ -72,7 +72,7 @@ "...... .. ......", "...... .. ......", ".A.... ...A..", - ".+.&.. .. ...=..", + ".=.&.. .. ...=..", "...... .. ......", "...... .. ...&..", "...... .. ......", diff --git a/data/json/mapgen/robofachq_static.json b/data/json/mapgen/robofachq_static.json index 055c1c9b74b10..3c7ca357af165 100644 --- a/data/json/mapgen/robofachq_static.json +++ b/data/json/mapgen/robofachq_static.json @@ -162,8 +162,8 @@ "#|Y Y Y |Y Y 5Y G Y ^|########", "#|iii |====[[||=====|===[=|===[|[==||==[=||2||2|||[=======|| |||=====||||||2|||2||||########", "#||||||||| ^| hd^|^ H| | |^ |f ff f| d dh dh| |Y Y^|;2Y | Y2;|########", - "#########|dd ] dh|h t|h h | | d |f ff f| dh d d | 2 hhhhh ^||| ||| |||########", - "#########| h ] hh |6dd H|ddd |6dd |hd |f ff f| Y Y| 2 ttttt ^|;2Y i|i Y2;|########", + "#########|dd [ dh|h t|h h | | d |f ff f| dh d d | 2 hhhhh ^||| ||| |||########", + "#########| h [ hh |6dd H|ddd |6dd |hd |f ff f| Y Y| 2 ttttt ^|;2Y i|i Y2;|########", "#########|dd dd|Y |h YB|Yh |Yhd |^ Y|f f| d d dh| | hhh h ^||| i|i |||########", "#########|Yh h|BBBB^|^^BBB|A6^^| |BBBB|ffffff| dh d d |^^|Y h Y^|;2Y i|i Y2;|########", "#########|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||########", @@ -211,6 +211,7 @@ { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] } ] }, + "monster": { "T": { "monster": "mon_turret_rifle" } }, "npcs": { "G": { "class": "hub_security" }, "Q": { "class": "hub_security_head" } } } }, @@ -247,7 +248,7 @@ "####|,,,,=& ^MMM^ ^MMM^ Y [eeeeee[CCCC.dG=,,,,,,,= ( [ % % r|######", "####|,,,,=& ^MMM^ ^MMM^ Y [eeeeee[CCCC dh=,,,,,,,=<( [ AAAA Y Y r|######", "####|,,,,[Y =Eeeeee| CC ^=,,,,,,,=[( bb Y= A r|######", - "####|,,,,= htth htth hth h ^|G ,,|======|| CC ||====]==== ==========AAAA 1P P P P|######", + "####|,,,,= htth htth hth h ^|G ,,|======|| CC ||====[==== ==========AAAA P P P P|######", "####|,,,,= htth htth t ^|^bb^ ,,,,,R'''RYCC Y =,,,,,,,,|PPPPPPP P P P|######", "####|,,,,= MM Y RRRRRR CC ||=========||22||========|||||||||||||||######", @@ -258,11 +259,11 @@ "#||||||||| hth YY htth|##|'''''''''''''''(Y Y|BBBBBBBBBBBBBBBBBBBBBBBB|####################", "#|iii | |||||||||||||||||||||||||||||||||||22|||||||||||||||||||||||||||||||||||############", "#|Y Y Y | ^|##|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|^ t ^ |~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|############", - "#|2|2|2| | ^|##|~ i|~ i|~ i|~ i|~ i|~ i|? H^ htth |~ i|~ i|~ i|~ i|~ i|~ i|~ i|||||||||||||", + "#|2|2|2| | ^|##|~ i|~ i|~ i|~ i|~ i|~ i|? a^ htth |~ i|~ i|~ i|~ i|~ i|~ i|~ i|||||||||||||", "#|;|;|;|Y ^|##||2|||2|||2|||2|||2|||2||? t ^ htth ||2|||2|||2|||2|||2|||2|||2||~2 |@@ D @@|", - "#|||||||Y ^|##|@ D|@ D|@ D|@ D|@ D|@ D|? t H^ |@ D|@ D|@ D|@ D|@ D|@ D| D||| |D @ D|", + "#|||||||Y ^|##|@ D|@ D|@ D|@ D|@ D|@ D|? t a^ |@ D|@ D|@ D|@ D|@ D|@ D| D||| |D @ D|", "#|;|;|;|Y|YY^|##|@ D|@ D|@ D|@ D|@ D|@ D| htth |@ D|@ D|@ D|@ D|@ D|@ D| D|~2 |@@ @ @@|", - "#|2|2|2| |||||||||5|||5|||5|||5|||5|||2||Ht H ||5|||5|||5|||5|||5|||5|||5||||2|D D|", + "#|2|2|2| |||||||||5|||5|||5|||5|||5|||2||at a ||5|||5|||5|||5|||5|||5|||5||||2|D D|", "#|Y Y Y |###|,,,=Y Y 2 S @@|", "#|iii |###|,,,=Y Y 2 D|", "#|||||||||###|||||5|||5|||5|||5|||5|||2||G ? t ?||5|||5|||5|||5|||5|||5|||5||||2| @@|", @@ -290,6 +291,7 @@ "furniture": { "K": "f_counter", "M": "f_counter", + "S": "f_table", "A": "f_canvas_wall", "%": "f_canvas_door", "E": "f_ergometer", @@ -301,6 +303,11 @@ "p": { "item": { "item": "seed_wheat" }, "furniture": "f_planter_mature" } }, "items": { + "S": [ + { "item": "tools_robotics", "chance": 30, "repeat": [ 1, 3 ] }, + { "item": "robots", "chance": 50, "repeat": [ 1, 3 ] }, + { "item": "supplies_electronics", "chance": 50, "repeat": [ 1, 3 ] } + ], "F": { "item": "fridge", "chance": 80, "repeat": [ 2, 6 ] }, "@": { "item": "bed", "chance": 80 }, "M": [ @@ -374,9 +381,9 @@ "#|||||||Y ^|||||2|BY HtH| G|2|||||| hy|SY G Y= Y|", "#|;|;|;|Y|YY^|S |||||||||| A Y|S SSSSS hS hS sh= |", "#|2|2|2| |||||Sh SS6 SSS= y% Y|| SSSSS SS SS SS= SSS t 7966 6|", - "#|Y Y Y |###|S h ] Y% SSS Y2Y G ]Y hSSS t 7966 6|", - "#|iii |###|S 2 66 A h6SS Y2Y G Y]Y 688 t Y|", - "#|||||||||###|||||2|========|]=====]=======|AA%AA|AAAAA||yyyyyyyyyyyyyyyyyy = 9 t &&66 6|", + "#|Y Y Y |###|S h [ Y% SSS Y2Y G [Y hSSS t 7966 6|", + "#|iii |###|S 2 66 A h6SS Y2Y G Y[Y 688 t Y|", + "#|||||||||###|||||2|========|[=====[=======|AA%AA|AAAAA||yyyyyyyyyyyyyyyyyy = 9 t &&66 6|", "#############|l ll |Sh SSSS|h d| y6 y = 9 &&66 6|", "#############|l l |SSSSS 6| hhdA y y =t8898888 7|", "#############|l l|S hS| h hdA y y =Y 6 7|", @@ -407,6 +414,7 @@ "A": "f_canvas_wall", "%": "f_canvas_door", "H": "f_armchair", + "M": "f_server", "E": "f_ergometer", "T": "f_treadmill", "X": "f_exercise" @@ -443,10 +451,10 @@ "#####################################||||||||||^ ^| h h|####################################", "#####################################|rrrrrrrr|^ ^| |####################################", "#####################################|r r|| ||||2|||####################################", - "#####################################|r YY 2 (t G|####################################", - "#####################################|||||||||| YY (thY G|####################################", - "#####################################|bbbbbbbb| YY (t Y G|####################################", - "#####################################|Y Y2 ( G|####################################", + "#####################################|r YY 2 (t r|####################################", + "#####################################|||||||||| YY (thY r|####################################", + "#####################################|bbbbbbbb| YY (t Y r|####################################", + "#####################################|Y Y2 ( r|####################################", "#####################################| llllll ||2222||||2|||####################################", "#####################################|2||||||2|^ Y^|####################################", "#####################################| ~| |~ |^ Y^|####################################", @@ -602,6 +610,7 @@ "terrain": { "-": "t_wall_metal", "e": "t_elevator", + "w": "t_water_pool_shallow", "E": "t_elevator_control", "Y": "t_thconc_floor_olight", "#": "t_rock", diff --git a/data/json/mapgen/s_coffee.json b/data/json/mapgen/s_coffee.json index f7423cec4e08c..6b005ff91ba5b 100644 --- a/data/json/mapgen/s_coffee.json +++ b/data/json/mapgen/s_coffee.json @@ -462,7 +462,7 @@ "__|..................3__", "__|..................3__", "__|..................3__", - "__|......>.........:.3__", + "__|......>...........3__", "__|.......311111151113__", "__|.......3_____________", "__|.......3_____________", diff --git a/data/json/mapgen/s_gas.json b/data/json/mapgen/s_gas.json index 9c791dada4eee..5f276fe967f29 100644 --- a/data/json/mapgen/s_gas.json +++ b/data/json/mapgen/s_gas.json @@ -10,7 +10,7 @@ "........................", ".-----..................", ".|...|..........sss.....", - ".|.Q.|...........&s.....", + ".|...|...........&s.....", ".|...|...........1s.....", ".|...|P..........2s.....", ".--+--..........sss.....", @@ -32,7 +32,7 @@ "...s9s...........s9s....", "........................" ], - "place_terrain": [ { "ter": "t_gas_tank", "x": 3, "y": 5 } ], + "place_terrain": [ { "ter": "t_gas_tank", "x": 3, "y": 3 } ], "terrain": { "&": "t_atm", "+": "t_chaingate_l", @@ -45,7 +45,7 @@ "furniture": { "9": "f_aut_gas_console" }, "signs": { "P": { "signage": "Danger! Do not smoke! Risk of explosion!" } }, "vendingmachines": { "1": { "item_group": "vending_drink" }, "2": { "item_group": "vending_food" } }, - "place_liquids": [ { "liquid": "gasoline", "x": 3, "y": 5, "repeat": [ 200, 1075 ] } ] + "place_liquids": [ { "liquid": "gasoline", "x": 3, "y": 3, "repeat": [ 200, 1075 ] } ] } }, { diff --git a/data/json/mapgen/s_liquor.json b/data/json/mapgen/s_liquor.json index 8641eb5bd31e5..c3b46ee2a130c 100644 --- a/data/json/mapgen/s_liquor.json +++ b/data/json/mapgen/s_liquor.json @@ -96,7 +96,7 @@ " |................3 ", " |................3 ", " |.&..............3 ", - " |.+..............3 ", + " |.=..............3 ", " -5----...........3 ", " |......>....3 ", " |...........3 ", diff --git a/data/json/mapgen/thrift.json b/data/json/mapgen/thrift.json index 38235c65869ac..baf5ae9c74daf 100644 --- a/data/json/mapgen/thrift.json +++ b/data/json/mapgen/thrift.json @@ -48,6 +48,7 @@ "E": "t_dirtfloor", "G": "t_dirtfloor", "g": "t_door_glass_c", + "o": "t_carpet_purple", "r": "t_pavement", "y": "t_pavement_y", "|": "t_wall_w", diff --git a/data/json/mapgen_palettes/bandit_camp.json b/data/json/mapgen_palettes/bandit_camp.json index c1e5d207f9254..05e59371d4cbb 100644 --- a/data/json/mapgen_palettes/bandit_camp.json +++ b/data/json/mapgen_palettes/bandit_camp.json @@ -23,6 +23,7 @@ "terrain": { "#": "t_wall_log", "%": "t_region_shrub", + "$": [ [ "t_region_groundcover_forest", 2 ], "t_region_shrub", "t_region_tree" ], "+": "t_door_c", ",": "t_region_groundcover", ".": "t_rock_floor", diff --git a/data/json/mapgen_palettes/collapsed_tower.json b/data/json/mapgen_palettes/collapsed_tower.json index b77bcc940242f..572aa037bbbca 100644 --- a/data/json/mapgen_palettes/collapsed_tower.json +++ b/data/json/mapgen_palettes/collapsed_tower.json @@ -15,11 +15,13 @@ ">": "t_stairs_down", "D": "t_door_metal_locked", "E": "t_elevator_control", + "T": "t_region_tree_shade", "[": "t_fence_v", "_": "t_pavement", "c": "t_door_locked", "e": "t_elevator", "l": "t_floor", + "r": "t_carpet_red", "s": "t_sidewalk", "w": "t_door_c", "y": "t_pavement_y", diff --git a/data/json/mapgen_palettes/helipad.json b/data/json/mapgen_palettes/helipad.json index 5fd5e057155cb..2897a2a5c4449 100644 --- a/data/json/mapgen_palettes/helipad.json +++ b/data/json/mapgen_palettes/helipad.json @@ -78,6 +78,14 @@ "D": "t_flat_roof", ">": "t_stairs_down" }, - "furniture": { "L": "f_locker", "b": "f_bed", "h": "f_shower", "S": "f_sink", "t": "f_table", "D": "f_small_satelitte_dish" } + "furniture": { + "L": "f_locker", + "b": "f_bed", + "h": "f_shower", + "S": "f_sink", + "j": "f_bench", + "t": "f_table", + "D": "f_small_satelitte_dish" + } } ] diff --git a/data/json/mapgen_palettes/hotel_tower_palette.json b/data/json/mapgen_palettes/hotel_tower_palette.json index 7be076aff6d74..6a0b5d0f93b39 100644 --- a/data/json/mapgen_palettes/hotel_tower_palette.json +++ b/data/json/mapgen_palettes/hotel_tower_palette.json @@ -9,6 +9,7 @@ "d": "f_dresser", "o": "f_counter", "D": "f_dryer", + "Y": "f_rack_coat", "^": [ "f_indoor_plant_y", "f_indoor_plant" ], "h": "f_chair", "r": "f_rack", diff --git a/data/json/mapgen_palettes/house_w_palette.json b/data/json/mapgen_palettes/house_w_palette.json index b4844b361a8c2..7d83fa5b9f07c 100644 --- a/data/json/mapgen_palettes/house_w_palette.json +++ b/data/json/mapgen_palettes/house_w_palette.json @@ -101,6 +101,7 @@ "X": "f_birdbath", "Y": "f_trashcan", "Z": "f_dryer", + "a": [ "f_floor_lamp", "f_rack_coat" ], "d": "f_shower", "g": "f_water_heater", "h": "f_fireplace", diff --git a/data/json/mapgen_palettes/junkyard_palette.json b/data/json/mapgen_palettes/junkyard_palette.json index d1984b32dff3c..77b34233e0952 100644 --- a/data/json/mapgen_palettes/junkyard_palette.json +++ b/data/json/mapgen_palettes/junkyard_palette.json @@ -13,6 +13,7 @@ "D": "t_door_c", "S": "t_sidewalk", "q": "t_door_metal_locked", + "f": "t_floor", "c": "t_carpet_red", "n": "t_carpet_red", "r": "t_reinforced_door_glass_c", diff --git a/data/json/mapgen_palettes/lumberyard.json b/data/json/mapgen_palettes/lumberyard.json index c26e56559c270..73b3aa7dfcf2d 100644 --- a/data/json/mapgen_palettes/lumberyard.json +++ b/data/json/mapgen_palettes/lumberyard.json @@ -16,6 +16,7 @@ ".": "t_thconc_floor", "6": "t_gates_mech_control", "@": "t_machinery_heavy", + "G": "t_generator_broken", "=": "t_conveyor", "+": "t_door_c", "!": "t_door_locked_interior", diff --git a/data/json/mapgen_palettes/mi-go_palette.json b/data/json/mapgen_palettes/mi-go_palette.json index ca12d333a4a67..9aa197311db2c 100644 --- a/data/json/mapgen_palettes/mi-go_palette.json +++ b/data/json/mapgen_palettes/mi-go_palette.json @@ -2,8 +2,19 @@ { "type": "palette", "id": "mi-go_palette", - "//": "Please don't assign numbers in this palette: due to the weird shape of rooms, numbers are used to identify nested map IDs.", + "//": "Due to the weird shape of rooms, numbers (and the letter a) are used to identify nested map IDs, so they have no special meaning in the palette.", "terrain": { + "0": "t_floor_resin", + "1": "t_floor_resin", + "2": "t_floor_resin", + "3": "t_floor_resin", + "4": "t_floor_resin", + "5": "t_floor_resin", + "6": "t_floor_resin", + "7": "t_floor_resin", + "8": "t_floor_resin", + "9": "t_floor_resin", + "a": "t_floor_resin", " ": "t_floor_resin", ",": "t_platform_resin", "|": "t_wall_resin", diff --git a/data/json/mapgen_palettes/movie_theater_palette.json b/data/json/mapgen_palettes/movie_theater_palette.json index 5c53aa82be8c4..87e6569e2813e 100644 --- a/data/json/mapgen_palettes/movie_theater_palette.json +++ b/data/json/mapgen_palettes/movie_theater_palette.json @@ -39,6 +39,7 @@ "f": "t_carpet_purple", "e": "t_carpet_purple", ".": "t_thconc_floor", + "_": "t_floor", "!": "t_brick_wall", "|": "t_wall_b", "%": "t_wall_glass", diff --git a/data/json/mapgen_palettes/necropolis/necropolis_b2.json b/data/json/mapgen_palettes/necropolis/necropolis_b2.json index 39682096424af..623867b26765b 100644 --- a/data/json/mapgen_palettes/necropolis/necropolis_b2.json +++ b/data/json/mapgen_palettes/necropolis/necropolis_b2.json @@ -14,6 +14,7 @@ "O": "f_oven", "P": "f_indoor_plant", "S": "f_sink", + "T": "f_toilet", "U": "f_statue", "Z": "f_crate_o", "b": "f_bench", diff --git a/data/json/mapgen_palettes/private_resort.json b/data/json/mapgen_palettes/private_resort.json index dbce63ed36fad..39d90a1e3ec47 100644 --- a/data/json/mapgen_palettes/private_resort.json +++ b/data/json/mapgen_palettes/private_resort.json @@ -150,6 +150,7 @@ "h": "f_shower", "a": "f_sofa", "c": "f_chair", + "f": "f_glass_fridge", "]": "f_fridge", "S": "f_sink", "7": "f_deckchair", diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index 82393003a3f75..24b1acc009804 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -2283,7 +2283,7 @@ "skill_used": "cooking", "difficulty": 3, "charges": 1, - "time": "1 h 30 m", + "time": "1 h 15 m", "batch_time_factors": [ 50, 4 ], "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], diff --git a/data/json/vehicle_groups.json b/data/json/vehicle_groups.json index f3b104cc94eb6..4c99fa432f5ab 100644 --- a/data/json/vehicle_groups.json +++ b/data/json/vehicle_groups.json @@ -325,7 +325,6 @@ [ "suv_electric", 120 ], [ "car_mini", 300 ], [ "beetle", 500 ], - [ "bubble_car", 20 ], [ "pickup", 600 ], [ "hippie_van", 700 ], [ "4x4_car", 500 ] @@ -392,7 +391,6 @@ "type": "vehicle_group", "id": "parkinglotbasic", "vehicles": [ - [ "bubble_car", 50 ], [ "car_sports_electric", 100 ], [ "cube_van", 1000 ], [ "car_mini", 375 ], @@ -476,7 +474,6 @@ "vehicles": [ [ "electric_car", 100 ], [ "suv_electric", 70 ], - [ "bubble_car", 60 ], [ "rara_x", 40 ], [ "car_sports", 30 ], [ "car_sports_electric", 20 ] @@ -547,7 +544,6 @@ "type": "vehicle_group", "id": "parking_garage", "vehicles": [ - [ "bubble_car", 200 ], [ "4x4_car", 200 ], [ "car_sports_electric", 100 ], [ "car_mini", 375 ], diff --git a/data/mods/Aftershock/vehicles/vehicle_groups.json b/data/mods/Aftershock/vehicles/vehicle_groups.json index e83e163fc5834..b2c7df5e40134 100644 --- a/data/mods/Aftershock/vehicles/vehicle_groups.json +++ b/data/mods/Aftershock/vehicles/vehicle_groups.json @@ -23,6 +23,27 @@ [ "compact_atomic", 300 ] ] }, + { + "id": "parkinglotbasic", + "type": "vehicle_group", + "vehicles": [ [ "bubble_car", 50 ] ] + }, + { + "type": "vehicle_group", + "id": "parking_garage", + "vehicles": [ [ "bubble_car", 200 ] ] + }, + { + "type": "vehicle_group", + "id": "junkyard_vehicles", + "vehicles": [ [ "bubble_car", 20 ] ] + }, + { + "type": "vehicle_group", + "id": "oa_vg_cs_vehicles", + "//": "For cs_car_showroom", + "vehicles": [ [ "bubble_car", 60 ] ] + }, { "id": "highway", "type": "vehicle_group", diff --git a/doc/DEVELOPER_TOOLING.md b/doc/DEVELOPER_TOOLING.md index 439fe3442c919..d87545d13a49e 100644 --- a/doc/DEVELOPER_TOOLING.md +++ b/doc/DEVELOPER_TOOLING.md @@ -42,6 +42,11 @@ On Windows, there is an [AStyle extension for Visual Studio](https://github.com/ See the [JSON style guide](JSON_STYLE.md). +## ctags + +In addition to the usual means of creating a `tags` file via e.g. [`ctags`](http://ctags.sourceforge.net/), we provide `tools/json_tools/cddatags.py` to augment a `tags` file with locations of definitions taken from CDDA JSON data. `cddatags.py` is designed to safely update a tags file containing source code tags, so if you want both types of tag in your `tags` file then you can run `ctags -R . && tools/json_tools/cddatags.py`. Alternatively, there is a rule in the `Makefile` to do this for you; just run `make ctags` or `make etags`. + + ## clang-tidy Cataclysm has a [clang-tidy configuration file](../.clang-tidy) and if you have diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index 3443dd76c5bc0..bfb54f0326c44 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -3,6 +3,7 @@ Use the `Home` key to return to the top. - [Introduction](#introduction) +- [Navigating the JSON](#navigating-the-json) - [File descriptions](#file-descriptions) * [`data/json/`](#datajson) * [`data/json/items/`](#datajsonitems) @@ -162,6 +163,16 @@ Use the `Home` key to return to the top. # Introduction This document describes the contents of the json files used in Cataclysm: Dark days ahead. You are probably reading this if you want to add or change content of Catacysm: Dark days ahead and need to learn more about what to find where and what each file and property does. +# Navigating the JSON +A lot of the JSON involves cross-references to other JSON entities. To make it easier to navigate, we provide a script `tools/json_tools/cddatags.py` that can build a `tags` file for you. + +To run the script you'll need Python 3. On Windows you'll probably need to install that, and associate `.py` files with Python. Then open a command prompt, navigate to your CDDA folder, and run `tools\json_tools\cddatags.py`. + +To use this feature your editor will need [ctags support](http://ctags.sourceforge.net/). When that's working you should be able to easily jump to the definition of any entity. For example, by positioning your cursor over an id and hitting the appropriate key combination. + +* In Vim, this feature exists by default, and you can jump to a definition using [`^]`](http://vimdoc.sourceforge.net/htmldoc/tagsrch.html#tagsrch.txt). +* In Notepad++ go to "Plugins" -> "Plugins Admin" and enable the "TagLEET" plugin. Then select any id and press Alt+Space to open the references window. + # File descriptions Here's a quick summary of what each of the JSON files contain, broken down by folder. This list is not comprehensive, but covers the broad strokes. diff --git a/tools/json_tools/cddatags.py b/tools/json_tools/cddatags.py index 15b13bbcc0d74..06b57d1ff845a 100755 --- a/tools/json_tools/cddatags.py +++ b/tools/json_tools/cddatags.py @@ -35,8 +35,8 @@ def main(args): if filename.endswith('.json'): full_path = os.path.join(dirpath, filename) assert full_path.startswith(TOP_DIR) - relative_path = full_path[len(TOP_DIR):].lstrip('/') - with open(full_path) as file: + relative_path = full_path[len(TOP_DIR):].lstrip(os.path.sep) + with open(full_path, encoding='utf-8') as file: try: json_data = json.load(file) except Exception as err: