diff --git a/data/json/items/newspaper.json b/data/json/items/newspaper.json index a480f80a1115f..6f476b51a75b5 100644 --- a/data/json/items/newspaper.json +++ b/data/json/items/newspaper.json @@ -42,7 +42,7 @@ "price_postapoc": 0, "material": [ "paper" ], "flags": [ "TRADER_AVOID" ], - "weight": "3 g", + "weight": "12 mg", "volume": "1 ml" }, { @@ -53,6 +53,14 @@ "copy-from": "survnote", "snippet_category": "mutant_kid_boss" }, + { + "type": "GENERIC", + "id": "toxic_waste_labnote", + "copy-from": "survnote", + "name": { "str": "forgotten note" }, + "description": "This grimy note seems out of place, as if someone lost it.", + "snippet_category": "toxic_waste_corpse_disposal" + }, { "type": "GENERIC", "id": "lab_postit_bio", diff --git a/data/json/mapgen/map_extras/toxic_waste.json b/data/json/mapgen/map_extras/toxic_waste.json new file mode 100644 index 0000000000000..1cda6ef7126e6 --- /dev/null +++ b/data/json/mapgen/map_extras/toxic_waste.json @@ -0,0 +1,213 @@ +[ + { + "id": "toxic_waste_mx", + "type": "item_group", + "items": [ + { "item": "sewage", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 126, "prob": 40 }, + { "item": "water_sewage", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 126, "prob": 40 }, + { "item": "fetid_goop", "container-item": "55gal_drum", "charges-min": 26, "charges-max": 200, "prob": 30 }, + { + "item": "meat_mutant_tainted", + "container-item": "55gal_drum", + "charges-min": 3, + "charges-max": 15, + "prob": 1 + }, + { "item": "veggy_tainted", "container-item": "55gal_drum", "charges-min": 3, "charges-max": 50, "prob": 2 }, + { "group": "toxic_waste_mx_chems", "prob": 35 }, + { "item": "55gal_drum", "prob": 50 }, + { "item": "canister_goo", "prob": 5 }, + { "item": "slime_scrap", "prob": 10 } + ] + }, + { + "id": "toxic_waste_mx_chems", + "type": "item_group", + "items": [ + { "item": "chem_acetone", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 32, "prob": 10 }, + { "item": "chem_toluene", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 16, "prob": 5 }, + { "item": "chem_glycerol", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 32, "prob": 5 }, + { "item": "chem_ethanol", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 100, "prob": 20 }, + { "item": "methed_alcohol", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 32, "prob": 10 }, + { "item": "chem_methanol", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 16, "prob": 10 }, + { "item": "diesel", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 52, "prob": 15 }, + { "item": "motor_oil", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 52, "prob": 15 }, + { "item": "chem_turpentine", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 100, "prob": 15 }, + { "item": "camphine", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 32, "prob": 5 }, + { "item": "gasoline", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 52, "prob": 5 }, + { "item": "bleach", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 52, "prob": 10 }, + { "item": "lye", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 52, "prob": 10 }, + { + "item": "chem_sulphuric_acid", + "container-item": "55gal_drum", + "charges-min": 1, + "charges-max": 16, + "prob": 5 + } + ] + }, + { + "id": "toxic_waste_mx_radioactive", + "type": "item_group", + "items": [ + { "item": "cobalt_60", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 12, "prob": 5 }, + { "item": "plutonium", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 3, "prob": 1 }, + { "item": "plut_slurry", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 45, "prob": 50 }, + { "item": "plut_slurry_dense", "container-item": "55gal_drum", "charges-min": 1, "charges-max": 45, "prob": 30 } + ] + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "toxic_gas_vent", + "object": { + "mapgensize": [ 1, 1 ], + "place_fields": [ { "field": "fd_gas_vent", "x": 0, "y": 0, "intensity": 3, "age": 0 } ], + "//": "Random chemicals mixed together is bound to create toxic gas, also makes it harder to get to any loot.", + "place_loot": [ { "group": "toxic_waste_mx_chems", "x": 0, "y": 0, "repeat": [ 2, 3 ] } ], + "set": [ { "point": "terrain", "id": "t_pit", "x": 0, "y": 0 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "toxic_waste_fence_radioactive", + "object": { + "mapgensize": [ 11, 11 ], + "rows": [ + "|---------|", + "| |", + "| |", + "| |", + "| |", + "| |", + "| |", + "| |", + "| |", + "|---------|", + " " + ], + "set": [ { "square": "radiation", "amount": [ 10, 30 ], "x": 0, "y": 0, "x2": 10, "y2": 10 } ], + "place_loot": [ { "group": "toxic_waste_mx_radioactive", "x": [ 2, 7 ], "y": [ 2, 7 ], "repeat": 2 } ], + "//": "Try to make it either fence or nothing - a lot of fence posts without fence next to each other may look weird.", + "terrain": { + "|": [ [ "t_chainfence", 5 ], "t_chainfence_posts", [ "t_grass_dead", 4 ] ], + "-": [ [ "t_chainfence", 5 ], "t_chainfence_posts", [ "t_grass_dead", 4 ] ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "toxic_waste_lab_corpses", + "//": "Lore. Lab folks may dump their now dead, useless and perhaps incriminating experiments there to get rid of them.", + "object": { + "mapgensize": [ 3, 3 ], + "place_corpses": [ { "group": "GROUP_TOXIC_WASTE_CORPSES", "x": [ 0, 2 ], "y": [ 0, 2 ] } ], + "place_item": [ { "item": "toxic_waste_labnote", "x": [ 0, 2 ], "y": [ 0, 2 ], "chance": 40 } ] + } + }, + { + "type": "monstergroup", + "name": "GROUP_TOXIC_WASTE", + "monsters": [ + { "monster": "mon_sewer_rat", "weight": 60 }, + { "monster": "mon_blob", "weight": 30 }, + { "monster": "mon_zombie_hazmat", "weight": 10 } + ] + }, + { + "type": "monstergroup", + "name": "GROUP_TOXIC_WASTE_CORPSES", + "monsters": [ + { "monster": "mon_mutant_experimental", "weight": 60 }, + { "monster": "mon_mutant_antler", "weight": 30 }, + { "monster": "mon_mutant_arthropod", "weight": 10 } + ] + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_toxic_waste", + "object": { + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " # ", + " ---! -- ", + " - -%^~- ", + " --~-~---^ ", + " -~~~~~~-- ", + " ! ---~~--- ", + " -~-%-- - ", + " --^-~-~- ", + " ---~ ! ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "terrain": { "~": [ "t_sewage" ], "-": [ "t_sewage", "t_dirt", "t_grass_dead" ], "%": [ "t_dirt", "t_grass_dead" ] }, + "furniture": { + "~": [ "f_rubble_landfill", "f_rubble", "f_wreckage", [ "f_null", 3 ] ], + "-": [ "f_rubble_landfill", "f_rubble", "f_wreckage", [ "f_null", 3 ] ] + }, + "//": "Three spawning spots, 90% chance to have at least one toxic gas vent.", + "//2": "Make radiation sort-of rare since in real life atomic compounds are strictly regulated. However, this is the Cataclysm where atomic stuff is more widely used so do not make it unobtanium.", + "//3": "Since there are two potential corpse spawning spots, make the overall chance to encounter at least one corpse 10%. Obtaining the lore note is thus at 4% per map extra.", + "nested": { + "^": { "chunks": [ [ "null", 70 ], [ "toxic_gas_vent", 30 ] ] }, + "#": { "chunks": [ [ "null", 80 ], [ "toxic_waste_fence_radioactive", 20 ] ] }, + "%": { "chunks": [ [ "null", 95 ], [ "toxic_waste_lab_corpses", 5 ] ] } + }, + "//4": "These liquids are cosmetic only because you can not pick them up. Can contain rare chemicals because of this.", + "liquids": { + "-": [ + { "liquid": "chem_acetic_acid", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "acetic_anhydride", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_acetone", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_formaldehyde", "amount": [ 1, 4 ], "chance": 140 }, + { "liquid": "chem_muriatic_acid", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_hydrogen_peroxide", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_hydrogen_peroxide_conc", "amount": [ 1, 2 ], "chance": 100 }, + { "liquid": "chem_nitric_acid", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_sulphuric_acid", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "ammonia_liquid", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "ammonia_hydroxide", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "bleach", "amount": [ 1, 4 ], "chance": 80 }, + { "liquid": "lye", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "lye_potassium", "amount": [ 1, 2 ], "chance": 150 }, + { "liquid": "ether", "amount": [ 1, 2 ], "chance": 120 }, + { "liquid": "chem_DMSO", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_chloroform", "amount": [ 1, 2 ], "chance": 130 }, + { "liquid": "chem_phenol", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_benzene", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_toluene", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_glycerol", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_ethanol", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "methed_alcohol", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "denat_alcohol", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_methanol", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "diesel", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "motor_oil", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "chem_turpentine", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "camphine", "amount": [ 1, 4 ], "chance": 100 }, + { "liquid": "soapy_water", "amount": [ 1, 4 ], "chance": 150 }, + { "liquid": "gasoline", "amount": [ 1, 4 ], "chance": 100 } + ] + }, + "monsters": { "!": { "monster": "GROUP_TOXIC_WASTE", "density": 0.1, "chance": 40 } }, + "place_loot": [ { "group": "toxic_waste_mx", "x": [ 10, 13 ], "y": [ 10, 12 ], "repeat": [ 1, 2 ] } ] + } + } +] diff --git a/data/json/overmap/map_extras.json b/data/json/overmap/map_extras.json index 621c6d106b412..f95b2bdfc7770 100644 --- a/data/json/overmap/map_extras.json +++ b/data/json/overmap/map_extras.json @@ -547,6 +547,16 @@ "generator": { "generator_method": "map_extra_function", "generator_id": "mx_reed" }, "min_max_zlevel": [ 0, 0 ] }, + { + "id": "mx_toxic_waste", + "type": "map_extra", + "name": { "str": "Toxic waste" }, + "description": "Someone dumped some toxic waste here.", + "generator": { "generator_method": "update_mapgen", "generator_id": "mx_toxic_waste" }, + "sym": "D", + "color": "magenta", + "autonote": true + }, { "id": "mx_sewer_round", "type": "map_extra", diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index 61bdcbceee312..d8fe7626099fd 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -603,6 +603,7 @@ "mx_collegekids": 25, "mx_grass": 20, "mx_science": 20, + "mx_toxic_waste": 10, "mx_crater": 10, "mx_supplydrop": 8, "mx_military": 8, @@ -638,6 +639,7 @@ "mx_drugdeal": 20, "mx_grass2": 20, "mx_fallen_shed": 20, + "mx_toxic_waste": 15, "mx_crater": 10, "mx_grass": 10, "mx_military": 8, @@ -673,6 +675,7 @@ "mx_corpses": 80, "mx_grass2": 20, "mx_grass": 10, + "mx_toxic_waste": 10, "mx_portal": 8, "mx_portal_in": 7, "mx_helicopter": 5, @@ -702,6 +705,7 @@ "mx_collegekids": 30, "mx_drugdeal": 30, "mx_corpses": 30, + "mx_toxic_waste": 10, "mx_portal": 10, "mx_portal_in": 10, "mx_science": 10, diff --git a/data/json/snippets/snippets.json b/data/json/snippets/snippets.json index b640a31223001..449533646cd77 100644 --- a/data/json/snippets/snippets.json +++ b/data/json/snippets/snippets.json @@ -347,5 +347,27 @@ "They know what you've doneā€¦", "You're feeling even more paranoid than usual." ] + }, + { + "type": "snippet", + "category": "toxic_waste_corpse_disposal", + "text": [ + { + "id": "lost_note_1", + "text": "A crumpled and dirty note containing some printed text. The text contains detailed instructions on how to dispose of \"experiments\" in remote areas." + }, + { + "id": "lost_note_2", + "text": "You see a faded map, stained with unknown fluids and riddled with holes. A route is scribbled onto it. The point of departure looks to be some kind of odd research facility." + }, + { + "id": "lost_note_3", + "text": "Some sheets of paper, folded, crinkled and wet due to exposure to the environment. It smells vile and there are faint smears of blood. A map is printed on it, depicting instructions on how to handle deceased \"experiments\" and a route to some remote site. You find it very odd that the starting point of the route is a subway station." + }, + { + "id": "lost_note_4", + "text": "This note has a chemical smell and a bloody thumbprint on it. You see directions to nearby isolated sites, mainly forests and fields. The name of the company(?) who printed this, XEDRA, sounds ominous." + } + ] } ]