From 9936cb2a39582a750621a93846f528b48123d741 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Sun, 18 Feb 2024 20:11:13 -0800 Subject: [PATCH 01/20] seaplants --- .../furniture-flora_marine.json | 96 +++++++++++++++++++ data/json/items/comestibles/raw_veggy.json | 87 +++++++++++++++++ data/json/items/generic.json | 26 +++++ 3 files changed, 209 insertions(+) create mode 100644 data/json/furniture_and_terrain/furniture-flora_marine.json diff --git a/data/json/furniture_and_terrain/furniture-flora_marine.json b/data/json/furniture_and_terrain/furniture-flora_marine.json new file mode 100644 index 0000000000000..265835c594792 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-flora_marine.json @@ -0,0 +1,96 @@ +[ + { + "type": "furniture", + "id": "f_algae_red", + "name": "red algae", + "description": "One of the thousands of species of grassy reddish marine plants that inhabit intertidal zones the world over. Its rubbery little fronds don't look particularly edible.", + "symbol": ",", + "color": "red", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC"], + "examine_action": "harvest_furn", + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "seaweed" } ], + "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } + }, + { + "type": "furniture", + "id": "f_algae_green", + "name": "green algae", + "description": "A short patch of grassy green seaweed, wholly unremarkable.", + "symbol": ",", + "color": "green", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], + "examine_action": "harvest_furn", + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "seaweed" } ], + "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } + }, + { + "type": "furniture", + "id": "f_kelp_sugar", + "name": "sugar kelp", + "description": "Also known as kombu, this brown algae grows in a single leaflike blade that can reach more than twice the height of a man. High in glutamic acids, young fronds make for excellent soup stock and can even be eaten raw.", + "symbol": "i", + "color": "brown", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SMALL_HIDE" ], + "examine_action": "harvest_furn", + "harvest_by_season": [ { "seasons": [ "spring", "summer" ], "id": "kelp_sugar" } ], + "bash": { "str_min": 8, "str_max": 16, "sound": "splat.", "sound_fail": "squelch." } + }, + { + "type": "furniture", + "id": "f_sea_lettuce", + "name": "sea lettuce", + "description": "Sometimes known as green laver, this leafy algae from the Ulva genus grows in leafy little patches around shallows and tide pools. Though small, it makes a tasty snack.", + "looks_like": "f_algae_green", + "symbol": ",", + "color": "green", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "sea_lettuce" } ], + "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } + }, + { + "type": "furniture", + "id": "f_bladderwrack", + "name": "bladderwrack", + "description": "Named for the air bladders that grow all over its leafy fronds, this leafy seaweed is technically edible and has a long history of use in folk medicine.", + "looks_like": "f_algae_green", + "symbol": ",", + "color": "green", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "bladderwrack" } ], + "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } + }, + { + "type": "furniture", + "id": "f_sea_anemone", + "name": "sea anemone", + "description": "This sessile polyp waves its stinging tentacles with the motion of the tides, hoping to capture a tiny fish or crab. It's inedible, and poses no danger to anything bigger than a shrimp.", + "symbol": "f", + "color": "pink", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "GRAZER_INEDIBLE", "ORGANIC" ], + "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } + }, + { + "type": "furniture", + "id": "f_sea_sponge", + "name": "sea sponge", + "description": "An immobile, lumpy little creature that looks nothing like a square kitchen sponge. Anchored to the sea floor, its porous body filters plankton from the water that freely passes through it.", + "symbol": "f", + "color": "pink", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "GRAZER_INEDIBLE", "ORGANIC" ], + "bash": { "str_min": 6, "str_max": 12, "sound": "splat.", "sound_fail": "squelch." } + } +] diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 977354b2e96a8..9f23f9eeed025 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -1180,5 +1180,92 @@ "flags": [ "RAW" ], "vitamins": [ [ "calcium", 9 ], [ "iron", 2 ], [ "vitC", 10 ] ], "fun": -5 + }, + { + "type": "COMESTIBLE", + "id": "seaweed", + "name": { "str_sp": "seaweed" }, + "weight": "30 g", + "color": "green", + "spoils_in": "2 days", + "comestible_type": "FOOD", + "symbol": "%", + "description": "A handful of slimy seaweed. It doesn't look edible, but properly dried, it might make for decent kindling.", + "material": [ "veggy" ], + "volume": "30 ml", + "flags": [ "SMOKABLE", "INEDIBLE" ], + "smoking_result": "dried_seaweed" + }, + { + "type": "COMESTIBLE", + "id": "seaweed_pile", + "name": { "str_sp": "pile of seaweed" }, + "weight": "600 g", + "color": "green", + "spoils_in": "2 days", + "comestible_type": "FOOD", + "symbol": "%", + "description": "A slimy heap of seaweed. It doesn't look edible, but properly dried, it might make for decent kindling.", + "material": [ "veggy" ], + "volume": "600 ml", + "flags": [ "SMOKABLE", "INEDIBLE" ], + "smoking_result": "dried_seaweed_pile" + }, + { + "type": "COMESTIBLE", + "id": "sea_lettuce", + "name": { "str_sp": "sea lettuce" }, + "weight": "50 g", + "color": "green", + "spoils_in": "2 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 12, + "description": "A bit of edible green seaweed. It makes a good snack as-is, but can be dried or prepared in a number of ways.", + "price": 10, + "price_postapoc": 10, + "material": [ "veggy" ], + "volume": "250 ml", + "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], + "smoking_result": "dry_veggy", + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] + }, + { + "type": "COMESTIBLE", + "id": "kelp_sugar", + "name": { "str_sp": "sugar kelp" }, + "weight": "50 g", + "color": "brown", + "spoils_in": "2 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 17, + "description": "A sizable strip of new growth harvested from a sugar kelp. While these are most often dried, it seems edible enough as it is.", + "price": 10, + "price_postapoc": 10, + "material": [ "veggy" ], + "volume": "250 ml", + "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], + "smoking_result": "kombu", + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] + }, + { + "type": "COMESTIBLE", + "id": "bladderwrack", + "name": { "str_sp": "bladderwrack" }, + "weight": "50 g", + "color": "brown", + "spoils_in": "2 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 17, + "description": "A leafy bunch of seaweed covered in air bladders. There are many unproven claims about its supposed health benefits, and while edible, it's a known anticoagulant and may prolong bleeding.", + "price": 10, + "price_postapoc": 10, + "material": [ "veggy" ], + "volume": "250 ml", + "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], + "smoking_result": "dried_bladderwrack", + "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ] ] } ] diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 016a6587f148f..40f777e967cf2 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -285,6 +285,32 @@ "to_hit": -2, "flags": [ "TRADER_AVOID", "TINDER" ] }, + { + "type": "GENERIC", + "id": "dried_seaweed", + "name": { "str": "dried seaweed", "str_pl": "dried seaweed" }, + "looks_like": "withered", + "description": "A handful of dried seaweed. It's tough, inedible, and possibly poisonous, but it could be burned or used for crafts.", + "weight": "12 g", + "color": "green", + "symbol": ",", + "material": [ "veggy" ], + "volume": "20 ml", + "flags": [ "TRADER_AVOID", "FIREWOOD", "TINDER" ] + }, + { + "type": "GENERIC", + "id": "dried_seaweed_pile", + "name": { "str": "pile of dried seaweed", "str_pl": "pile of dried seaweed" }, + "looks_like": "withered", + "description": "A big heap of dried seaweed. It's tough, inedible, and possibly poisonous, but it could be burned or used for crafts.", + "weight": "240 g", + "color": "green", + "symbol": ",", + "material": [ "veggy" ], + "volume": "400 ml", + "flags": [ "TRADER_AVOID", "FIREWOOD", "TINDER" ] + }, { "type": "GENERIC", "id": "superglue", From 2296e68931932ccb2c96718a87ec2223efa84db0 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Mon, 19 Feb 2024 07:39:45 -0800 Subject: [PATCH 02/20] kelp forests --- data/json/mapgen/map_extras/undersea.json | 431 ++++++++++++++++++ .../undersea_natural_palette.json | 0 2 files changed, 431 insertions(+) create mode 100644 data/json/mapgen/map_extras/undersea.json create mode 100644 data/json/mapgen_palettes/undersea_natural_palette.json diff --git a/data/json/mapgen/map_extras/undersea.json b/data/json/mapgen/map_extras/undersea.json new file mode 100644 index 0000000000000..b36da00794ffc --- /dev/null +++ b/data/json/mapgen/map_extras/undersea.json @@ -0,0 +1,431 @@ +[ +{ + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_patch", + "object": { + "rows": [ + " 111111111 ", + " 111111111111111 ", + " 1111111222221111111 ", + " 11111222223322211111 ", + " 111222223232323221111 ", + " 1111222333333322221111 ", + " 1112223333333332322111 ", + "111122333344333322221111", + "111222233333443322222111", + "111232334242424242422111", + "111223342424243434222111", + "111232344342433332222111", + "111222233344243424222111", + "111232234243424342222111", + "111222334333344332222111", + "111222223344333322222111", + "111122323333333223221111", + " 1112222223344333222111 ", + " 1121222223333422421111 ", + " 1112121124142424221111 ", + " 11111231232321111111 ", + " 11112121112211111111 ", + " 1111111111111111 ", + " 1111111111 " + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 20 ], [ "null", 80 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 40 ], [ "null", 60 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_center", + "object": { + "rows": [ + "332122131431442322223431", + "213434442212434311223244", + "432141344322224143344243", + "324122323322344142233431", + "422421324341334322431342", + "142234434131424334324134", + "243312133244214122233431", + "244342144324331133334122", + "341243341422233444432312", + "431413312233114244213441", + "244434431341421224223434", + "331324224432134334131423", + "214434244133324124433324", + "333223343424144334431312", + "144344114244314442131433", + "132132422431432341324433", + "322443113324424134414223", + "431314421343242132133432", + "242234423342142414432231", + "123442424413432233321224", + "342231314214442342434231", + "341442132143244344241332", + "222244343244234144324324" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_west", + "object": { + "rows": [ + "112122131431442322223431", + "112334442212434311223244", + "112141344322224143344243", + "112122323322344142233431", + "112121324341334322431342", + "112234434131424334324134", + "112212133244214122233431", + "112332144324331133334122", + "112243341422233444432312", + "111113312233114244213441", + "112334431341421224223434", + "111324224432134334131423", + "112334244133324124433324", + "112223343424144334431312", + "112344114244314442131433", + "112132422431432341324433", + "112343113324424134414223", + "111314421343242132133432", + "112234423342142414432231", + "112342424413432233321224", + "112231314214442342434231", + "111342132143244344241332", + "112244343244234144324324" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_east", + "object": { + "rows": [ + "134322223433144131221211", + "442342112244433112343211", + "342342443344133311243211", + "134332233423322122331211", + "243143224133143134341211", + "431433423143131434431211", + "134322233144212443331211", + "221433333133432413443211", + "213234444322134244433211", + "144312324421114233331111", + "434322344421243422243211", + "324134131432134424422111", + "423433124133332442433211", + "213143434414433334432211", + "331213144244431314421111", + "334334124331332431243211", + "322414434243424144131111", + "234331241343212342432111", + "132234414234241244144111", + "422132243443122331243211", + "132344432432143321143111", + "233143432244442343244111", + "233432142332134124432111", + "423423443344432434442111" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_north", + "object": { + "rows": [ + "111111111111111111111111", + "111111111111111111111111", + "121121121212112112112112", + "212213231223121212121222", + "323122323321231132233331", + "422421324341334322431342", + "243312133244214122233431", + "244342144324331133334122", + "341243341422233444432312", + "431413312233114244213441", + "244434431341421224223434", + "331324224432134334131423", + "214434244133324124433324", + "333223343424144334431312", + "144344114244314442131433", + "132132422431432341324433", + "322443113324424134414223", + "431314421343242132133432", + "242234423342142414432231", + "123442424413432233321224", + "342231314214442342434231", + "341442132143244344241332", + "222244343244234144324324" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_south", + "object": { + "rows": [ + "431314421343242132133432", + "242234423342142414432231", + "123442424413432233321224", + "342231314214442342434231", + "341442132143244344241332", + "422421324341334322431342", + "243312133244214122233431", + "244342144324331133334122", + "341243341422233444432312", + "431413312233114244213441", + "244434431341421224223434", + "331324224432134334131423", + "214434244133324124433324", + "333223343424144334431312", + "144344114244314442131433", + "132132422431432341324433", + "322443113324424134414223", + "431314421343242132133432", + "232223313322132312312131", + "123122113212112212321222", + "121212121222122121212212", + "111111111111111111111111", + "111111111111111111111111" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_northeast", + "object": { + "rows": [ + "1111111111111111 ", + "111111111111111111 ", + "12112112121211211211 ", + "212213231223121212121 ", + "3231223233212311322331 ", + "1422344341314243343221 ", + "24331213324421412223321 ", + "24434214432433113333111 ", + "341243341422233444432211", + "431413312233114244213211", + "244434431341421224221211", + "331324224432134334131111", + "214434244133324124433111", + "333223343424144334431211", + "144344114244314442131111", + "132132422431432341323111", + "322443113324424134413211", + "333223343424144334431211", + "431314421343242132132211", + "242234423342142414432111", + "123442424413432233321211", + "342231314214442342433111", + "341442132143244344241111", + "222244343244234144323211" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_northwest", + "object": { + "rows": [ + " 1111111111111111", + " 111111111111111111", + " 11122132212121212321", + " 111222132212121212321", + " 123332111322323221323", + " 1124432131423431343241", + " 1132331211212244331342", + " 11333333121433432441342", + " 12234432211244444332143", + "112132134211332213313244", + "112322322113422322443244", + "111131431121433423422133", + "111433432144431443434321", + "112113341211334433322231", + "112213143132113442441431", + "111133231234431432241321", + "112134241321424413324413", + "112111331143244134413324", + "112133121321342431243342", + "112332331211212244331342", + "111111331143244134413324", + "112113232134423242442321", + "112113233243344442342111", + "112132143144234443344422" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_southwest", + "object": { + "rows": [ + "112132143144234443344422", + "112113233243344442342111", + "112113232134423242442321", + "112111331143244134413324", + "112332331211212244331342", + "112133121321342431243342", + "112111331143244134413324", + "112134241321424413324413", + "111133231234431432241321", + "112213143132113442441431", + "112113341211334433322231", + "112433432144431443434321", + "111131431121433423422133", + "112322322113422322443244", + "111132134211332213313244", + "112234432211244444332143", + " 11333333121433432441342", + " 1132331211212244331342", + " 1113132131423431343241", + " 1111234324331432243224", + " 111232111322323221323", + " 11112122212121212221", + " 111111111111111111", + " 1111111111111111" + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_undersea_kelp_forest_southeast", + "object": { + "rows": [ + "224443344443141432133211", + "111243442243442342332211", + "123244243243421132331211", + "423143413133443112332111", + "243133134333124211331211", + "243342143321243123332111", + "423143413133443112331111", + "314432413124243132413211", + "123142134231432341231111", + "134144124432244341343211", + "132231433144213113431111", + "123434144344334432132211", + "133224223322413332333111", + "442322322442322322223211", + "442322322442322322223211", + "442433131342342133123211", + "34133333342214333443211 ", + "24333444421124432123111 ", + "2433331421133444222321 ", + "1424331433241243311111 ", + "422432443431134213111 ", + "32332233211132232321 ", + "123121212121211111 ", + "1111111111111111 " + ], + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], + "palettes": [ "undersea_plants_standard_palette" ] + }, + "nested": { + "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "kelp_forest", + "object": { + "mapgensize": [ 1, 1 ], + "rows": [ "0" ], + "terrain": { "0": "t_null" }, + "furniture": { + "0": [ + [ "f_algae_red", 20 ], + [ "f_algae_green", 15 ], + [ "f_kelp", 60 ], + [ "f_boulder_small", 25 ], + [ "f_boulder_medium", 15 ], + [ "f_boulder_large", 3 ], + [ "f_sea_anemone", 3 ], + [ "f_sea_sponge", 3 ] + ] + }, + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ] + } + } +] \ No newline at end of file diff --git a/data/json/mapgen_palettes/undersea_natural_palette.json b/data/json/mapgen_palettes/undersea_natural_palette.json new file mode 100644 index 0000000000000..e69de29bb2d1d From 5f49eac1e2c3d071549ed9370a70d21cb3d8b251 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Mon, 19 Feb 2024 09:41:26 -0800 Subject: [PATCH 03/20] kelp --- .../terrain-liquids.json | 9 +- data/json/mapgen/map_extras/undersea.json | 394 +----------------- data/json/mapgen/ocean.json | 57 ++- data/json/overmap/map_extras.json | 8 + src/game.cpp | 3 +- 5 files changed, 82 insertions(+), 389 deletions(-) diff --git a/data/json/furniture_and_terrain/terrain-liquids.json b/data/json/furniture_and_terrain/terrain-liquids.json index 0f5907a076959..55b6d4862baf7 100644 --- a/data/json/furniture_and_terrain/terrain-liquids.json +++ b/data/json/furniture_and_terrain/terrain-liquids.json @@ -334,14 +334,13 @@ { "type": "terrain", "id": "t_lake_bed", - "//": "for eventual use with water z levels. Currently non-functional.", "name": "lake bed", "description": "You are standing at the bottom of a body of fresh water. With a watertight container, you could gather fresh water from here. Not safe to drink as is.", "symbol": "~", "looks_like": "t_sand", "color": "blue", "move_cost": 8, - "flags": [ "TRANSPARENT", "LIQUID", "NO_SCENT", "SWIMMABLE", "DEEP_WATER", "WATER_CUBE" ], + "flags": [ "TRANSPARENT", "LIQUID", "NO_SCENT", "SWIMMABLE", "DEEP_WATER", "WATER_CUBE", "GOES_UP" ], "connect_groups": "WATER", "connects_to": "WATER", "examine_action": "water_source" @@ -349,14 +348,13 @@ { "type": "terrain", "id": "t_ocean_bed", - "//": "for eventual use with water z levels. Currently non-functional.", "name": "ocean bed", "description": "You are standing at the bottom of a body of salt water. With a watertight container, you could gather salt water from here. Not safe to drink as is.", "symbol": "~", "looks_like": "t_sand", "color": "blue", "move_cost": 8, - "flags": [ "TRANSPARENT", "LIQUID", "NO_SCENT", "SWIMMABLE", "DEEP_WATER", "GOES_UP" ], + "flags": [ "TRANSPARENT", "LIQUID", "NO_SCENT", "SWIMMABLE", "DEEP_WATER", "SALT_WATER", "GOES_UP" ], "connect_groups": "WATER", "connects_to": "WATER", "examine_action": "water_source" @@ -364,7 +362,6 @@ { "type": "terrain", "id": "t_bulkhead_roof", - "//": "for eventual use with water z levels. Currently non-functional. Roof for submerged structures.", "name": "bulkhead", "description": "The top of a submerged structure. With a watertight container, you could gather fresh water from here. Not safe to drink as is.", "symbol": "#", @@ -403,7 +400,6 @@ { "type": "terrain", "id": "t_lake_bed_concrete", - "//": "for eventual use with water z levels. Currently non-functional. Cement on the lake floor.", "name": "submerged concrete", "description": "You are standing at the bottom of a body of fresh water on a pad of concrete. With a watertight container, you could gather fresh water from here. Not safe to drink as is.", "symbol": "~", @@ -425,7 +421,6 @@ { "type": "terrain", "id": "t_lake_bed_concrete_yellow", - "//": "for eventual use with water z levels. Currently non-functional. Cement on the lake floor.", "name": "submerged concrete", "description": "You are standing at the bottom of a body of fresh water on a pad of yellow-painted concrete. With a watertight container, you could gather fresh water from here. Not safe to drink as is.", "symbol": "#", diff --git a/data/json/mapgen/map_extras/undersea.json b/data/json/mapgen/map_extras/undersea.json index b36da00794ffc..9bd61fa3548ba 100644 --- a/data/json/mapgen/map_extras/undersea.json +++ b/data/json/mapgen/map_extras/undersea.json @@ -31,378 +31,12 @@ " 1111111111 " ], "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 20 ], [ "null", 80 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 40 ], [ "null", 60 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_center", - "object": { - "rows": [ - "332122131431442322223431", - "213434442212434311223244", - "432141344322224143344243", - "324122323322344142233431", - "422421324341334322431342", - "142234434131424334324134", - "243312133244214122233431", - "244342144324331133334122", - "341243341422233444432312", - "431413312233114244213441", - "244434431341421224223434", - "331324224432134334131423", - "214434244133324124433324", - "333223343424144334431312", - "144344114244314442131433", - "132132422431432341324433", - "322443113324424134414223", - "431314421343242132133432", - "242234423342142414432231", - "123442424413432233321224", - "342231314214442342434231", - "341442132143244344241332", - "222244343244234144324324" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_west", - "object": { - "rows": [ - "112122131431442322223431", - "112334442212434311223244", - "112141344322224143344243", - "112122323322344142233431", - "112121324341334322431342", - "112234434131424334324134", - "112212133244214122233431", - "112332144324331133334122", - "112243341422233444432312", - "111113312233114244213441", - "112334431341421224223434", - "111324224432134334131423", - "112334244133324124433324", - "112223343424144334431312", - "112344114244314442131433", - "112132422431432341324433", - "112343113324424134414223", - "111314421343242132133432", - "112234423342142414432231", - "112342424413432233321224", - "112231314214442342434231", - "111342132143244344241332", - "112244343244234144324324" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_east", - "object": { - "rows": [ - "134322223433144131221211", - "442342112244433112343211", - "342342443344133311243211", - "134332233423322122331211", - "243143224133143134341211", - "431433423143131434431211", - "134322233144212443331211", - "221433333133432413443211", - "213234444322134244433211", - "144312324421114233331111", - "434322344421243422243211", - "324134131432134424422111", - "423433124133332442433211", - "213143434414433334432211", - "331213144244431314421111", - "334334124331332431243211", - "322414434243424144131111", - "234331241343212342432111", - "132234414234241244144111", - "422132243443122331243211", - "132344432432143321143111", - "233143432244442343244111", - "233432142332134124432111", - "423423443344432434442111" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_north", - "object": { - "rows": [ - "111111111111111111111111", - "111111111111111111111111", - "121121121212112112112112", - "212213231223121212121222", - "323122323321231132233331", - "422421324341334322431342", - "243312133244214122233431", - "244342144324331133334122", - "341243341422233444432312", - "431413312233114244213441", - "244434431341421224223434", - "331324224432134334131423", - "214434244133324124433324", - "333223343424144334431312", - "144344114244314442131433", - "132132422431432341324433", - "322443113324424134414223", - "431314421343242132133432", - "242234423342142414432231", - "123442424413432233321224", - "342231314214442342434231", - "341442132143244344241332", - "222244343244234144324324" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_south", - "object": { - "rows": [ - "431314421343242132133432", - "242234423342142414432231", - "123442424413432233321224", - "342231314214442342434231", - "341442132143244344241332", - "422421324341334322431342", - "243312133244214122233431", - "244342144324331133334122", - "341243341422233444432312", - "431413312233114244213441", - "244434431341421224223434", - "331324224432134334131423", - "214434244133324124433324", - "333223343424144334431312", - "144344114244314442131433", - "132132422431432341324433", - "322443113324424134414223", - "431314421343242132133432", - "232223313322132312312131", - "123122113212112212321222", - "121212121222122121212212", - "111111111111111111111111", - "111111111111111111111111" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_northeast", - "object": { - "rows": [ - "1111111111111111 ", - "111111111111111111 ", - "12112112121211211211 ", - "212213231223121212121 ", - "3231223233212311322331 ", - "1422344341314243343221 ", - "24331213324421412223321 ", - "24434214432433113333111 ", - "341243341422233444432211", - "431413312233114244213211", - "244434431341421224221211", - "331324224432134334131111", - "214434244133324124433111", - "333223343424144334431211", - "144344114244314442131111", - "132132422431432341323111", - "322443113324424134413211", - "333223343424144334431211", - "431314421343242132132211", - "242234423342142414432111", - "123442424413432233321211", - "342231314214442342433111", - "341442132143244344241111", - "222244343244234144323211" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_northwest", - "object": { - "rows": [ - " 1111111111111111", - " 111111111111111111", - " 11122132212121212321", - " 111222132212121212321", - " 123332111322323221323", - " 1124432131423431343241", - " 1132331211212244331342", - " 11333333121433432441342", - " 12234432211244444332143", - "112132134211332213313244", - "112322322113422322443244", - "111131431121433423422133", - "111433432144431443434321", - "112113341211334433322231", - "112213143132113442441431", - "111133231234431432241321", - "112134241321424413324413", - "112111331143244134413324", - "112133121321342431243342", - "112332331211212244331342", - "111111331143244134413324", - "112113232134423242442321", - "112113233243344442342111", - "112132143144234443344422" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_southwest", - "object": { - "rows": [ - "112132143144234443344422", - "112113233243344442342111", - "112113232134423242442321", - "112111331143244134413324", - "112332331211212244331342", - "112133121321342431243342", - "112111331143244134413324", - "112134241321424413324413", - "111133231234431432241321", - "112213143132113442441431", - "112113341211334433322231", - "112433432144431443434321", - "111131431121433423422133", - "112322322113422322443244", - "111132134211332213313244", - "112234432211244444332143", - " 11333333121433432441342", - " 1132331211212244331342", - " 1113132131423431343241", - " 1111234324331432243224", - " 111232111322323221323", - " 11112122212121212221", - " 111111111111111111", - " 1111111111111111" - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - }, - { - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_forest_southeast", - "object": { - "rows": [ - "224443344443141432133211", - "111243442243442342332211", - "123244243243421132331211", - "423143413133443112332111", - "243133134333124211331211", - "243342143321243123332111", - "423143413133443112331111", - "314432413124243132413211", - "123142134231432341231111", - "134144124432244341343211", - "132231433144213113431111", - "123434144344334432132211", - "133224223322413332333111", - "442322322442322322223211", - "442322322442322322223211", - "442433131342342133123211", - "34133333342214333443211 ", - "24333444421124432123111 ", - "2433331421133444222321 ", - "1424331433241243311111 ", - "422432443431134213111 ", - "32332233211132232321 ", - "123121212121211111 ", - "1111111111111111 " - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "palettes": [ "undersea_plants_standard_palette" ] - }, - "nested": { - "1": { "chunks": [ [ "kelp_forest", 10 ], [ "null", 90 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 30 ], [ "null", 70 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + "nested": { + "1": { "chunks": [ [ "kelp_forest", 20 ], [ "null", 80 ] ] }, + "2": { "chunks": [ [ "kelp_forest", 40 ], [ "null", 60 ] ] }, + "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, + "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } + } } }, { @@ -415,14 +49,14 @@ "terrain": { "0": "t_null" }, "furniture": { "0": [ - [ "f_algae_red", 20 ], - [ "f_algae_green", 15 ], - [ "f_kelp", 60 ], - [ "f_boulder_small", 25 ], - [ "f_boulder_medium", 15 ], - [ "f_boulder_large", 3 ], - [ "f_sea_anemone", 3 ], - [ "f_sea_sponge", 3 ] + [ "f_algae_red", 10 ], + [ "f_algae_green", 9 ], + [ "f_kelp_sugar", 90 ], + [ "f_boulder_small", 9 ], + [ "f_boulder_medium", 6 ], + [ "f_boulder_large", 1 ], + [ "f_sea_anemone", 1 ], + [ "f_sea_sponge", 1 ] ] }, "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ] diff --git a/data/json/mapgen/ocean.json b/data/json/mapgen/ocean.json index 9f31150360cdd..f54d9509244cc 100644 --- a/data/json/mapgen/ocean.json +++ b/data/json/mapgen/ocean.json @@ -15,6 +15,61 @@ "type": "mapgen", "method": "json", "om_terrain": [ "ocean_bed" ], - "object": { "fill_ter": "t_ocean_bed" } + "object": { + "fill_ter": "t_ocean_bed", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "nested": { + " ": { "chunks": [ [ "groundover_sea_floor", 20 ], [ "null", 80 ] ] } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "groundover_sea_floor", + "object": { + "mapgensize": [ 1, 1 ], + "rows": [ "0" ], + "terrain": { "0": "t_null" }, + "furniture": { + "0": [ + [ "f_null", 1200 ], + [ "f_algae_red", 4 ], + [ "f_algae_green", 3 ], + [ "f_kelp_sugar", 1 ], + [ "f_boulder_small", 36 ], + [ "f_boulder_medium", 24 ], + [ "f_boulder_large", 4 ], + [ "f_sea_anemone", 1 ], + [ "f_sea_sponge", 1 ] + ] + }, + "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ] + } } ] diff --git a/data/json/overmap/map_extras.json b/data/json/overmap/map_extras.json index c542371b73931..7d6be663e565f 100644 --- a/data/json/overmap/map_extras.json +++ b/data/json/overmap/map_extras.json @@ -654,5 +654,13 @@ "description": "An ordinary beehive.", "generator": { "generator_method": "update_mapgen", "generator_id": "mx_beehive_natural" }, "min_max_zlevel": [ 0, 0 ] + }, + { + "id": "mx_undersea_kelp_patch", + "type": "map_extra", + "name": { "str": "Kelp patch" }, + "description": "A patch of kelp.", + "generator": { "generator_method": "update_mapgen", "generator_id": "mx_undersea_kelp_patch" }, + "min_max_zlevel": [ -9, -9 ] } ] diff --git a/src/game.cpp b/src/game.cpp index 79ef86a839496..2ea960a54b6dc 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -12002,7 +12002,8 @@ void game::vertical_move( int movez, bool force, bool peeking ) // ...and we're already submerged if( u.is_underwater() ) { // ...and there's more water beneath us. - if( target_ter->has_flag( ter_furn_flag::TFLAG_WATER_CUBE ) ) { + if( target_ter->has_flag( ter_furn_flag::TFLAG_WATER_CUBE ) || + target_ter->has_flag( ter_furn_flag::TFLAG_GOES_UP ) ) { // Then go ahead and move down. add_msg( _( "You swim down." ) ); } else { From 4ff22d4fc1f1a14630e42baa83e8d09c6539a107 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:24:43 -0800 Subject: [PATCH 04/20] stuff --- data/json/mapgen_palettes/undersea_natural_palette.json | 0 src/game.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 data/json/mapgen_palettes/undersea_natural_palette.json diff --git a/data/json/mapgen_palettes/undersea_natural_palette.json b/data/json/mapgen_palettes/undersea_natural_palette.json deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/src/game.cpp b/src/game.cpp index 2ea960a54b6dc..da9ff9ba52fe9 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -12052,7 +12052,7 @@ void game::vertical_move( int movez, bool force, bool peeking ) // ...and we're trying to swim down if( movez == -1 ) { // ...and there's more water beneath us. - if( target_ter->has_flag( ter_furn_flag::TFLAG_WATER_CUBE ) ) { + if( target_ter->has_flag( ter_furn_flag::TFLAG_WATER_CUBE ) || target_ter->has_flag( ter_furn_flag::TFLAG_GOES_UP ) ) { // Then go ahead and move down. add_msg( _( "You swim down." ) ); } else { From bdd301471b16e8597132e25d8d778d415a470ac0 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Mon, 19 Feb 2024 11:36:27 -0800 Subject: [PATCH 05/20] harvesting --- .../furniture-flora_marine.json | 17 +++++++------ data/json/harvest.json | 25 +++++++++++++++++++ src/activity_actor.cpp | 12 +++++++-- src/item.cpp | 2 ++ src/mapdata.cpp | 1 + src/mapdata.h | 1 + 6 files changed, 48 insertions(+), 10 deletions(-) diff --git a/data/json/furniture_and_terrain/furniture-flora_marine.json b/data/json/furniture_and_terrain/furniture-flora_marine.json index 265835c594792..8b3c5926dcec2 100644 --- a/data/json/furniture_and_terrain/furniture-flora_marine.json +++ b/data/json/furniture_and_terrain/furniture-flora_marine.json @@ -10,7 +10,7 @@ "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC"], "examine_action": "harvest_furn", - "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "seaweed" } ], + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "seaweed_harv" } ], "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } }, { @@ -24,21 +24,21 @@ "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], "examine_action": "harvest_furn", - "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "seaweed" } ], + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "seaweed_harv" } ], "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } }, { "type": "furniture", "id": "f_kelp_sugar", "name": "sugar kelp", - "description": "Also known as kombu, this brown algae grows in a single leaflike blade that can reach more than twice the height of a man. High in glutamic acids, young fronds make for excellent soup stock and can even be eaten raw.", + "description": "Also known as kombu, this brown algae grows in a single leaflike blade that can reach more than twice the height of a man. Young fronds make for excellent soup stock and can even be eaten raw.", "symbol": "i", "color": "brown", "move_cost_mod": 0, "required_str": -1, - "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SMALL_HIDE" ], + "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SMALL_HIDE", "HARVEST_REQ_CUT1" ], "examine_action": "harvest_furn", - "harvest_by_season": [ { "seasons": [ "spring", "summer" ], "id": "kelp_sugar" } ], + "harvest_by_season": [ { "seasons": [ "spring", "summer" ], "id": "kelp_sugar_harv" } ], "bash": { "str_min": 8, "str_max": 16, "sound": "splat.", "sound_fail": "squelch." } }, { @@ -52,7 +52,7 @@ "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], - "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "sea_lettuce" } ], + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "sea_lettuce_harv" } ], "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } }, { @@ -66,7 +66,7 @@ "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], - "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "bladderwrack" } ], + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "bladderwrack_harv" } ], "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." } }, { @@ -90,7 +90,8 @@ "color": "pink", "move_cost_mod": 0, "required_str": -1, - "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "GRAZER_INEDIBLE", "ORGANIC" ], + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "GRAZER_INEDIBLE", "ORGANIC", "HARVEST_REQ_CUT1" ], + "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "sea_sponge_harv" } ], "bash": { "str_min": 6, "str_max": 12, "sound": "splat.", "sound_fail": "squelch." } } ] diff --git a/data/json/harvest.json b/data/json/harvest.json index 970035d82174e..b9c55ef0f033b 100644 --- a/data/json/harvest.json +++ b/data/json/harvest.json @@ -387,6 +387,31 @@ "type": "harvest", "entries": [ { "drop": "wintergreen_berry", "base_num": [ 1, 4 ] }, { "drop": "wintergreen_leaves", "base_num": [ 1, 2 ] } ] }, + { + "id": "seaweed_harv", + "type": "harvest", + "entries": [ { "drop": "seaweed", "base_num": [ 1, 2 ] } ] + }, + { + "id": "kelp_sugar_harv", + "type": "harvest", + "entries": [ { "drop": "kelp_sugar", "base_num": [ 1 ] } ] + }, + { + "id": "bladderwrack_harv", + "type": "harvest", + "entries": [ { "drop": "bladderwrack", "base_num": [ 1 ] } ] + }, + { + "id": "sea_lettuce_harv", + "type": "harvest", + "entries": [ { "drop": "sea_lettuce", "base_num": [ 1 ] } ] + }, + { + "id": "sea_sponge_harv", + "type": "harvest", + "entries": [ { "drop": "sea_sponge", "base_num": [ 1 ] } ] + }, { "id": "fish_tiny", "type": "harvest", diff --git a/src/activity_actor.cpp b/src/activity_actor.cpp index 06c63df3f3405..b289c3853e46e 100644 --- a/src/activity_actor.cpp +++ b/src/activity_actor.cpp @@ -208,6 +208,7 @@ static const proficiency_id proficiency_prof_lockpicking( "prof_lockpicking" ); static const proficiency_id proficiency_prof_lockpicking_expert( "prof_lockpicking_expert" ); static const proficiency_id proficiency_prof_safecracking( "prof_safecracking" ); +static const quality_id qual_CUT( "CUT" ); static const quality_id qual_HACK( "HACK" ); static const quality_id qual_LOCKPICK( "LOCKPICK" ); static const quality_id qual_PRY( "PRY" ); @@ -4182,11 +4183,18 @@ std::unique_ptr drop_activity_actor::deserialize( JsonValue &jsi void harvest_activity_actor::start( player_activity &act, Character &who ) { map &here = get_map(); - + const furn_id furn = here.furn( target ); if( here.has_furn( target ) ) { const furn_id furn = here.furn( target ); - if( furn->has_examine( iexamine::harvest_furn ) ) { + if( furn->has_flag( ter_furn_flag::TFLAG_HARVEST_REQ_CUT1 ) && who.max_quality( qual_CUT ) < 1 ) { + if( !auto_forage ) { + who.add_msg_if_player( m_info, + _( "You'll need a cutting tool to harvest this." ) ); + } + act.set_to_null(); + return; + } exam_furn = true; } else if( furn->has_examine( iexamine::harvest_furn_nectar ) ) { exam_furn = true; diff --git a/src/item.cpp b/src/item.cpp index bc665c3ff381f..f1a3c902d15a6 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -12374,6 +12374,8 @@ bool item::has_rotten_away() const { if( is_corpse() && !can_revive() ) { return get_rot() > 10_days; + } else if( is_comestible() && rot_transform != null ) { + } else { return get_relative_rot() > 2.0; } diff --git a/src/mapdata.cpp b/src/mapdata.cpp index 6dd80769dcd79..ca19b50a9f02b 100644 --- a/src/mapdata.cpp +++ b/src/mapdata.cpp @@ -267,6 +267,7 @@ std::string enum_to_string( ter_furn_flag data ) case ter_furn_flag::TFLAG_SINGLE_SUPPORT: return "SINGLE_SUPPORT"; case ter_furn_flag::TFLAG_CLIMB_ADJACENT: return "CLIMB_ADJACENT"; case ter_furn_flag::TFLAG_FLOATS_IN_AIR: return "FLOATS_IN_AIR"; + case ter_furn_flag::TFLAG_HARVEST_REQ_CUT1: return "HARVEST_REQ_CUT1"; // *INDENT-ON* case ter_furn_flag::NUM_TFLAG_FLAGS: diff --git a/src/mapdata.h b/src/mapdata.h index 7cedb690eaccf..1c920467da71d 100644 --- a/src/mapdata.h +++ b/src/mapdata.h @@ -327,6 +327,7 @@ enum class ter_furn_flag : int { TFLAG_SINGLE_SUPPORT, TFLAG_CLIMB_ADJACENT, TFLAG_FLOATS_IN_AIR, + TFLAG_HARVEST_REQ_CUT1, NUM_TFLAG_FLAGS }; From f07c849a09ed3fd5ae87876a52fb827bc329f2f6 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Mon, 19 Feb 2024 12:21:59 -0800 Subject: [PATCH 06/20] cook it --- data/json/effects.json | 16 +++++++- .../furniture-flora_marine.json | 9 ++--- data/json/items/comestibles/med.json | 2 +- data/json/items/comestibles/raw_veggy.json | 22 +++++------ data/json/items/comestibles/veggy_dishes.json | 38 +++++++++++++++++++ data/json/items/generic.json | 8 ++-- data/json/vitamin.json | 18 +++++++-- 7 files changed, 87 insertions(+), 26 deletions(-) diff --git a/data/json/effects.json b/data/json/effects.json index cf6c36fdae7ef..fd983265f7197 100644 --- a/data/json/effects.json +++ b/data/json/effects.json @@ -2126,10 +2126,22 @@ }, { "type": "effect_type", - "id": "anticoagulant", + "id": "anticoagulant_fucoidan", + "//": "Platelet inhibition is permament, but platelets only live about 10 days max. By 5 days, they're mostly replaced.", + "max_duration": "5 d", "max_intensity": 3, "rating": "bad", - "blood_analysis_description": "Blood Thinner", + "blood_analysis_description": "Anticoagulant (Fucoidan)", + "effect_dur_scaling": [ { "effect_id": "bleed", "modifier": 1.03, "same_bp": false } ] + }, + { + "type": "effect_type", + "id": "anticoagulant_aspirin", + "//": "Platelet inhibition is permament, but platelets only live about 10 days max. By 5 days, they're mostly replaced.", + "max_duration": "5 d", + "max_intensity": 3, + "rating": "bad", + "blood_analysis_description": "Anticoagulant (Acetylsalicylic Acid)", "effect_dur_scaling": [ { "effect_id": "bleed", "modifier": 1.05, "same_bp": false } ] }, { diff --git a/data/json/furniture_and_terrain/furniture-flora_marine.json b/data/json/furniture_and_terrain/furniture-flora_marine.json index 8b3c5926dcec2..770cee5fbeff9 100644 --- a/data/json/furniture_and_terrain/furniture-flora_marine.json +++ b/data/json/furniture_and_terrain/furniture-flora_marine.json @@ -73,7 +73,7 @@ "type": "furniture", "id": "f_sea_anemone", "name": "sea anemone", - "description": "This sessile polyp waves its stinging tentacles with the motion of the tides, hoping to capture a tiny fish or crab. It's inedible, and poses no danger to anything bigger than a shrimp.", + "description": "This sessile polyp waves its stinging tentacles with the motion of the tides, hoping to capture a tiny fish or crab. It's wholly inedible and poses no danger to anything bigger than a shrimp.", "symbol": "f", "color": "pink", "move_cost_mod": 0, @@ -85,13 +85,12 @@ "type": "furniture", "id": "f_sea_sponge", "name": "sea sponge", - "description": "An immobile, lumpy little creature that looks nothing like a square kitchen sponge. Anchored to the sea floor, its porous body filters plankton from the water that freely passes through it.", + "description": "An immobile, lumpy little creature that looks nothing like a square kitchen sponge. Anchored to the sea floor, its porous body passively filters plankton from the water that freely passes through it.", "symbol": "f", - "color": "pink", + "color": "brown", "move_cost_mod": 0, "required_str": -1, - "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "GRAZER_INEDIBLE", "ORGANIC", "HARVEST_REQ_CUT1" ], - "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "sea_sponge_harv" } ], + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "GRAZER_INEDIBLE", "ORGANIC" ], "bash": { "str_min": 6, "str_max": 12, "sound": "splat.", "sound_fail": "squelch." } } ] diff --git a/data/json/items/comestibles/med.json b/data/json/items/comestibles/med.json index 8990b97297225..315a74478526f 100644 --- a/data/json/items/comestibles/med.json +++ b/data/json/items/comestibles/med.json @@ -144,7 +144,7 @@ "activation_message": "You take some aspirin.", "effects": [ { "id": "pkill1_nsaid", "duration": 9000 } ] }, - "vitamins": [ [ "vit_bloodthinner", 4320 ] ] + "vitamins": [ [ "vit_anticoagulant_aspirin", 4320 ] ] }, { "id": "ibuprofen", diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 9f23f9eeed025..0b14c58dc487c 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -1215,18 +1215,18 @@ "type": "COMESTIBLE", "id": "sea_lettuce", "name": { "str_sp": "sea lettuce" }, - "weight": "50 g", + "weight": "100 g", "color": "green", "spoils_in": "2 days", "comestible_type": "FOOD", "symbol": "%", "calories": 12, - "description": "A bit of edible green seaweed. It makes a good snack as-is, but can be dried or prepared in a number of ways.", + "description": "A handful of edible green seaweed. It makes a good snack as-is, but can be dried or prepared in a number of ways.", "price": 10, "price_postapoc": 10, "material": [ "veggy" ], "volume": "250 ml", - "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], + "flags": [ "FREEZERBURN", "SMOKABLE" ], "smoking_result": "dry_veggy", "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] }, @@ -1234,38 +1234,38 @@ "type": "COMESTIBLE", "id": "kelp_sugar", "name": { "str_sp": "sugar kelp" }, - "weight": "50 g", + "weight": "100 g", "color": "brown", "spoils_in": "2 days", "comestible_type": "FOOD", "symbol": "%", "calories": 17, - "description": "A sizable strip of new growth harvested from a sugar kelp. While these are most often dried, it seems edible enough as it is.", + "description": "A sizable strip of new growth harvested from a sugar kelp. While these are most often dried, it seems edible enough as is.", "price": 10, "price_postapoc": 10, "material": [ "veggy" ], "volume": "250 ml", - "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], + "flags": [ "FREEZERBURN", "SMOKABLE" ], "smoking_result": "kombu", - "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 180 ] ] }, { "type": "COMESTIBLE", "id": "bladderwrack", "name": { "str_sp": "bladderwrack" }, - "weight": "50 g", + "weight": "100 g", "color": "brown", "spoils_in": "2 days", "comestible_type": "FOOD", "symbol": "%", "calories": 17, - "description": "A leafy bunch of seaweed covered in air bladders. There are many unproven claims about its supposed health benefits, and while edible, it's a known anticoagulant and may prolong bleeding.", + "description": "A leafy bunch of seaweed covered in air bladders. While the effect is minor, it's a known anticoagulant and may prolong bleeding if consumed in large quantities.", "price": 10, "price_postapoc": 10, "material": [ "veggy" ], "volume": "250 ml", - "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], + "flags": [ "FREEZERBURN", "SMOKABLE" ], "smoking_result": "dried_bladderwrack", - "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ] ] + "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 360 ] ] } ] diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index 7d2ae984069ec..3355b63fd3672 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -1565,5 +1565,43 @@ "delete": { "flags": [ "RAW" ] }, "extend": { "flags": [ "FREEZERBURN" ] }, "fun": 3 + }, + { + "type": "COMESTIBLE", + "id": "kombu", + "name": { "str_sp": "kombu" }, + "weight": "10 g", + "color": "brown", + "spoils_in": "2 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 17, + "description": "An essential component of Japanese cuisine, this dried sheet of seaweed has hardened to the point of inedibility. Boiled in water, it should make an excellent broth.", + "price": 10, + "price_postapoc": 10, + "material": [ "veggy" ], + "volume": "25 ml", + "flags": [ "FREEZERBURN", "INEDIBLE" ], + "smoking_result": "kombu", + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 180 ] ] + }, + { + "type": "COMESTIBLE", + "id": "dried_bladderwrack", + "name": { "str_sp": "dried bladderwrack" }, + "weight": "10 g", + "color": "brown", + "spoils_in": "2 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 17, + "description": "Crunchy dried bits of seaweed. While the effect is minor and only lasts a few days, it's a known anticoagulant and may prolong bleeding any bleeding wounds if consumed in large quantities.", + "price": 10, + "price_postapoc": 10, + "material": [ "veggy" ], + "volume": "25 ml", + "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], + "smoking_result": "dried_bladderwrack", + "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 360 ] ] } ] diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 40f777e967cf2..ef30ae86c2ab3 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -291,11 +291,11 @@ "name": { "str": "dried seaweed", "str_pl": "dried seaweed" }, "looks_like": "withered", "description": "A handful of dried seaweed. It's tough, inedible, and possibly poisonous, but it could be burned or used for crafts.", - "weight": "12 g", + "weight": "25 g", "color": "green", "symbol": ",", "material": [ "veggy" ], - "volume": "20 ml", + "volume": "25 ml", "flags": [ "TRADER_AVOID", "FIREWOOD", "TINDER" ] }, { @@ -304,11 +304,11 @@ "name": { "str": "pile of dried seaweed", "str_pl": "pile of dried seaweed" }, "looks_like": "withered", "description": "A big heap of dried seaweed. It's tough, inedible, and possibly poisonous, but it could be burned or used for crafts.", - "weight": "240 g", + "weight": "200 g", "color": "green", "symbol": ",", "material": [ "veggy" ], - "volume": "400 ml", + "volume": "200 ml", "flags": [ "TRADER_AVOID", "FIREWOOD", "TINDER" ] }, { diff --git a/data/json/vitamin.json b/data/json/vitamin.json index 0b30226d1af4b..a2935134ce638 100644 --- a/data/json/vitamin.json +++ b/data/json/vitamin.json @@ -60,11 +60,23 @@ "disease_excess": [ [ 10, 864 ], [ 865, 1728 ], [ 1729, 2592 ] ] }, { - "id": "vit_bloodthinner", + "id": "vit_anticoagulant_aspirin", "type": "vitamin", "vit_type": "drug", - "name": { "str": "Blood thinner" }, - "excess": "anticoagulant", + "name": { "str": "" }, + "excess": "anticoagulant_aspirin", + "min": 0, + "max": 4320, + "rate": "100 s", + "//": "Takes 30 min to kick in, lasts 5 days", + "disease_excess": [ [ 10, 4320 ] ] + }, + { + "id": "vit_antiplatelet_fucoidan", + "type": "vitamin", + "vit_type": "drug", + "name": { "str": "" }, + "excess": "anticoagulant_fucoidan", "min": 0, "max": 4320, "rate": "100 s", From a319c0bf0181ee9d446d9455cc6bf456f0548e1c Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Mon, 19 Feb 2024 12:41:56 -0800 Subject: [PATCH 07/20] Update effects.json --- data/json/effects.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/data/json/effects.json b/data/json/effects.json index fd983265f7197..973732723f130 100644 --- a/data/json/effects.json +++ b/data/json/effects.json @@ -2127,18 +2127,14 @@ { "type": "effect_type", "id": "anticoagulant_fucoidan", - "//": "Platelet inhibition is permament, but platelets only live about 10 days max. By 5 days, they're mostly replaced.", - "max_duration": "5 d", "max_intensity": 3, "rating": "bad", "blood_analysis_description": "Anticoagulant (Fucoidan)", - "effect_dur_scaling": [ { "effect_id": "bleed", "modifier": 1.03, "same_bp": false } ] + "effect_dur_scaling": [ { "effect_id": "bleed", "modifier": 1.05, "same_bp": false } ] }, { "type": "effect_type", "id": "anticoagulant_aspirin", - "//": "Platelet inhibition is permament, but platelets only live about 10 days max. By 5 days, they're mostly replaced.", - "max_duration": "5 d", "max_intensity": 3, "rating": "bad", "blood_analysis_description": "Anticoagulant (Acetylsalicylic Acid)", From 0dbed1098555036598e345f7005d4388d767e89f Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:11:50 -0800 Subject: [PATCH 08/20] Update harvest.json --- data/json/harvest.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/data/json/harvest.json b/data/json/harvest.json index b9c55ef0f033b..df04389e7ef40 100644 --- a/data/json/harvest.json +++ b/data/json/harvest.json @@ -407,11 +407,6 @@ "type": "harvest", "entries": [ { "drop": "sea_lettuce", "base_num": [ 1 ] } ] }, - { - "id": "sea_sponge_harv", - "type": "harvest", - "entries": [ { "drop": "sea_sponge", "base_num": [ 1 ] } ] - }, { "id": "fish_tiny", "type": "harvest", From 8bf109386c051d89b13dba9418d79ab96d6eb832 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:13:02 -0800 Subject: [PATCH 09/20] Update raw_veggy.json --- data/json/items/comestibles/raw_veggy.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 0b14c58dc487c..6f1a2f48dcbd6 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -1247,7 +1247,7 @@ "volume": "250 ml", "flags": [ "FREEZERBURN", "SMOKABLE" ], "smoking_result": "kombu", - "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 180 ] ] + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 90 ] ] }, { "type": "COMESTIBLE", From fd6c674feb2579e73dd01a9b4d10ae22876b46c9 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:13:19 -0800 Subject: [PATCH 10/20] Update veggy_dishes.json --- data/json/items/comestibles/veggy_dishes.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index ab04182d4f0ca..6e8397baf8306 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -1583,7 +1583,7 @@ "volume": "25 ml", "flags": [ "FREEZERBURN", "INEDIBLE" ], "smoking_result": "kombu", - "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 180 ] ] + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 90 ] ] }, { "type": "COMESTIBLE", From a1d35908685b35fcdf868dd8bc029b8673d4e452 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:14:09 -0800 Subject: [PATCH 11/20] Update map_extras.json --- data/json/overmap/map_extras.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/data/json/overmap/map_extras.json b/data/json/overmap/map_extras.json index 7d6be663e565f..c542371b73931 100644 --- a/data/json/overmap/map_extras.json +++ b/data/json/overmap/map_extras.json @@ -654,13 +654,5 @@ "description": "An ordinary beehive.", "generator": { "generator_method": "update_mapgen", "generator_id": "mx_beehive_natural" }, "min_max_zlevel": [ 0, 0 ] - }, - { - "id": "mx_undersea_kelp_patch", - "type": "map_extra", - "name": { "str": "Kelp patch" }, - "description": "A patch of kelp.", - "generator": { "generator_method": "update_mapgen", "generator_id": "mx_undersea_kelp_patch" }, - "min_max_zlevel": [ -9, -9 ] } ] From dab97f835e93bd1f26c4d28e7a0a7281b333930a Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:14:20 -0800 Subject: [PATCH 12/20] Delete undersea.json --- data/json/mapgen/map_extras/undersea.json | 65 ----------------------- 1 file changed, 65 deletions(-) delete mode 100644 data/json/mapgen/map_extras/undersea.json diff --git a/data/json/mapgen/map_extras/undersea.json b/data/json/mapgen/map_extras/undersea.json deleted file mode 100644 index 9bd61fa3548ba..0000000000000 --- a/data/json/mapgen/map_extras/undersea.json +++ /dev/null @@ -1,65 +0,0 @@ -[ -{ - "type": "mapgen", - "method": "json", - "update_mapgen_id": "mx_undersea_kelp_patch", - "object": { - "rows": [ - " 111111111 ", - " 111111111111111 ", - " 1111111222221111111 ", - " 11111222223322211111 ", - " 111222223232323221111 ", - " 1111222333333322221111 ", - " 1112223333333332322111 ", - "111122333344333322221111", - "111222233333443322222111", - "111232334242424242422111", - "111223342424243434222111", - "111232344342433332222111", - "111222233344243424222111", - "111232234243424342222111", - "111222334333344332222111", - "111222223344333322222111", - "111122323333333223221111", - " 1112222223344333222111 ", - " 1121222223333422421111 ", - " 1112121124142424221111 ", - " 11111231232321111111 ", - " 11112121112211111111 ", - " 1111111111111111 ", - " 1111111111 " - ], - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ], - "nested": { - "1": { "chunks": [ [ "kelp_forest", 20 ], [ "null", 80 ] ] }, - "2": { "chunks": [ [ "kelp_forest", 40 ], [ "null", 60 ] ] }, - "3": { "chunks": [ [ "kelp_forest", 60 ], [ "null", 40 ] ] }, - "4": { "chunks": [ [ "kelp_forest", 80 ], [ "null", 20 ] ] } - } - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "kelp_forest", - "object": { - "mapgensize": [ 1, 1 ], - "rows": [ "0" ], - "terrain": { "0": "t_null" }, - "furniture": { - "0": [ - [ "f_algae_red", 10 ], - [ "f_algae_green", 9 ], - [ "f_kelp_sugar", 90 ], - [ "f_boulder_small", 9 ], - [ "f_boulder_medium", 6 ], - [ "f_boulder_large", 1 ], - [ "f_sea_anemone", 1 ], - [ "f_sea_sponge", 1 ] - ] - }, - "flags": [ "ALLOW_TERRAIN_UNDER_OTHER_DATA" ] - } - } -] \ No newline at end of file From 60e63729c2a8fd0770900297afab2de0d0da1958 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:15:40 -0800 Subject: [PATCH 13/20] Update activity_actor.cpp --- src/activity_actor.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/activity_actor.cpp b/src/activity_actor.cpp index b289c3853e46e..7a85635b30213 100644 --- a/src/activity_actor.cpp +++ b/src/activity_actor.cpp @@ -4183,9 +4183,11 @@ std::unique_ptr drop_activity_actor::deserialize( JsonValue &jsi void harvest_activity_actor::start( player_activity &act, Character &who ) { map &here = get_map(); + const furn_id furn = here.furn( target ); if( here.has_furn( target ) ) { const furn_id furn = here.furn( target ); + if( furn->has_examine( iexamine::harvest_furn ) ) { if( furn->has_flag( ter_furn_flag::TFLAG_HARVEST_REQ_CUT1 ) && who.max_quality( qual_CUT ) < 1 ) { if( !auto_forage ) { From fd4db24e61a315082c2d17aa28c4c2955b781533 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 11:52:17 -0800 Subject: [PATCH 14/20] stuff --- .../furniture-flora_marine.json | 14 ++++++++++++++ data/json/harvest.json | 8 ++++---- src/activity_actor.cpp | 1 - src/item.cpp | 2 -- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/data/json/furniture_and_terrain/furniture-flora_marine.json b/data/json/furniture_and_terrain/furniture-flora_marine.json index 770cee5fbeff9..12f16994ae485 100644 --- a/data/json/furniture_and_terrain/furniture-flora_marine.json +++ b/data/json/furniture_and_terrain/furniture-flora_marine.json @@ -38,9 +38,23 @@ "required_str": -1, "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SMALL_HIDE", "HARVEST_REQ_CUT1" ], "examine_action": "harvest_furn", + "transforms_into": "f_kelp_sugar_harvested", "harvest_by_season": [ { "seasons": [ "spring", "summer" ], "id": "kelp_sugar_harv" } ], "bash": { "str_min": 8, "str_max": 16, "sound": "splat.", "sound_fail": "squelch." } }, + { + "type": "furniture", + "id": "f_kelp_sugar", + "name": "sugar kelp", + "description": "The tender new growth has been harvested from this kelp frond. It will be some time before it will yield anything edible again.", + "symbol": "i", + "color": "brown", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SMALL_HIDE", "HARVEST_REQ_CUT1" ], + "examine_action": "harvest_furn", + "bash": { "str_min": 8, "str_max": 16, "sound": "splat.", "sound_fail": "squelch." } + }, { "type": "furniture", "id": "f_sea_lettuce", diff --git a/data/json/harvest.json b/data/json/harvest.json index df04389e7ef40..46ffa931bb48f 100644 --- a/data/json/harvest.json +++ b/data/json/harvest.json @@ -390,22 +390,22 @@ { "id": "seaweed_harv", "type": "harvest", - "entries": [ { "drop": "seaweed", "base_num": [ 1, 2 ] } ] + "entries": { "drop": "seaweed" } }, { "id": "kelp_sugar_harv", "type": "harvest", - "entries": [ { "drop": "kelp_sugar", "base_num": [ 1 ] } ] + "entries": { "drop": "kelp_sugar" } }, { "id": "bladderwrack_harv", "type": "harvest", - "entries": [ { "drop": "bladderwrack", "base_num": [ 1 ] } ] + "entries": { "drop": "bladderwrack" } }, { "id": "sea_lettuce_harv", "type": "harvest", - "entries": [ { "drop": "sea_lettuce", "base_num": [ 1 ] } ] + "entries": { "drop": "sea_lettuce" } }, { "id": "fish_tiny", diff --git a/src/activity_actor.cpp b/src/activity_actor.cpp index 7a85635b30213..f621853ba5555 100644 --- a/src/activity_actor.cpp +++ b/src/activity_actor.cpp @@ -4184,7 +4184,6 @@ void harvest_activity_actor::start( player_activity &act, Character &who ) { map &here = get_map(); - const furn_id furn = here.furn( target ); if( here.has_furn( target ) ) { const furn_id furn = here.furn( target ); diff --git a/src/item.cpp b/src/item.cpp index 639f354698045..708bfaa647a2c 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -12374,8 +12374,6 @@ bool item::has_rotten_away() const { if( is_corpse() && !can_revive() ) { return get_rot() > 10_days; - } else if( is_comestible() && rot_transform != null ) { - } else { return get_relative_rot() > 2.0; } From 6baa5b6bc3a85116e85b1449e87d815bba39b7c4 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 13:20:59 -0800 Subject: [PATCH 15/20] no fucoidan --- data/json/effects.json | 8 -------- .../furniture-flora_marine.json | 14 -------------- data/json/harvest.json | 8 ++++---- data/json/items/comestibles/raw_veggy.json | 4 ++-- data/json/items/comestibles/veggy_dishes.json | 4 ++-- data/json/mapgen/ocean.json | 9 ++++----- data/json/vitamin.json | 12 ------------ src/game.cpp | 6 +++--- 8 files changed, 15 insertions(+), 50 deletions(-) diff --git a/data/json/effects.json b/data/json/effects.json index 973732723f130..458a2899ee926 100644 --- a/data/json/effects.json +++ b/data/json/effects.json @@ -2124,14 +2124,6 @@ ], "flags": [ "EFFECT_LIMB_SCORE_MOD" ] }, - { - "type": "effect_type", - "id": "anticoagulant_fucoidan", - "max_intensity": 3, - "rating": "bad", - "blood_analysis_description": "Anticoagulant (Fucoidan)", - "effect_dur_scaling": [ { "effect_id": "bleed", "modifier": 1.05, "same_bp": false } ] - }, { "type": "effect_type", "id": "anticoagulant_aspirin", diff --git a/data/json/furniture_and_terrain/furniture-flora_marine.json b/data/json/furniture_and_terrain/furniture-flora_marine.json index 12f16994ae485..770cee5fbeff9 100644 --- a/data/json/furniture_and_terrain/furniture-flora_marine.json +++ b/data/json/furniture_and_terrain/furniture-flora_marine.json @@ -38,23 +38,9 @@ "required_str": -1, "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SMALL_HIDE", "HARVEST_REQ_CUT1" ], "examine_action": "harvest_furn", - "transforms_into": "f_kelp_sugar_harvested", "harvest_by_season": [ { "seasons": [ "spring", "summer" ], "id": "kelp_sugar_harv" } ], "bash": { "str_min": 8, "str_max": 16, "sound": "splat.", "sound_fail": "squelch." } }, - { - "type": "furniture", - "id": "f_kelp_sugar", - "name": "sugar kelp", - "description": "The tender new growth has been harvested from this kelp frond. It will be some time before it will yield anything edible again.", - "symbol": "i", - "color": "brown", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SMALL_HIDE", "HARVEST_REQ_CUT1" ], - "examine_action": "harvest_furn", - "bash": { "str_min": 8, "str_max": 16, "sound": "splat.", "sound_fail": "squelch." } - }, { "type": "furniture", "id": "f_sea_lettuce", diff --git a/data/json/harvest.json b/data/json/harvest.json index 46ffa931bb48f..a6d16a7eb37cd 100644 --- a/data/json/harvest.json +++ b/data/json/harvest.json @@ -390,22 +390,22 @@ { "id": "seaweed_harv", "type": "harvest", - "entries": { "drop": "seaweed" } + "entries": [ { "drop": "seaweed" } ] }, { "id": "kelp_sugar_harv", "type": "harvest", - "entries": { "drop": "kelp_sugar" } + "entries": [ { "drop": "kelp_sugar" } ] }, { "id": "bladderwrack_harv", "type": "harvest", - "entries": { "drop": "bladderwrack" } + "entries": [ { "drop": "bladderwrack" } ] }, { "id": "sea_lettuce_harv", "type": "harvest", - "entries": { "drop": "sea_lettuce" } + "entries": [ { "drop": "sea_lettuce" } ] }, { "id": "fish_tiny", diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 6f1a2f48dcbd6..80750b1fc06b9 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -1247,7 +1247,7 @@ "volume": "250 ml", "flags": [ "FREEZERBURN", "SMOKABLE" ], "smoking_result": "kombu", - "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 90 ] ] + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] }, { "type": "COMESTIBLE", @@ -1266,6 +1266,6 @@ "volume": "250 ml", "flags": [ "FREEZERBURN", "SMOKABLE" ], "smoking_result": "dried_bladderwrack", - "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 360 ] ] + "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ] ] } ] diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index 6e8397baf8306..652f5bd1a6c92 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -1583,7 +1583,7 @@ "volume": "25 ml", "flags": [ "FREEZERBURN", "INEDIBLE" ], "smoking_result": "kombu", - "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 90 ] ] + "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] }, { "type": "COMESTIBLE", @@ -1602,7 +1602,7 @@ "volume": "25 ml", "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], "smoking_result": "dried_bladderwrack", - "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ], [ "vit_anticoagulant_fucoidan", 360 ] ] + "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ] ] }, { "type": "COMESTIBLE", diff --git a/data/json/mapgen/ocean.json b/data/json/mapgen/ocean.json index f54d9509244cc..7371fccc8b924 100644 --- a/data/json/mapgen/ocean.json +++ b/data/json/mapgen/ocean.json @@ -44,7 +44,7 @@ " " ], "nested": { - " ": { "chunks": [ [ "groundover_sea_floor", 20 ], [ "null", 80 ] ] } + " ": { "chunks": [ [ "groundover_sea_floor", 1 ], [ "null", 99 ] ] } } } }, @@ -58,13 +58,12 @@ "terrain": { "0": "t_null" }, "furniture": { "0": [ - [ "f_null", 1200 ], [ "f_algae_red", 4 ], [ "f_algae_green", 3 ], [ "f_kelp_sugar", 1 ], - [ "f_boulder_small", 36 ], - [ "f_boulder_medium", 24 ], - [ "f_boulder_large", 4 ], + [ "f_boulder_small", 8 ], + [ "f_boulder_medium", 4 ], + [ "f_boulder_large", 2 ], [ "f_sea_anemone", 1 ], [ "f_sea_sponge", 1 ] ] diff --git a/data/json/vitamin.json b/data/json/vitamin.json index a2935134ce638..45e345cded0d8 100644 --- a/data/json/vitamin.json +++ b/data/json/vitamin.json @@ -71,18 +71,6 @@ "//": "Takes 30 min to kick in, lasts 5 days", "disease_excess": [ [ 10, 4320 ] ] }, - { - "id": "vit_antiplatelet_fucoidan", - "type": "vitamin", - "vit_type": "drug", - "name": { "str": "" }, - "excess": "anticoagulant_fucoidan", - "min": 0, - "max": 4320, - "rate": "100 s", - "//": "Takes 30 min to kick in, lasts 5 days", - "disease_excess": [ [ 10, 4320 ] ] - }, { "id": "vit_ibuprofen", "type": "vitamin", diff --git a/src/game.cpp b/src/game.cpp index da9ff9ba52fe9..40bb691bbab1e 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -11867,7 +11867,7 @@ void game::vertical_move( int movez, bool force, bool peeking ) tripoint stairs( u.posx(), u.posy(), u.posz() + movez ); bool wall_cling = u.has_flag( json_flag_WALL_CLING ); bool adjacent_climb = false; - if( !force && movez == 1 && !here.has_flag( ter_furn_flag::TFLAG_GOES_UP, u.pos() ) && + if( !force && movez == 1 && !here.has_flag( ter_furn_flag::TFLAG_WATER_CUBE, u.pos() ) && !here.has_flag( ter_furn_flag::TFLAG_GOES_UP, u.pos() ) && !u.is_underwater() ) { // Climbing for( const tripoint &p : here.points_in_radius( u.pos(), 2 ) ) { @@ -11939,7 +11939,7 @@ void game::vertical_move( int movez, bool force, bool peeking ) } } - if( !force && movez == -1 && !here.has_flag( ter_furn_flag::TFLAG_GOES_DOWN, u.pos() ) && + if( !force && movez == -1 && !here.has_flag( ter_furn_flag::TFLAG_GOES_DOWN, u.pos() ) && !here.has_flag( ter_furn_flag::TFLAG_DEEP_WATER, u.pos() ) && !u.is_underwater() && !here.has_flag( ter_furn_flag::TFLAG_NO_FLOOR_WATER, u.pos() ) && !u.has_effect( effect_gliding ) ) { if( wall_cling && !here.has_floor_or_support( u.pos() ) ) { @@ -11953,7 +11953,7 @@ void game::vertical_move( int movez, bool force, bool peeking ) return; } } else if( !climbing && !force && movez == 1 && - !here.has_flag( ter_furn_flag::TFLAG_GOES_UP, u.pos() ) && !u.is_underwater() ) { + !here.has_flag( ter_furn_flag::TFLAG_WATER_CUBE, u.pos() ) && !here.has_flag( ter_furn_flag::TFLAG_GOES_UP, u.pos() ) && !u.is_underwater() ) { add_msg( m_info, _( "You can't go up here!" ) ); return; } From c91dee841a1345cdec57f47e9f25d8e245cef5d7 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 13:54:09 -0800 Subject: [PATCH 16/20] uncrafts --- data/json/items/comestibles/raw_veggy.json | 6 +- data/json/items/comestibles/veggy_dishes.json | 3 +- data/json/recipes/food/dry.json | 117 ++++++++++++++++++ data/json/recipes/recipe_others.json | 24 ++++ data/json/uncraft/generic.json | 14 +++ 5 files changed, 159 insertions(+), 5 deletions(-) diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 80750b1fc06b9..9a90dcc1d8a0f 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -1194,7 +1194,7 @@ "material": [ "veggy" ], "volume": "30 ml", "flags": [ "SMOKABLE", "INEDIBLE" ], - "smoking_result": "dried_seaweed" + "smoking_result": "dry_seaweed" }, { "type": "COMESTIBLE", @@ -1209,7 +1209,7 @@ "material": [ "veggy" ], "volume": "600 ml", "flags": [ "SMOKABLE", "INEDIBLE" ], - "smoking_result": "dried_seaweed_pile" + "smoking_result": "dry_seaweed_pile" }, { "type": "COMESTIBLE", @@ -1265,7 +1265,7 @@ "material": [ "veggy" ], "volume": "250 ml", "flags": [ "FREEZERBURN", "SMOKABLE" ], - "smoking_result": "dried_bladderwrack", + "smoking_result": "dry_veggy", "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ] ] } ] diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index 652f5bd1a6c92..5bf56dc3f5b3a 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -1581,7 +1581,7 @@ "price_postapoc": 10, "material": [ "veggy" ], "volume": "25 ml", - "flags": [ "FREEZERBURN", "INEDIBLE" ], + "flags": [ "INEDIBLE" ], "smoking_result": "kombu", "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] }, @@ -1600,7 +1600,6 @@ "price_postapoc": 10, "material": [ "veggy" ], "volume": "25 ml", - "flags": [ "FREEZERBURN", "SMOKABLE", "RAW" ], "smoking_result": "dried_bladderwrack", "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ] ] }, diff --git a/data/json/recipes/food/dry.json b/data/json/recipes/food/dry.json index 9a7990a83b931..177b1661063a3 100644 --- a/data/json/recipes/food/dry.json +++ b/data/json/recipes/food/dry.json @@ -313,6 +313,123 @@ "//": "69g of stuff, 2u to cook", "components": [ [ [ "mushroom", 1 ], [ "mushroom_morel", 1 ] ] ] }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "kombu", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "20 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 7, "LIST" ] ] ], + "components": [ + [ + [ "kelp_sugar", 1 ] + ] + ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "kombu", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "22 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 7, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ + [ + [ "kelp_sugar", 1 ] + ] + ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_seaweed_pile", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "120 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 100, "LIST" ] ] ], + "components": [ + [ + [ "seaweed", 1 ] + ] + ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_seaweed_pile", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "160 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 100, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ + [ + [ "seaweed", 1 ] + ] + ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_seaweed", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "6 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 5, "LIST" ] ] ], + "components": [ + [ + [ "seaweed", 1 ] + ] + ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_seaweed", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "8 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 5, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ + [ + [ "seaweed", 1 ] + ] + ] + }, { "type": "recipe", "activity_level": "NO_EXERCISE", diff --git a/data/json/recipes/recipe_others.json b/data/json/recipes/recipe_others.json index 8a12306e53f32..a44f7b9f3e499 100644 --- a/data/json/recipes/recipe_others.json +++ b/data/json/recipes/recipe_others.json @@ -3391,5 +3391,29 @@ [ [ "wood_panel", 1 ], [ "sheet_metal", 1 ] ], [ [ "nails", 40, "LIST" ] ] ] + }, + { + "result": "seaweed_pile", + "type": "recipe", + "activity_level": "NO_EXERCISE", + "category": "CC_*", + "subcategory": "CSC_*_NESTED", + "skill_used": "fabrication", + "time": "10 s", + "autolearn": true, + "components": [ [ [ "seaweed", 20 ] ] ], + "flags": [ "BLIND_EASY" ] + }, + { + "result": "dry_seaweed_pile", + "type": "recipe", + "activity_level": "NO_EXERCISE", + "category": "CC_*", + "subcategory": "CSC_*_NESTED", + "skill_used": "fabrication", + "time": "10 s", + "autolearn": true, + "components": [ [ [ "dry_seaweed", 20 ] ] ], + "flags": [ "BLIND_EASY" ] } ] diff --git a/data/json/uncraft/generic.json b/data/json/uncraft/generic.json index 12d71f2f13a16..35b6fe26a7f79 100644 --- a/data/json/uncraft/generic.json +++ b/data/json/uncraft/generic.json @@ -767,5 +767,19 @@ "time": "30 s", "qualities": [ { "id": "CUT", "level": 1 } ], "components": [ [ [ "zipper_long_plastic", 1 ] ], [ [ "plastic_sheet", 4 ] ] ] + }, + { + "result": "dry_seaweed_pile", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "10 s", + "components": [ [ [ "dry_seaweed", 20 ] ] ] + }, + { + "result": "seaweed_pile", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "10 s", + "components": [ [ [ "seaweed", 20 ] ] ] } ] From fe4bfc784e866052e87e814806af2b9c0fdb9d2d Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 14:02:27 -0800 Subject: [PATCH 17/20] recipes --- data/json/items/comestibles/veggy_dishes.json | 18 ------------------ data/json/requirements/cooking_components.json | 8 ++++++-- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index 5bf56dc3f5b3a..39617cc2edfec 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -1585,24 +1585,6 @@ "smoking_result": "kombu", "vitamins": [ [ "calcium", 3 ], [ "iron", 3 ], [ "vitC", 1 ] ] }, - { - "type": "COMESTIBLE", - "id": "dried_bladderwrack", - "name": { "str_sp": "dried bladderwrack" }, - "weight": "10 g", - "color": "brown", - "spoils_in": "2 days", - "comestible_type": "FOOD", - "symbol": "%", - "calories": 17, - "description": "Crunchy dried bits of seaweed. While the effect is minor and only lasts a few days, it's a known anticoagulant and may prolong bleeding any bleeding wounds if consumed in large quantities.", - "price": 10, - "price_postapoc": 10, - "material": [ "veggy" ], - "volume": "25 ml", - "smoking_result": "dried_bladderwrack", - "vitamins": [ [ "calcium", 2 ], [ "iron", 4 ], [ "vitC", 1 ] ] - }, { "type": "COMESTIBLE", "id": "onion_sauteed", diff --git a/data/json/requirements/cooking_components.json b/data/json/requirements/cooking_components.json index 92dc0a47d1149..a84c1ee3604ff 100644 --- a/data/json/requirements/cooking_components.json +++ b/data/json/requirements/cooking_components.json @@ -1092,7 +1092,10 @@ [ "veggy", 1 ], [ "veggy_wild", 1 ], [ "veggy_salted", 1 ], - [ "spinach", 1 ] + [ "spinach", 1 ], + [ "sea_lettuce", 1 ], + [ "bladderwrack", 1 ], + [ "kelp_sugar", 1 ] ] ] }, @@ -1197,7 +1200,8 @@ [ "mushroom_cooked", 1 ], [ "morel_cooked", 1 ], [ "mushroom", 1 ], - [ "dry_mushroom", 1 ] + [ "dry_mushroom", 1 ], + [ "kombu", 1 ] ], [ [ "hot_sauce", 1 ], From dd1c292468867535fdca99077f26a31b07ed14e9 Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 14:16:42 -0800 Subject: [PATCH 18/20] material, descs, cleanup --- data/json/items/comestibles/raw_veggy.json | 2 +- data/json/items/generic.json | 14 +++++++------- data/json/recipes/nested.json | 4 +++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 9a90dcc1d8a0f..8bdbbd77485b1 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -1259,7 +1259,7 @@ "comestible_type": "FOOD", "symbol": "%", "calories": 17, - "description": "A leafy bunch of seaweed covered in air bladders. While the effect is minor, it's a known anticoagulant and may prolong bleeding if consumed in large quantities.", + "description": "A leafy bunch of seaweed covered in air bladders. Many claims are made about its health benefits, but at least as a foodstuff, it's no better or worse than other edible seaweed.", "price": 10, "price_postapoc": 10, "material": [ "veggy" ], diff --git a/data/json/items/generic.json b/data/json/items/generic.json index ef30ae86c2ab3..de6e0edbab2b8 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -287,27 +287,27 @@ }, { "type": "GENERIC", - "id": "dried_seaweed", + "id": "dry_seaweed", "name": { "str": "dried seaweed", "str_pl": "dried seaweed" }, "looks_like": "withered", - "description": "A handful of dried seaweed. It's tough, inedible, and possibly poisonous, but it could be burned or used for crafts.", - "weight": "25 g", + "description": "A bit of dried seaweed. It's tough, inedible, and possibly poisonous, but it could be burned or used for crafts.", + "weight": "10 g", "color": "green", "symbol": ",", - "material": [ "veggy" ], - "volume": "25 ml", + "material": [ "dry_plant" ], + "volume": "10 ml", "flags": [ "TRADER_AVOID", "FIREWOOD", "TINDER" ] }, { "type": "GENERIC", - "id": "dried_seaweed_pile", + "id": "dry_seaweed_pile", "name": { "str": "pile of dried seaweed", "str_pl": "pile of dried seaweed" }, "looks_like": "withered", "description": "A big heap of dried seaweed. It's tough, inedible, and possibly poisonous, but it could be burned or used for crafts.", "weight": "200 g", "color": "green", "symbol": ",", - "material": [ "veggy" ], + "material": [ "dry_plant" ], "volume": "200 ml", "flags": [ "TRADER_AVOID", "FIREWOOD", "TINDER" ] }, diff --git a/data/json/recipes/nested.json b/data/json/recipes/nested.json index 4526fc1f7913d..bd7b2cb8c311d 100644 --- a/data/json/recipes/nested.json +++ b/data/json/recipes/nested.json @@ -3833,7 +3833,9 @@ "bundle_copper_pipe", "bundle_branch", "bundle_branch_long", - "bundle_javelin" + "bundle_javelin", + "seaweed_pile", + "dry_seaweed_pile" ], "difficulty": 1 }, From 6d8e9798082ef74079c22537623bbe8f2441d16b Mon Sep 17 00:00:00 2001 From: fairyarmadillo <94415528+fairyarmadillo@users.noreply.github.com> Date: Tue, 20 Feb 2024 14:25:27 -0800 Subject: [PATCH 19/20] Update dictionary.txt --- tools/spell_checker/dictionary.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/spell_checker/dictionary.txt b/tools/spell_checker/dictionary.txt index 504ea63ce393f..7d9ea420c9c19 100644 --- a/tools/spell_checker/dictionary.txt +++ b/tools/spell_checker/dictionary.txt @@ -344,6 +344,8 @@ blacklists blackpowder blackpowders blacksmithing +bladelike +bladderwrack blocky bloodbank bloodborne @@ -1650,6 +1652,7 @@ knuckleduster knuckledusters knyf kokanee +kombu kompot koom kops From 752c7e2db0480061bbf316f5300435a84707c5aa Mon Sep 17 00:00:00 2001 From: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Date: Thu, 28 Mar 2024 23:04:38 -0500 Subject: [PATCH 20/20] Update furniture-flora_marine.json --- data/json/furniture_and_terrain/furniture-flora_marine.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/furniture_and_terrain/furniture-flora_marine.json b/data/json/furniture_and_terrain/furniture-flora_marine.json index 770cee5fbeff9..f33a6a5fb3d66 100644 --- a/data/json/furniture_and_terrain/furniture-flora_marine.json +++ b/data/json/furniture_and_terrain/furniture-flora_marine.json @@ -8,7 +8,7 @@ "color": "red", "move_cost_mod": 0, "required_str": -1, - "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC"], + "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], "examine_action": "harvest_furn", "harvest_by_season": [ { "seasons": [ "spring", "summer", "autumn", "winter" ], "id": "seaweed_harv" } ], "bash": { "str_min": 2, "str_max": 6, "sound": "splat.", "sound_fail": "squelch." }