diff --git a/data/json/furniture_and_terrain/furniture-signs.json b/data/json/furniture_and_terrain/furniture-signs.json index 157811bf3854..f6726939f7ac 100644 --- a/data/json/furniture_and_terrain/furniture-signs.json +++ b/data/json/furniture_and_terrain/furniture-signs.json @@ -10,7 +10,6 @@ "coverage": 75, "required_str": -1, "flags": [ "FLAMMABLE", "NOITEM", "ORGANIC", "TRANSPARENT" ], - "examine_action": "bulletin_board", "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "nail", "charges": 8 } ] }, "bash": { "str_min": 6, diff --git a/data/json/itemgroups/faction_camps.json b/data/json/itemgroups/faction_camps.json deleted file mode 100644 index 255c7cca48e7..000000000000 --- a/data/json/itemgroups/faction_camps.json +++ /dev/null @@ -1,281 +0,0 @@ -[ - { - "type": "item_group", - "id": "gathering_faction_base_camp_firewood", - "items": [ [ "stick", 200 ], [ "withered", 10 ], [ "straw_pile", 10 ], [ "splinter", 400 ] ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_1", - "items": [ [ "2x4", 100 ], [ "stick", 200 ], [ "rock", 100 ], [ "straw_pile", 100 ], [ "nail", 10 ] ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_2", - "items": [ [ "2x4", 100 ], [ "stick", 200 ], [ "rock", 100 ], [ "nail", 10 ] ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_3", - "items": [ - [ "2x4", 100 ], - [ "stick", 300 ], - [ "rock", 100 ], - [ "straw_pile", 100 ], - [ "nail", 10 ], - [ "sheet_metal", 20 ], - [ "pipe", 30 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_4", - "items": [ - [ "2x4", 100 ], - [ "stick", 300 ], - [ "rock", 100 ], - [ "straw_pile", 100 ], - [ "nail", 10 ], - [ "sheet_metal", 20 ], - [ "pipe", 30 ], - [ "broketent", 10 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_5", - "items": [ [ "2x4", 50 ], [ "log", 100 ], [ "stick", 300 ], [ "nail", 10 ], [ "broketent", 10 ] ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_6", - "items": [ - [ "2x4", 100 ], - [ "stick", 300 ], - [ "rock", 100 ], - [ "straw_pile", 100 ], - [ "nail", 10 ], - [ "sheet_metal", 20 ], - [ "pipe", 30 ], - [ "broketent", 10 ], - [ "scrap", 20 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_7", - "items": [ - [ "2x4", 50 ], - [ "log", 100 ], - [ "stick", 300 ], - [ "nail", 10 ], - [ "broketent", 10 ], - [ "metal_tank", 10 ], - [ "scrap", 20 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_8", - "items": [ - [ "2x4", 100 ], - [ "stick", 300 ], - [ "rock", 100 ], - [ "straw_pile", 100 ], - [ "nail", 10 ], - [ "sheet_metal", 20 ], - [ "pipe", 30 ], - [ "broketent", 10 ], - [ "scrap", 20 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_9", - "items": [ - [ "2x4", 10 ], - [ "log", 100 ], - [ "stick", 300 ], - [ "nail", 10 ], - [ "broketent", 10 ], - [ "sheet_metal", 20 ], - [ "scrap", 20 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_10", - "items": [ [ "2x4", 30 ], [ "log", 100 ], [ "stick", 300 ], [ "nail", 10 ] ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_11", - "items": [ - [ "rock", 100 ], - [ "stick", 100 ], - [ "pipe", 30 ], - [ "2x4", 40 ], - [ "nail", 10 ], - [ "scrap", 40 ], - [ "steel_chunk", 20 ], - [ "broketent", 10 ], - [ "well_pump", 5 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_12", - "items": [ - [ "withered", 300 ], - [ "straw_pile", 100 ], - [ "vine_30", 50 ], - [ "log", 100 ], - [ "nail", 10 ], - [ "scrap", 20 ], - [ "steel_chunk", 10 ], - [ "broketent", 10 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_13", - "items": [ - [ "withered", 500 ], - [ "straw_pile", 100 ], - [ "vine_30", 50 ], - [ "log", 100 ], - [ "nail", 10 ], - [ "scrap", 20 ], - [ "steel_chunk", 10 ], - [ "broketent", 10 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_14", - "items": [ - [ "withered", 100 ], - [ "straw_pile", 50 ], - [ "vine_30", 25 ], - [ "2x4", 50 ], - [ "log", 100 ], - [ "stick", 300 ], - [ "nail", 10 ], - [ "broketent", 30 ], - [ "metal_tank", 10 ], - [ "scrap", 20 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_15", - "items": [ - [ "2x4", 50 ], - [ "pipe", 50 ], - [ "stick", 300 ], - [ "nail", 10 ], - [ "broketent", 30 ], - [ "metal_tank", 20 ], - [ "scrap", 30 ] - ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_16", - "items": [ [ "2x4", 100 ], [ "stick", 300 ], [ "nail", 20 ], [ "scrap", 30 ] ] - }, - { - "type": "item_group", - "id": "gathering_faction_base_camp_17", - "items": [ - [ "2x4", 10 ], - [ "log", 100 ], - [ "stick", 300 ], - [ "nail", 10 ], - [ "broketent", 10 ], - [ "sheet_metal", 20 ], - [ "scrap", 30 ] - ] - }, - { - "type": "item_group", - "//": "There are no more upgrades for the camp but you shouldn't be punished for that.", - "id": "gathering_faction_base_camp_20", - "items": [ - [ "2x4", 10 ], - [ "log", 100 ], - [ "stick", 300 ], - [ "nail", 10 ], - [ "rag", 100 ], - [ "sheet_metal", 20 ], - [ "scrap", 30 ], - [ "withered", 50 ], - [ "straw_pile", 50 ], - [ "vine_30", 5 ] - ] - }, - { - "type": "item_group", - "id": "foraging_faction_camp_spring", - "items": [ - { "item": "datura_seed", "count": [ 2, 5 ], "prob": 5 }, - { "item": "raw_dandelion", "count": [ 1, 4 ], "prob": 20 }, - { "item": "raw_burdock", "count": [ 1, 4 ], "prob": 20 }, - { "item": "cattail_stalk", "count": [ 1, 4 ], "prob": 20 }, - { "group": "forage_spring", "prob": 55 } - ] - }, - { - "type": "item_group", - "id": "foraging_faction_camp_summer", - "items": [ - { "item": "datura_seed", "count": [ 2, 5 ], "prob": 5 }, - { "item": "raw_dandelion", "count": [ 1, 4 ], "prob": 20 }, - { "item": "raw_burdock", "count": [ 1, 4 ], "prob": 20 }, - { "item": "cattail_stalk", "count": [ 1, 4 ], "prob": 20 }, - { "item": "sunflower", "count": [ 1, 2 ], "prob": 20 }, - { "item": "cherries", "count": [ 3, 9 ], "prob": 30 }, - { "item": "pear", "count": [ 1, 3 ], "prob": 30 }, - { "item": "apricot", "count": [ 1, 3 ], "prob": 30 }, - { "item": "plums", "count": [ 1, 3 ], "prob": 30 }, - { "item": "mulberries", "count": [ 1, 3 ], "prob": 30 }, - { "item": "elderberries", "count": [ 4, 10 ], "prob": 30 }, - { "item": "blueberries", "count": [ 1, 3 ], "prob": 30 }, - { "item": "strawberries", "count": [ 1, 3 ], "prob": 30 }, - { "item": "blackberries", "count": [ 1, 3 ], "prob": 30 }, - { "item": "huckleberries", "count": [ 1, 3 ], "prob": 30 }, - { "item": "raspberries", "count": [ 1, 3 ], "prob": 30 }, - { "item": "grapes", "count": [ 1, 3 ], "prob": 25 }, - { "group": "forage_summer", "prob": 250 } - ] - }, - { - "type": "item_group", - "id": "foraging_faction_camp_autumn", - "items": [ - { "item": "datura_seed", "count": [ 2, 5 ], "prob": 5 }, - { "item": "raw_dandelion", "count": [ 1, 4 ], "prob": 20 }, - { "item": "raw_burdock", "count": [ 1, 4 ], "prob": 20 }, - { "item": "cattail_stalk", "count": [ 1, 4 ], "prob": 20 }, - { "item": "walnut", "count": [ 2, 6 ], "prob": 20 }, - { "item": "chestnut", "count": [ 2, 6 ], "prob": 20 }, - { "item": "beech_nuts", "count": [ 2, 6 ], "prob": 20 }, - { "item": "hazelnut", "count": [ 2, 6 ], "prob": 20 }, - { "item": "acorns", "count": [ 2, 6 ], "prob": 20 }, - { "item": "apple", "count": [ 1, 3 ], "prob": 20 }, - { "item": "pear", "count": [ 1, 3 ], "prob": 20 }, - { "item": "coffee_pod", "count": [ 2, 5 ], "prob": 15 }, - { "item": "hickory_nut", "count": [ 3, 6 ], "prob": 20 }, - { "item": "pistachio", "count": [ 3, 6 ], "prob": 20 }, - { "item": "almond", "count": [ 3, 6 ], "prob": 20 }, - { "item": "pecan", "count": [ 3, 6 ], "prob": 20 }, - { "item": "peanut", "count": [ 3, 6 ], "prob": 20 }, - { "group": "forage_autumn", "prob": 200 } - ] - }, - { - "type": "item_group", - "id": "foraging_faction_camp_winter", - "items": [ { "item": "cattail_rhizome", "count": [ 1, 4 ], "prob": 25 }, { "group": "forage_winter", "prob": 75 } ] - } -] diff --git a/data/json/items/basecamp.json b/data/json/items/basecamp.json deleted file mode 100644 index 3c3402902b5a..000000000000 --- a/data/json/items/basecamp.json +++ /dev/null @@ -1,62 +0,0 @@ -[ - { - "id": "fake_char_smoker", - "type": "TOOL", - "copy-from": "fake_item", - "name": { "str": "basecamp charcoal smoker" }, - "description": "A fake charcoal smoker used for basecamps.", - "sub": "char_smoker", - "ammo": "charcoal", - "max_charges": 2000 - }, - { - "id": "fake_fireplace", - "type": "TOOL", - "copy-from": "fake_item", - "name": { "str": "basecamp fireplace" }, - "description": "A fake fireplace used for basecamps.", - "sub": "hotplate", - "ammo": "tinder", - "max_charges": 50000, - "charge_factor": 25 - }, - { - "id": "fake_forge", - "type": "TOOL", - "copy-from": "fake_item", - "name": { "str": "basecamp forge" }, - "description": "A fake forge used for basecamps.", - "sub": "char_forge", - "ammo": "charcoal", - "max_charges": 2000 - }, - { - "id": "fake_char_kiln", - "type": "TOOL", - "copy-from": "fake_item", - "name": { "str": "basecamp kiln" }, - "description": "A fake kiln used for basecamps.", - "sub": "char_kiln", - "ammo": "charcoal", - "max_charges": 2000 - }, - { - "id": "fake_stove", - "type": "TOOL", - "copy-from": "fake_item", - "name": { "str": "basecamp stove" }, - "description": "A fake stove used for basecamps.", - "sub": "hotplate", - "ammo": "tinder", - "max_charges": 50000, - "charge_factor": 10 - }, - { - "id": "fake_drop_hammer", - "type": "TOOL", - "copy-from": "fake_item", - "name": { "str": "basecamp drop hammer" }, - "description": "A fake drop hammer used for basecamps.", - "qualities": [ [ "HAMMER", 5 ] ] - } -] diff --git a/data/json/mapgen/basecamps/empty.json b/data/json/mapgen/basecamps/empty.json deleted file mode 100644 index 66074b8ae6cf..000000000000 --- a/data/json/mapgen/basecamps/empty.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "type": "mapgen", - "update_mapgen_id": "empty", - "method": "json", - "object": { } - }, - { - "type": "mapgen", - "update_mapgen_id": "empty_but_shouldnt_be", - "method": "json", - "object": { } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_common.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_common.json deleted file mode 100644 index e62767c8f863..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_common.json +++ /dev/null @@ -1,222 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmk_common_palette", - "terrain": { - "d": "t_door_c", - "B": "t_grass", - "o": "t_window_no_curtains", - "w": "t_wall_wood", - ".": "t_floor", - ",": "t_dirtfloor", - "S": "t_dirtfloor", - "a": "t_dirtfloor", - "U": "t_rootcellar" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "K": "f_kiln_empty", - "a": "f_stool", - "r": "f_rack_wood", - "R": "f_rack", - "h": "f_chair", - "S": "f_smoking_rack", - "V": "f_fvat_empty", - "B": "f_birdbath", - "H": "f_butcher_rack", - "c": "f_counter", - "p": "f_planter" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_0", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_0" ], "x": 10, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_fireplace", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_fireplace", "x": 11, "y": 8 }, - { "point": "furniture", "id": "f_fireplace", "x": 13, "y": 8 }, - { "point": "furniture", "id": "f_counter", "x": 10, "y": 8 } - ], - "place_loot": [ { "item": "pot", "x": 10, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_stove", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_woodstove", "x": 11, "y": 8 }, - { "point": "furniture", "id": "f_woodstove", "x": 13, "y": 8 }, - { "point": "furniture", "id": "f_counter", "x": 10, "y": 8 } - ], - "place_loot": [ { "item": "pot", "x": 10, "y": 8 }, { "item": "pan", "x": 10, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_well", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 12, "y": 5 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_counters", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " c ", - " ", - " ccc ", - " ", - " rr rr ", - " " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_counters", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_counters" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_smoking_kiln", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_smoking_rack", "x": 17, "y": 8 }, - { "point": "furniture", "id": "f_smoking_rack", "x": 18, "y": 8 }, - { "point": "furniture", "id": "f_smoking_rack", "x": 19, "y": 8 }, - { "point": "furniture", "id": "f_kiln_empty", "x": 19, "y": 12 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " rrrrU ", - " V ", - " rrrr ", - " V ", - " rrrrU ", - " " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_furniture", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_butchery_rack", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_butcher_rack", "x": 17, "y": 12 }, - { "point": "furniture", "id": "f_table", "x": 16, "y": 12 } - ], - "place_loot": [ { "item": "knife_butcher", "x": 16, "y": 12 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_furniture", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "hth hth", - "hth hth", - "hth hth", - "hth hth", - " ", - " ", - " " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_furniture", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_furniture" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_planters", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "ppp", - "ppp", - " " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_planters_1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_planters" ], "x": 4, "y": 4 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_planters_2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_planters" ], "x": 8, "y": 4 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_planters_3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_planters" ], "x": 14, "y": 4 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_planters_4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_planters" ], "x": 18, "y": 4 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_log.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_log.json deleted file mode 100644 index 6935ddc92d80..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_log.json +++ /dev/null @@ -1,200 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmk_log_palette", - "terrain": { - "d": "t_door_c", - "B": "t_grass", - "o": "t_window_no_curtains", - "w": "t_wall_log", - ".": "t_floor", - ",": "t_dirtfloor", - "S": "t_dirtfloor", - "a": "t_dirtfloor", - "U": "t_rootcellar" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "K": "f_kiln_empty", - "a": "f_stool", - "r": "f_rack_wood", - "R": "f_rack", - "h": "f_chair", - "S": "f_smoking_rack", - "V": "f_fvat_empty", - "B": "f_birdbath", - "H": "f_butcher_rack", - "c": "f_counter", - "p": "f_planter" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wowdwow", - "w.....w", - "......o", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room_log" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room2_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - "w.....d", - "......o", - "w.....w", - "wwwdwww" - ], - "palettes": [ "fbmk_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen2_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room2_log" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_smoking_area_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - ",w,w ", - ",,,, ", - ",,,, ", - ",,aw ", - ",,,, ", - ",,,, ", - "ww,w " - ], - "palettes": [ "fbmk_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_smoking_area_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_smoking_area_log" ], "x": 16, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwww ", - "w..... ", - "o..... ", - "w..... ", - "o..... ", - "w..... ", - "wwwwww " - ], - "palettes": [ "fbmk_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry_log" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_west_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " bbbw..", - " w..", - " B o..", - " d..", - " o..", - " ww.", - " ww" - ], - "palettes": [ "fbmk_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_west_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_west_log" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_east_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "...w ", - "...w ", - "...ob ", - "...wb ", - "...ob ", - "..ww ", - "oww " - ], - "palettes": [ "fbmk_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_east_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_east_log" ], "x": 14, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_center_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " owdw " - ], - "palettes": [ "fbmk_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_center_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_center_log" ], "x": 8, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_metal.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_metal.json deleted file mode 100644 index d299b18d0777..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_metal.json +++ /dev/null @@ -1,199 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmk_metal_palette", - "terrain": { - "d": "t_door_metal_c", - "B": "t_grass", - "o": "t_window_no_curtains", - "w": "t_junk_wall", - ".": "t_floor", - ",": "t_dirtfloor", - "S": "t_dirtfloor", - "a": "t_dirtfloor", - "U": "t_rootcellar" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "K": "f_kiln_empty", - "a": "f_stool", - "r": "f_rack_wood", - "h": "f_chair", - "S": "f_smoking_rack", - "V": "f_fvat_empty", - "B": "f_birdbath", - "H": "f_butcher_rack", - "c": "f_counter", - "p": "f_planter" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wowdwow", - "w.....w", - "......o", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_metal", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room_metal" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room2_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - "w.....d", - "......o", - "w.....w", - "wwwdwww" - ], - "palettes": [ "fbmk_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen2_metal", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room2_metal" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_smoking_area_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - ",w,w ", - ",,,, ", - ",,,, ", - ",,aw ", - ",,,, ", - ",,,, ", - "ww,w " - ], - "palettes": [ "fbmk_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_smoking_area_metal", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_smoking_area_metal" ], "x": 16, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwww ", - "w..... ", - "o..... ", - "w..... ", - "o..... ", - "w..... ", - "wwwwww " - ], - "palettes": [ "fbmk_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_metal", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry_metal" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_west_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " bbbw..", - " w..", - " B o..", - " d..", - " o..", - " ww.", - " ww" - ], - "palettes": [ "fbmk_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_west_metal", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_west_metal" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_east_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "...w ", - "...w ", - "...ob ", - "...wb ", - "...ob ", - "..ww ", - "oww " - ], - "palettes": [ "fbmk_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_east_metal", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_east_metal" ], "x": 14, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_center_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " owdw " - ], - "palettes": [ "fbmk_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_center_metal", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_center_metal" ], "x": 8, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_migo_resin.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_migo_resin.json deleted file mode 100644 index fb95729512b8..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_migo_resin.json +++ /dev/null @@ -1,200 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmk_migo_resin_palette", - "terrain": { - "d": "t_resin_hole_c", - "B": "t_grass", - "o": "t_wall_resin_cage", - "w": "t_wall_resin", - ".": "t_floor_resin", - ",": "t_dirtfloor", - "S": "t_dirtfloor", - "a": "t_dirtfloor", - "U": "t_rootcellar" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "K": "f_kiln_empty", - "a": "f_stool", - "r": "f_rack_wood", - "R": "f_rack", - "h": "f_chair", - "S": "f_smoking_rack", - "V": "f_fvat_empty", - "B": "f_birdbath", - "H": "f_butcher_rack", - "c": "f_counter", - "p": "f_planter" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wowdwow", - "w.....w", - "......o", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_migo_resin", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room_migo_resin" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room2_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - "w.....d", - "......o", - "w.....w", - "wwwdwww" - ], - "palettes": [ "fbmk_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen2_migo_resin", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room2_migo_resin" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_smoking_area_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - ",w,w ", - ",,,, ", - ",,,, ", - ",,aw ", - ",,,, ", - ",,,, ", - "ww,w " - ], - "palettes": [ "fbmk_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_smoking_area_migo_resin", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_smoking_area_migo_resin" ], "x": 16, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwww ", - "w..... ", - "o..... ", - "w..... ", - "o..... ", - "w..... ", - "wwwwww " - ], - "palettes": [ "fbmk_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_migo_resin", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry_migo_resin" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_west_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " bbbw..", - " w..", - " B o..", - " d..", - " o..", - " ww.", - " ww" - ], - "palettes": [ "fbmk_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_west_migo_resin", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_west_migo_resin" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_east_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "...w ", - "...w ", - "...ob ", - "...wb ", - "...ob ", - "..ww ", - "oww " - ], - "palettes": [ "fbmk_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_east_migo_resin", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_east_migo_resin" ], "x": 14, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_center_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " owdw " - ], - "palettes": [ "fbmk_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_center_migo_resin", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_center_migo_resin" ], "x": 8, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_rammed_earth.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_rammed_earth.json deleted file mode 100644 index 2f7ecf199534..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_rammed_earth.json +++ /dev/null @@ -1,200 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmk_rammed_earth_palette", - "terrain": { - "d": "t_door_makeshift_c", - "B": "t_grass", - "o": "t_window_empty", - "w": "t_wall_rammed_earth", - ".": "t_dirtfloor", - ",": "t_dirtfloor", - "S": "t_dirtfloor", - "a": "t_dirtfloor", - "U": "t_rootcellar" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "K": "f_kiln_empty", - "a": "f_stool", - "r": "f_rack_wood", - "R": "f_rack", - "h": "f_chair", - "S": "f_smoking_rack", - "V": "f_fvat_empty", - "B": "f_birdbath", - "H": "f_butcher_rack", - "c": "f_counter", - "p": "f_planter" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wowdwow", - "w.....w", - "......o", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_rammed_earth", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room_rammed_earth" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room2_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - "w.....d", - "......o", - "w.....w", - "wwwdwww" - ], - "palettes": [ "fbmk_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen2_rammed_earth", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room2_rammed_earth" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_smoking_area_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - ",w,w ", - ",,,, ", - ",,,, ", - ",,aw ", - ",,,, ", - ",,,, ", - "ww,w " - ], - "palettes": [ "fbmk_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_smoking_area_rammed_earth", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_smoking_area_rammed_earth" ], "x": 16, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwww ", - "w..... ", - "o..... ", - "w..... ", - "o..... ", - "w..... ", - "wwwwww " - ], - "palettes": [ "fbmk_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_rammed_earth", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry_rammed_earth" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_west_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " bbbw..", - " w..", - " B o..", - " d..", - " o..", - " ww.", - " ww" - ], - "palettes": [ "fbmk_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_west_rammed_earth", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_west_rammed_earth" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_east_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "...w ", - "...w ", - "...ob ", - "...wb ", - "...ob ", - "..ww ", - "oww " - ], - "palettes": [ "fbmk_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_east_rammed_earth", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_east_rammed_earth" ], "x": 14, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_center_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " owdw " - ], - "palettes": [ "fbmk_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_center_rammed_earth", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_center_rammed_earth" ], "x": 8, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_rock.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_rock.json deleted file mode 100644 index 30e47ad802be..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_rock.json +++ /dev/null @@ -1,200 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmk_rock_palette", - "terrain": { - "d": "t_door_c", - "B": "t_grass", - "o": "t_window_no_curtains", - "w": "t_rock_wall", - ".": "t_floor", - ",": "t_dirtfloor", - "S": "t_dirtfloor", - "a": "t_dirtfloor", - "U": "t_rootcellar" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "K": "f_kiln_empty", - "a": "f_stool", - "r": "f_rack_wood", - "R": "f_rack", - "h": "f_chair", - "S": "f_smoking_rack", - "V": "f_fvat_empty", - "B": "f_birdbath", - "H": "f_butcher_rack", - "c": "f_counter", - "p": "f_planter" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wowdwow", - "w.....w", - "......o", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room_rock" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room2_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - "w.....d", - "......o", - "w.....w", - "wwwdwww" - ], - "palettes": [ "fbmk_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen2_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room2_rock" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_smoking_area_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - ",w,w ", - ",,,, ", - ",,,, ", - ",,aw ", - ",,,, ", - ",,,, ", - "ww,w " - ], - "palettes": [ "fbmk_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_smoking_area_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_smoking_area_rock" ], "x": 16, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwww ", - "w..... ", - "o..... ", - "w..... ", - "o..... ", - "w..... ", - "wwwwww " - ], - "palettes": [ "fbmk_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry_rock" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_west_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " bbbw..", - " w..", - " B o..", - " d..", - " o..", - " ww.", - " ww" - ], - "palettes": [ "fbmk_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_west_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_west_rock" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_east_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "...w ", - "...w ", - "...ob ", - "...wb ", - "...ob ", - "..ww ", - "oww " - ], - "palettes": [ "fbmk_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_east_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_east_rock" ], "x": 14, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_center_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " owdw " - ], - "palettes": [ "fbmk_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_center_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_center_rock" ], "x": 8, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_wad.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_wad.json deleted file mode 100644 index 2b5c1baf4e9c..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_wad.json +++ /dev/null @@ -1,200 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmk_wad_palette", - "terrain": { - "d": "t_door_makeshift_c", - "B": "t_grass", - "o": "t_wall_wattle_half", - "w": "t_wall_wattle", - ".": "t_dirtfloor", - ",": "t_dirtfloor", - "S": "t_dirtfloor", - "a": "t_dirtfloor", - "U": "t_rootcellar" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "K": "f_kiln_empty", - "a": "f_stool", - "r": "f_rack_wood", - "R": "f_rack", - "h": "f_chair", - "S": "f_smoking_rack", - "V": "f_fvat_empty", - "B": "f_birdbath", - "H": "f_butcher_rack", - "c": "f_counter", - "p": "f_planter" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wowdwow", - "w.....w", - "......o", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room_wad" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room2_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - "w.....d", - "......o", - "w.....w", - "wwwdwww" - ], - "palettes": [ "fbmk_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen2_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room2_wad" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_smoking_area_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - ",w,w ", - ",,,, ", - ",,,, ", - ",,aw ", - ",,,, ", - ",,,, ", - "ww,w " - ], - "palettes": [ "fbmk_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_smoking_area_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_smoking_area_wad" ], "x": 16, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwww ", - "w..... ", - "o..... ", - "w..... ", - "o..... ", - "w..... ", - "wwwwww " - ], - "palettes": [ "fbmk_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry_wad" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_west_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " bbbw..", - " w..", - " B o..", - " d..", - " o..", - " ww.", - " ww" - ], - "palettes": [ "fbmk_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_west_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_west_wad" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_east_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "...w ", - "...w ", - "...ob ", - "...wb ", - "...ob ", - "..ww ", - "oww " - ], - "palettes": [ "fbmk_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_east_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_east_wad" ], "x": 14, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_center_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " owdw " - ], - "palettes": [ "fbmk_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_center_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_center_wad" ], "x": 8, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_wood.json b/data/json/mapgen/basecamps/modular_canteen/modular_canteen_wood.json deleted file mode 100644 index 69001ba90615..000000000000 --- a/data/json/mapgen/basecamps/modular_canteen/modular_canteen_wood.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wowdwow", - "w.....w", - "......o", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room_wood" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_kitchen_room2_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - "w.....d", - "......o", - "w.....w", - "wwwdwww" - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_canteen2_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_kitchen_room2_wood" ], "x": 9, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_smoking_area_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - ",w,w ", - ",,,, ", - ",,,, ", - ",,aw ", - ",,,, ", - ",,,, ", - "ww,w " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_smoking_area_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_smoking_area_wood" ], "x": 16, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_pantry_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwww ", - "w..... ", - "o..... ", - "w..... ", - "o..... ", - "w..... ", - "wwwwww " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_pantry_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_pantry_wood" ], "x": 3, "y": 7 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_west_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " bbbw..", - " w..", - " B o..", - " d..", - " o..", - " ww.", - " ww" - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_west_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_west_wood" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_east_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "...w ", - "...w ", - "...ob ", - "...wb ", - "...ob ", - "..ww ", - "oww " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_east_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_east_wood" ], "x": 14, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmk_canteen_dining_center_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " .... ", - " owdw " - ], - "palettes": [ "fbmk_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmk_canteen_dining_center_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmk_canteen_dining_center_wood" ], "x": 8, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_common.json b/data/json/mapgen/basecamps/modular_field_common.json deleted file mode 100644 index a26784cfa758..000000000000 --- a/data/json/mapgen/basecamps/modular_field_common.json +++ /dev/null @@ -1,309 +0,0 @@ -[ - { - "type": "mapgen", - "update_mapgen_id": "fbmh_0", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_dirt", "x": 10, "y": 3 }, - { "point": "furniture", "id": "f_bulletin", "x": 10, "y": 3 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_fireplace_northeast", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_fireplace", "x": 19, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_brazier_northeast", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_brazier", "x": 19, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_stove_northeast", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_woodstove", "x": 19, "y": 6 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_strawbed", - "object": { - "mapgensize": [ 2, 2 ], - "set": [ - { "point": "furniture", "id": "f_straw_bed", "x": 0, "y": 0 }, - { "point": "furniture", "id": "f_straw_bed", "x": 1, "y": 0 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_strawbed1_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 5 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_bedset", - "object": { - "mapgensize": [ 3, 3 ], - "set": [ - { "point": "furniture", "id": "f_bookcase", "x": 0, "y": 0 }, - { "point": "furniture", "id": "f_bed", "x": 1, "y": 0 }, - { "point": "furniture", "id": "f_bed", "x": 2, "y": 0 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_bed1_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 5 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_strawbed2_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 7 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_bed2_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 7 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_strawbed3_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 11 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_bed3_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 11 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_strawbed3_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 10 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_bed3_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 10 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_strawbed3_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 17 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_bed3_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 17 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_strawbed3_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 16 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_bed3_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 16 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_strawbed3_northwest", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 5 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 7 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_bed3_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 5 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 7 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_strawbed3_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 11 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_bed3_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 11 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_strawbed3_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 10 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_bed3_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 10 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_strawbed3_southwest", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 17 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_bed3_southwest", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 17 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_strawbed3_southwest", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 16 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room_bed3_southwest", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 16 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 19 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_kitchen_fireplace_center", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_counter", "x": 13, "y": 10 }, - { "point": "furniture", "id": "f_fireplace", "x": 12, "y": 11 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_kitchen_butchery_center", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_butcher_rack", "x": 12, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_kitchen_toolrack_center", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_bookcase", "x": 10, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_tableset", - "object": { - "mapgensize": [ 3, 3 ], - "set": [ - { "point": "furniture", "id": "f_chair", "x": 0, "y": 1 }, - { "point": "furniture", "id": "f_table", "x": 1, "y": 1 }, - { "point": "furniture", "id": "f_chair", "x": 2, "y": 1 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_kitchen_table_center", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 12 }, { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 13 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_kitchen_table_south", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 16 }, { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 15 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_kitchen_stove_south", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_counter", "x": 10, "y": 19 }, - { "point": "furniture", "id": "f_woodstove", "x": 11, "y": 19 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_well_north", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 13, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_root_cellar_north", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_rootcellar", "x": 12, "y": 8 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_radio_tower_north", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_radio_tower", "x": 13, "y": 3 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_radio_console_north", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_radio_controls", "x": 13, "y": 4 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_defenses.json b/data/json/mapgen/basecamps/modular_field_defenses.json deleted file mode 100644 index 728b67d5e5be..000000000000 --- a/data/json/mapgen/basecamps/modular_field_defenses.json +++ /dev/null @@ -1,194 +0,0 @@ -[ - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_north", - "method": "json", - "object": { - "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 0, "y2": 0 } ], - "place_items": [ - { "x": 3, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 4, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 5, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 6, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 7, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 8, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 9, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 10, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 11, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 12, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 13, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 14, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 15, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 16, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 17, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 18, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 19, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_south", - "method": "json", - "object": { - "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 23, "y2": 23 } ], - "place_items": [ - { "x": 3, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 4, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 5, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 6, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 7, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 8, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 9, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 10, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 11, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 12, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 13, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 14, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 15, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 16, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 17, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 18, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 19, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_corner_northeast", - "method": "json", - "object": { - "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 0, "y2": 4 } ], - "place_items": [ - { "x": 20, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_corner_northwest", - "method": "json", - "object": { - "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 0, "y2": 4 } ], - "place_items": [ - { "x": 3, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_corner_southeast", - "method": "json", - "object": { - "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 19, "y2": 23 } ], - "place_items": [ - { "x": 20, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 20, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_corner_southwest", - "method": "json", - "object": { - "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 19, "y2": 23 } ], - "place_items": [ - { "x": 3, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 3, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_east", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit", "x": 21, "x2": 22, "y": 0, "y2": 0 }, - { "line": "terrain", "id": "t_pit", "x": 21, "x2": 22, "y": 23, "y2": 23 }, - { "line": "terrain", "id": "t_pit", "x": 23, "x2": 23, "y": 0, "y2": 23 } - ], - "place_items": [ - { "x": 22, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 5, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 6, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 7, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 8, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 9, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 10, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 11, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 12, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 13, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 14, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 15, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 16, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 17, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 18, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 22, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_trench_west", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit", "x": 1, "x2": 2, "y": 0, "y2": 0 }, - { "line": "terrain", "id": "t_pit", "x": 1, "x2": 2, "y": 23, "y2": 23 }, - { "line": "terrain", "id": "t_pit", "x": 0, "x2": 0, "y": 0, "y2": 23 } - ], - "place_items": [ - { "x": 1, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 5, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 6, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 7, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 8, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 9, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 10, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 11, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 12, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 13, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 14, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 15, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 16, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 17, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 18, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }, - { "x": 1, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_metal.json b/data/json/mapgen/basecamps/modular_field_metal.json deleted file mode 100644 index 48a75f3f60c9..000000000000 --- a/data/json/mapgen/basecamps/modular_field_metal.json +++ /dev/null @@ -1,428 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmh_metal_palette", - "terrain": { ";": "t_dirt", ".": "t_scrap_floor", "+": "t_door_metal_c", "v": "t_window_no_curtains", "w": "t_scrap_wall" }, - "furniture": { } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room0_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ;;ww;", - " ;;..w", - " ;;..w", - " ;;;;;", - " ;;;;;" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room0_metal_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room0_metal" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room1_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " v ", - " w. ", - " . ", - " w...w", - " " - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room1_metal_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room1_metal" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room2_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " w w", - " ", - " + ", - " ", - " wwwww" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room2_metal_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room2_metal" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_metal_shack_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_metal_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_east" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_metal_room_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_metal_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_metal_room_east" ], "x": 15, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_metal", "x": 15, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_metal_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_metal_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_metal_room_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_metal_shack_northwest", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ";;;;;;", - "wwwww;", - "w...w;", - "v...+;", - "w...w;", - "wwwww;" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_metal_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_northwest" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_metal_shack_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_metal_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_west" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_metal_room_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_metal_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_metal_room_west" ], "x": 3, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_metal", "x": 8, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_metal_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_metal_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_metal_room_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_ne_metal_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ..w", - " ..w", - " ..+", - " ..w", - " ..w" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_ne_metal_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_metal_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_ne_metal_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ...", - " ...", - " ...", - " ...", - " ..." - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_ne_metal_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_metal_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_nw_metal_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "w.. " - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_nw_metal_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_metal_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_nw_metal_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "... ", - "... ", - "... ", - "... ", - "... " - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_nw_metal_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_metal_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_metal_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_nw_metal_center" ], "x": 9, "y": 9 }, - { "chunks": [ "fbmh_core_ne_metal_center" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_se_metal_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..w", - " ..w", - " ..w", - " ..+", - " ..w", - " +ww" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_se_metal_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_metal_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_se_metal_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ...", - " ...", - " ...", - " ...", - " ...", - " +ww" - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_se_metal_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_metal_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_sw_metal_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w.. ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "www " - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_sw_metal_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_metal_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_sw_metal_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "... ", - "... ", - "... ", - "... ", - "... ", - "www " - ], - "palettes": [ "fbmh_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_sw_metal_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_metal_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_metal_south", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_sw_metal_south" ], "x": 9, "y": 15 }, - { "chunks": [ "fbmh_core_se_metal_south" ], "x": 9, "y": 15 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_migo_resin.json b/data/json/mapgen/basecamps/modular_field_migo_resin.json deleted file mode 100644 index e08e55f4f2b1..000000000000 --- a/data/json/mapgen/basecamps/modular_field_migo_resin.json +++ /dev/null @@ -1,428 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmh_migo_resin_palette", - "terrain": { ";": "t_dirt", ".": "t_floor_resin", "+": "t_resin_hole_c", "v": "t_wall_resin_cage", "w": "t_wall_resin" }, - "furniture": { } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room0_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ;;ww;", - " ;;..w", - " ;;..w", - " ;;;;;", - " ;;;;;" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room0_migo_resin_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room0_migo_resin" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room1_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " v ", - " w. ", - " . ", - " w...w", - " " - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room1_migo_resin_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room1_migo_resin" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room2_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " w w", - " ", - " + ", - " ", - " wwwww" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room2_migo_resin_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room2_migo_resin" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_migo_resin_shack_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_migo_resin_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_migo_resin_shack_east" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_migo_resin_room_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_migo_resin_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_migo_resin_room_east" ], "x": 15, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_resin", "x": 15, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_migo_resin_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_migo_resin_shack_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_migo_resin_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_migo_resin_room_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_migo_resin_shack_northwest", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ";;;;;;", - "wwwww;", - "w...w;", - "v...+;", - "w...w;", - "wwwww;" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_migo_resin_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_migo_resin_shack_northwest" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_migo_resin_shack_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_migo_resin_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_migo_resin_shack_west" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_migo_resin_room_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_migo_resin_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_migo_resin_room_west" ], "x": 3, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_resin", "x": 8, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_migo_resin_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_migo_resin_shack_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_migo_resin_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_migo_resin_room_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_ne_migo_resin_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ..w", - " ..w", - " ..+", - " ..w", - " ..w" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_ne_migo_resin_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_migo_resin_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_ne_migo_resin_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ...", - " ...", - " ...", - " ...", - " ..." - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_ne_migo_resin_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_migo_resin_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_nw_migo_resin_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "w.. " - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_nw_migo_resin_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_migo_resin_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_nw_migo_resin_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "... ", - "... ", - "... ", - "... ", - "... " - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_nw_migo_resin_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_migo_resin_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_migo_resin_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_nw_migo_resin_center" ], "x": 9, "y": 9 }, - { "chunks": [ "fbmh_core_ne_migo_resin_center" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_se_migo_resin_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..w", - " ..w", - " ..w", - " ..+", - " ..w", - " +ww" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_se_migo_resin_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_migo_resin_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_se_migo_resin_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ...", - " ...", - " ...", - " ...", - " ...", - " +ww" - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_se_migo_resin_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_migo_resin_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_sw_migo_resin_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w.. ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "www " - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_sw_migo_resin_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_migo_resin_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_sw_migo_resin_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "... ", - "... ", - "... ", - "... ", - "... ", - "www " - ], - "palettes": [ "fbmh_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_sw_migo_resin_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_migo_resin_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_migo_resin_south", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_sw_migo_resin_south" ], "x": 9, "y": 15 }, - { "chunks": [ "fbmh_core_se_migo_resin_south" ], "x": 9, "y": 15 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_rammed_earth.json b/data/json/mapgen/basecamps/modular_field_rammed_earth.json deleted file mode 100644 index ea9fdfc9e4dd..000000000000 --- a/data/json/mapgen/basecamps/modular_field_rammed_earth.json +++ /dev/null @@ -1,434 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmh_rammed_earth_palette", - "terrain": { - ";": "t_dirt", - ".": "t_floor_primitive", - "+": "t_door_makeshift_c", - "v": "t_window_empty", - "w": "t_wall_rammed_earth" - }, - "furniture": { } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room0_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ;;ww;", - " ;;..w", - " ;;..w", - " ;;;;;", - " ;;;;;" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room0_rammed_earth_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room0_rammed_earth" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room1_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " v ", - " w. ", - " . ", - " w...w", - " " - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room1_rammed_earth_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room1_rammed_earth" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room2_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " w w", - " ", - " + ", - " ", - " wwwww" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room2_rammed_earth_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room2_rammed_earth" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_rammed_earth_shack_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_rammed_earth_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_rammed_earth_shack_east" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_rammed_earth_room_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_rammed_earth_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_rammed_earth_room_east" ], "x": 15, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_rammed_earth", "x": 15, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_rammed_earth_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_rammed_earth_shack_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_rammed_earth_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_rammed_earth_room_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_rammed_earth_shack_northwest", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ";;;;;;", - "wwwww;", - "w...w;", - "v...+;", - "w...w;", - "wwwww;" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_rammed_earth_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_rammed_earth_shack_northwest" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_rammed_earth_shack_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_rammed_earth_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_rammed_earth_shack_west" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_rammed_earth_room_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_rammed_earth_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_rammed_earth_room_west" ], "x": 3, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_rammed_earth", "x": 8, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_rammed_earth_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_rammed_earth_shack_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_rammed_earth_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_rammed_earth_room_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_ne_rammed_earth_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ..w", - " ..w", - " ..+", - " ..w", - " ..w" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_ne_rammed_earth_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_rammed_earth_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_ne_rammed_earth_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ...", - " ...", - " ...", - " ...", - " ..." - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_ne_rammed_earth_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_rammed_earth_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_nw_rammed_earth_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "w.. " - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_nw_rammed_earth_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_rammed_earth_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_nw_rammed_earth_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "... ", - "... ", - "... ", - "... ", - "... " - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_nw_rammed_earth_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_rammed_earth_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_rammed_earth_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_nw_rammed_earth_center" ], "x": 9, "y": 9 }, - { "chunks": [ "fbmh_core_ne_rammed_earth_center" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_se_rammed_earth_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..w", - " ..w", - " ..w", - " ..+", - " ..w", - " +ww" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_se_rammed_earth_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_rammed_earth_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_se_rammed_earth_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ...", - " ...", - " ...", - " ...", - " ...", - " +ww" - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_se_rammed_earth_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_rammed_earth_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_sw_rammed_earth_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w.. ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "www " - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_sw_rammed_earth_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_rammed_earth_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_sw_rammed_earth_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "... ", - "... ", - "... ", - "... ", - "... ", - "www " - ], - "palettes": [ "fbmh_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_sw_rammed_earth_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_rammed_earth_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_rammed_earth_south", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_sw_rammed_earth_south" ], "x": 9, "y": 15 }, - { "chunks": [ "fbmh_core_se_rammed_earth_south" ], "x": 9, "y": 15 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_tent.json b/data/json/mapgen/basecamps/modular_field_tent.json deleted file mode 100644 index e2675d80dbe0..000000000000 --- a/data/json/mapgen/basecamps/modular_field_tent.json +++ /dev/null @@ -1,78 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmh_tent_palette", - "terrain": { " ": "t_dirt", ".": "t_dirtfloor", "+": "t_dirtfloor", "w": "t_dirtfloor" }, - "furniture": { "+": "f_canvas_door", "w": "f_canvas_wall" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_large_tent_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " wwwww", - " w...w", - " +...w", - " w...w", - " wwwww" - ], - "palettes": [ "fbmh_tent_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_east" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_east" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_large_tent_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - "wwwww ", - "w...w ", - "w...+ ", - "w...w ", - "wwwww " - ], - "palettes": [ "fbmh_tent_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_west" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_west" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_tent_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_west" ], "x": 3, "y": 15 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_wad.json b/data/json/mapgen/basecamps/modular_field_wad.json deleted file mode 100644 index dfd368333f5c..000000000000 --- a/data/json/mapgen/basecamps/modular_field_wad.json +++ /dev/null @@ -1,428 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmh_wad_palette", - "terrain": { ";": "t_dirt", ".": "t_floor_primitive", "+": "t_door_makeshift_c", "v": "t_wall_wattle_half", "w": "t_wall_wattle" }, - "furniture": { } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room0_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ;;ww;", - " ;;..w", - " ;;..w", - " ;;;;;", - " ;;;;;" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room0_wad_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room0_wad" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room1_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " v ", - " w. ", - " . ", - " w...w", - " " - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room1_wad_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room1_wad" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room2_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " w w", - " ", - " + ", - " ", - " wwwww" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room2_wad_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room2_wad" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wad_shack_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wad_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_east" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wad_room_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wad_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_wad_room_east" ], "x": 15, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_wattle", "x": 15, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wad_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wad_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wad_room_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wad_shack_northwest", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ";;;;;;", - "wwwww;", - "w...w;", - "v...+;", - "w...w;", - "wwwww;" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wad_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_northwest" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wad_shack_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wad_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_west" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wad_room_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wad_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_wad_room_west" ], "x": 3, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_wattle", "x": 8, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wad_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wad_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wad_room_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_ne_wad_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ..w", - " ..w", - " ..+", - " ..w", - " ..w" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_ne_wad_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_wad_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_ne_wad_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ...", - " ...", - " ...", - " ...", - " ..." - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_ne_wad_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_wad_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_nw_wad_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "w.. " - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_nw_wad_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_wad_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_nw_wad_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "... ", - "... ", - "... ", - "... ", - "... " - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_nw_wad_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_wad_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_wad_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_nw_wad_center" ], "x": 9, "y": 9 }, - { "chunks": [ "fbmh_core_ne_wad_center" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_se_wad_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..w", - " ..w", - " ..w", - " ..+", - " ..w", - " +ww" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_se_wad_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_wad_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_se_wad_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ...", - " ...", - " ...", - " ...", - " ...", - " +ww" - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_se_wad_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_wad_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_sw_wad_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w.. ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "www " - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_sw_wad_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_wad_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_sw_wad_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "... ", - "... ", - "... ", - "... ", - "... ", - "www " - ], - "palettes": [ "fbmh_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_sw_wad_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_wad_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_wad_south", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_sw_wad_south" ], "x": 9, "y": 15 }, - { "chunks": [ "fbmh_core_se_wad_south" ], "x": 9, "y": 15 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_field_wood.json b/data/json/mapgen/basecamps/modular_field_wood.json deleted file mode 100644 index 5f2db459d69e..000000000000 --- a/data/json/mapgen/basecamps/modular_field_wood.json +++ /dev/null @@ -1,428 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmh_wood_palette", - "terrain": { ";": "t_dirt", ".": "t_floor", "+": "t_door_c", "v": "t_window_no_curtains", "w": "t_wall_wood" }, - "furniture": { } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room0_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ;;ww;", - " ;;..w", - " ;;..w", - " ;;;;;", - " ;;;;;" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room0_wood_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room0_wood" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room1_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " v ", - " w. ", - " . ", - " w...w", - " " - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room1_wood_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room1_wood" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_room2_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " w w", - " ", - " + ", - " ", - " wwwww" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room2_wood_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_room2_wood" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wood_shack_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wood_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_east" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wood_room_east", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "+....w", - "w....v", - "w....w", - "w+wwww" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wood_east", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_wood_room_east" ], "x": 15, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_wood", "x": 15, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wood_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wood_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wood_room_east" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wood_shack_northwest", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ";;;;;;", - "wwwww;", - "w...w;", - "v...+;", - "w...w;", - "wwwww;" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wood_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_northwest" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wood_shack_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wood_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_west" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_wood_room_west", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - "w....w", - "w....+", - "v....w", - "w....w", - "wwww+w" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wood_west", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmh_wood_room_west" ], "x": 3, "y": 9 } ], - "set": [ { "point": "terrain", "id": "t_wall_wood", "x": 8, "y": 8 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_shack4_wood_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_room4_wood_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_wood_room_west" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_ne_wood_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ..w", - " ..w", - " ..+", - " ..w", - " ..w" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_ne_wood_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_wood_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_ne_wood_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " ...", - " ...", - " ...", - " ...", - " ..." - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_ne_wood_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_wood_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_nw_wood_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "w.. " - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_nw_wood_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_wood_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_nw_wood_center", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "ww+ ", - "... ", - "... ", - "... ", - "... ", - "... " - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_nw_wood_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_wood_center" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_wood_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_nw_wood_center" ], "x": 9, "y": 9 }, - { "chunks": [ "fbmh_core_ne_wood_center" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_se_wood_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..w", - " ..w", - " ..w", - " ..+", - " ..w", - " +ww" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_se_wood_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_wood_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_se_wood_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ...", - " ...", - " ...", - " ...", - " ...", - " +ww" - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_se_wood_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_wood_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_shack_sw_wood_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w.. ", - "w.. ", - "w.. ", - "+.. ", - "w.. ", - "www " - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_shack_sw_wood_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_wood_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmh_core_sw_wood_south", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "... ", - "... ", - "... ", - "... ", - "... ", - "www " - ], - "palettes": [ "fbmh_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_sw_wood_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_wood_south" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmh_core_wood_south", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmh_core_sw_wood_south" ], "x": 9, "y": 15 }, - { "chunks": [ "fbmh_core_se_wood_south" ], "x": 9, "y": 15 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_firestation1.json b/data/json/mapgen/basecamps/modular_firestation1.json deleted file mode 100644 index f8cfef3f1c10..000000000000 --- a/data/json/mapgen/basecamps/modular_firestation1.json +++ /dev/null @@ -1,486 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_firestation1_palette", - "terrain": { - "u": "t_rootcellar", - ".": "t_dirt", - "^": "t_dirtmound", - "|": "t_wall_w", - "d": "t_door_c", - "G": "t_privacy_fencegate_c", - "#": "t_privacy_fence" - }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "c": "f_counter", - "r": "f_rack", - "b": "f_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_0", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_floor", "x": 6, "y": 12 }, - { "point": "furniture", "id": "f_bulletin", "x": 6, "y": 12 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_kitchen1", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - "t ", - "t t" - ], - "palettes": [ "fbmc_firestation1_palette" ], - "place_furniture": [ - { "furn": "f_null", "x": 0, "y": 2 }, - { "furn": "f_null", "x": 0, "y": 3 }, - { "furn": "f_null", "x": 1, "y": 2 }, - { "furn": "f_null", "x": 1, "y": 3 }, - { "furn": "f_null", "x": 1, "y": 4 }, - { "furn": "f_null", "x": 2, "y": 2 }, - { "furn": "f_null", "x": 2, "y": 3 }, - { "furn": "f_null", "x": 2, "y": 4 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_kitchen1_cleared", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmc_firestation1_kitchen1" ], "x": 1, "y": 9 } ], - "place_loot": [ - { "item": "2x4", "repeat": 24, "x": 2, "y": 10, "chance": 100 }, - { "item": "nail", "repeat": 36, "x": 2, "y": 10, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_fireplace", - "method": "json", - "object": { - "set": [ { "point": "furniture", "id": "f_fireplace", "x": 1, "y": 12 } ], - "place_loot": [ { "item": "pot", "x": 1, "y": 13, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_brazier", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_brazier", "x": 1, "y": 12 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_stove", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_woodstove", "x": 1, "y": 12 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_well", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 5, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_radio_console", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_radio_tower", "x": 5, "y": 1 }, - { "point": "terrain", "id": "t_radio_controls", "x": 3, "y": 2 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_kitchen2", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - "u ", - "c ", - " r ", - " r ", - " cc " - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_kitchen3", - "object": { - "mapgensize": [ 6, 6 ], - "place_furniture": [ - { "furn": "f_null", "x": 0, "y": 3 }, - { "furn": "f_null", "x": 0, "y": 4 }, - { "furn": "f_null", "x": 2, "y": 1 }, - { "furn": "f_null", "x": 2, "y": 2 }, - { "furn": "f_null", "x": 1, "y": 0 }, - { "furn": "f_null", "x": 0, "y": 0 }, - { "furn": "f_null", "x": 1, "y": 1 }, - { "furn": "f_null", "x": 1, "y": 2 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_kitchen2_storage", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_firestation1_kitchen3" ], "x": 1, "y": 2 }, - { "chunks": [ "fbmc_firestation1_kitchen2" ], "x": 1, "y": 9 } - ], - "set": [ { "point": "furniture", "id": "f_locker", "x": 17, "y": 21 } ], - "place_loot": [ { "item": "2x4", "repeat": 8, "x": 2, "y": 10, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_smoking_kiln", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_smoking_rack", "x": 1, "y": 0 }, - { "point": "furniture", "id": "f_smoking_rack", "x": 3, "y": 0 }, - { "point": "furniture", "id": "f_kiln_empty", "x": 5, "y": 2 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_butchery_rack", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_butcher_rack", "x": 1, "y": 5 }, - { "point": "furniture", "id": "f_table", "x": 1, "y": 4 } - ], - "place_loot": [ { "item": "knife_butcher", "x": 1, "y": 4, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_fermenting_vat", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_fvat_empty", "x": 1, "y": 2 }, - { "point": "furniture", "id": "f_fvat_empty", "x": 1, "y": 3 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_garage_area", - "method": "json", - "object": { - "place_loot": [ - { "item": "wrench", "x": 8, "y": 21, "chance": 100 }, - { "item": "hacksaw", "x": 8, "y": 21, "chance": 100 }, - { "item": "pliers", "x": 8, "y": 21, "chance": 100 }, - { "item": "screwdriver", "x": 8, "y": 21, "chance": 100 }, - { "item": "hammer", "x": 8, "y": 21, "chance": 100 }, - { "item": "manual_mechanics", "x": 8, "y": 21, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_forge", - "method": "json", - "object": { - "set": [ { "point": "furniture", "id": "f_forge_rock", "x": 6, "y": 17 } ], - "place_loot": [ { "item": "hammer", "x": 8, "y": 21, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_grid_forge", - "method": "json", - "object": { - "set": [ { "point": "furniture", "id": "f_gridforge", "x": 6, "y": 17 } ], - "place_loot": [ { "item": "hammer", "x": 8, "y": 21, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_forge2", - "method": "json", - "object": { - "set": [ { "point": "furniture", "id": "f_anvil", "x": 8, "y": 17 } ], - "place_loot": [ { "item": "crucible", "x": 7, "y": 17, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_forge3", - "method": "json", - "object": { - "set": [ { "point": "furniture", "id": "f_clay_kiln", "x": 6, "y": 19 } ], - "place_loot": [ - { "item": "glassblowing_book", "x": 8, "y": 21, "chance": 100 }, - { "item": "glasses_safety", "x": 8, "y": 21, "chance": 100 }, - { "item": "chemistry_set", "x": 8, "y": 21, "chance": 100 }, - { "item": "pipe", "x": 8, "y": 21, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_forge4", - "method": "json", - "object": { - "place_loot": [ - { "item": "tongs", "x": 8, "y": 21, "chance": 100 }, - { "item": "chisel", "x": 8, "y": 21, "chance": 100 }, - { "item": "swage", "x": 8, "y": 21, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_workbench", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_workbench", "x": 8, "y": 18 }, - { "point": "furniture", "id": "f_workbench", "x": 8, "y": 19 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_bellows", - "method": "json", - "object": { - "set": [ { "point": "furniture", "id": "f_bellows", "x": 6, "y": 18 } ], - "place_loot": [ - { "item": "30gal_drum", "x": 8, "y": 16, "chance": 100 }, - { "item": "hammer_sledge", "x": 8, "y": 21, "chance": 100 }, - { "item": "knife_combat", "x": 8, "y": 21, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_drophammer", - "method": "json", - "object": { - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 7, "y": 21 } ], - "place_loot": [ { "item": "wrench", "x": 8, "y": 21, "chance": 100 }, { "item": "pliers", "x": 8, "y": 21, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_farm_land", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - "^^.^.^^", - "^^.^.^^", - "^^.^.^^", - "^^.^.^^", - "^^.^.^^" - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_farm", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmc_firestation1_farm_land" ], "x": 7, "y": 0 } ], - "place_loot": [ { "item": "pickaxe", "x": 8, "y": 21, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_living_quarters", - "object": { - "mapgensize": [ 13, 13 ], - "rows": [ - " | ", - " | ", - " | ", - " d ", - " | ", - " ||||| ||||", - " | | | ", - " | d d ", - " | | | ", - " ||||| ||||", - " | | | ", - " | d d ", - " | | | " - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_living_area", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_firestation1_living_quarters" ], "x": 10, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_living_quarters_SW", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "bbL", - "t ", - "bb " - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_bedroom_sw", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_firestation1_living_quarters_SW" ], "x": 14, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_living_quarters_NW", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "bbL", - "t ", - "bbL" - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_bedroom_nw", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_firestation1_living_quarters_NW" ], "x": 14, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_living_quarters_NE", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "Lbb", - " t", - "Lbb" - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_bedroom_ne", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_firestation1_living_quarters_NE" ], "x": 20, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_living_quarters_SE", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "Lbb", - " t", - " bb" - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_bedroom_se", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_firestation1_living_quarters_SE" ], "x": 20, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_garden_fence", - "object": { - "mapgensize": [ 10, 10 ], - "rows": [ - "####G#####", - " #", - " #", - " #", - " #", - " G", - " #", - " ", - " ", - " " - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_garden_fence1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_firestation1_garden_fence" ], "x": 5, "y": 1 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_firestation1_quarters_common_room", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - "hhh C s", - "ttt s", - "hhh C s", - " BBB", - " ", - " " - ], - "palettes": [ "fbmc_firestation1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_firestation1_quarters_common", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_firestation1_quarters_common_room" ], "x": 16, "y": 9 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_common.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_common.json deleted file mode 100644 index 1e0120cd0dda..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_common.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "mapgen", - "update_mapgen_id": "faction_base_livestock_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_0" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_0", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_yard_chickenwire", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "f f", - "f f", - "f f", - "f f", - "f f", - "fdffff" - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_yard_chickenwire_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_yard_chickenwire" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_pasture0_splitrail", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "FFDFFF", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_pasture0_splitrail_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_pasture0_splitrail" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_pasture1_splitrail", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " FF" - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_pasture1_splitrail_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_pasture1_splitrail" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_pasture2_splitrail", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " F ", - " F ", - " D ", - " F ", - " F ", - "FFDFF " - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_pasture2_splitrail_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_pasture2_splitrail" ], "x": 9, "y": 15 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_log.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_log.json deleted file mode 100644 index ea0b81a2868a..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_log.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "type": "palette", - "id": "fbml_log_palette", - "terrain": { - ".": "t_dirtfloor", - "b": "t_dirtfloor", - "r": "t_dirtfloor", - "t": "t_dirtfloor", - "d": "t_chickenwire_gate_c", - "f": "t_chickenwire_fence", - "o": "t_window_no_curtains", - "F": "t_splitrail_fence", - "D": "t_splitrail_fencegate_c", - "w": "t_wall_log", - "+": "t_door_c" - }, - "furniture": { "b": "f_bench", "r": "f_rack", "t": "f_table" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....w", - "w....w", - "w....w", - "wwdfww" - ], - "palettes": [ "fbml_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_log_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_log" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_shack_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbml_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_shack_log_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_shack_log" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable0_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..D..", - "w..F..", - "w..F..", - "w..Fbb", - "wwwwww" - ], - "palettes": [ "fbml_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable0_log_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable0_log" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable1_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable1_log_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable1_log" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable2_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable2_log_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable2_log" ], "x": 3, "y": 3 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_metal.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_metal.json deleted file mode 100644 index 93138eaa33a7..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_metal.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "type": "palette", - "id": "fbml_metal_palette", - "terrain": { - ".": "t_dirtfloor", - "b": "t_dirtfloor", - "r": "t_dirtfloor", - "t": "t_dirtfloor", - "d": "t_chickenwire_gate_c", - "f": "t_chickenwire_fence", - "o": "t_window_no_curtains", - "F": "t_splitrail_fence", - "D": "t_splitrail_fencegate_c", - "w": "t_scrap_wall", - "+": "t_door_c" - }, - "furniture": { "b": "f_bench", "r": "f_rack", "t": "f_table" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....w", - "w....w", - "w....w", - "wwdfww" - ], - "palettes": [ "fbml_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_metal_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_metal" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_shack_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbml_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_shack_metal_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_shack_metal" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable0_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..D..", - "w..F..", - "w..F..", - "w..Fbb", - "wwwwww" - ], - "palettes": [ "fbml_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable0_metal_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable0_metal" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable1_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable1_metal_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable1_metal" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable2_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable2_metal_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable2_metal" ], "x": 3, "y": 3 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_migo_resin.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_migo_resin.json deleted file mode 100644 index 6b99e04f09b9..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_migo_resin.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "type": "palette", - "id": "fbml_migo_resin_palette", - "terrain": { - ".": "t_floor_resin", - "b": "t_floor_resin", - "r": "t_floor_resin", - "t": "t_floor_resin", - "d": "t_chickenwire_gate_c", - "f": "t_chickenwire_fence", - "o": "t_wall_resin_cage", - "F": "t_splitrail_fence", - "D": "t_splitrail_fencegate_c", - "w": "t_wall_resin", - "+": "t_resin_hole_c" - }, - "furniture": { "b": "f_bench", "r": "f_rack_wood", "t": "f_table" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....w", - "w....w", - "w....w", - "wwdfww" - ], - "palettes": [ "fbml_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_migo_resin_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_migo_resin" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_shack_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbml_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_shack_migo_resin_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_shack_migo_resin" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable0_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..D..", - "w..F..", - "w..F..", - "w..Fbb", - "wwwwww" - ], - "palettes": [ "fbml_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable0_migo_resin_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable0_migo_resin" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable1_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable1_migo_resin_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable1_migo_resin" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable2_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable2_migo_resin_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable2_migo_resin" ], "x": 3, "y": 3 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_rammed_earth.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_rammed_earth.json deleted file mode 100644 index 25e2fad85055..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_rammed_earth.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "type": "palette", - "id": "fbml_rammed_earth_palette", - "terrain": { - ".": "t_dirtfloor", - "b": "t_dirtfloor", - "r": "t_dirtfloor", - "t": "t_dirtfloor", - "d": "t_chickenwire_gate_c", - "f": "t_chickenwire_fence", - "o": "t_window_empty", - "F": "t_splitrail_fence", - "D": "t_splitrail_fencegate_c", - "w": "t_wall_rammed_earth", - "+": "t_door_makeshift_c" - }, - "furniture": { "b": "f_bench", "r": "f_rack_wood", "t": "f_table" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....w", - "w....w", - "w....w", - "wwdfww" - ], - "palettes": [ "fbml_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_rammed_earth_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_rammed_earth" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_shack_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbml_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_shack_rammed_earth_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_shack_rammed_earth" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable0_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..D..", - "w..F..", - "w..F..", - "w..Fbb", - "wwwwww" - ], - "palettes": [ "fbml_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable0_rammed_earth_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable0_rammed_earth" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable1_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable1_rammed_earth_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable1_rammed_earth" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable2_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable2_rammed_earth_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable2_rammed_earth" ], "x": 3, "y": 3 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_rock.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_rock.json deleted file mode 100644 index 7a65438c61fc..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_rock.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "type": "palette", - "id": "fbml_rock_palette", - "terrain": { - ".": "t_dirtfloor", - "b": "t_dirtfloor", - "r": "t_dirtfloor", - "t": "t_dirtfloor", - "d": "t_chickenwire_gate_c", - "f": "t_chickenwire_fence", - "o": "t_window_no_curtains", - "F": "t_splitrail_fence", - "D": "t_splitrail_fencegate_c", - "w": "t_rock_wall", - "+": "t_door_c" - }, - "furniture": { "b": "f_bench", "r": "f_rack", "t": "f_table" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....w", - "w....w", - "w....w", - "wwdfww" - ], - "palettes": [ "fbml_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_rock_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_rock" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_shack_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbml_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_shack_rock_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_shack_rock" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable0_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..D..", - "w..F..", - "w..F..", - "w..Fbb", - "wwwwww" - ], - "palettes": [ "fbml_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable0_rock_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable0_rock" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable1_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable1_rock_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable1_rock" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable2_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable2_rock_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable2_rock" ], "x": 3, "y": 3 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_wad.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_wad.json deleted file mode 100644 index f44202805b71..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_wad.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "type": "palette", - "id": "fbml_wad_palette", - "terrain": { - ".": "t_dirtfloor", - "b": "t_dirtfloor", - "r": "t_dirtfloor", - "t": "t_dirtfloor", - "d": "t_chickenwire_gate_c", - "f": "t_chickenwire_fence", - "o": "t_wall_wattle_half", - "F": "t_splitrail_fence", - "D": "t_splitrail_fencegate_c", - "w": "t_wall_wattle", - "+": "t_door_makeshift_c" - }, - "furniture": { "b": "f_bench", "r": "f_rack_wood", "t": "f_table" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....w", - "w....w", - "w....w", - "wwdfww" - ], - "palettes": [ "fbml_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_wad_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_wad" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_shack_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbml_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_shack_wad_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_shack_wad" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable0_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..D..", - "w..F..", - "w..F..", - "w..Fbb", - "wwwwww" - ], - "palettes": [ "fbml_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable0_wad_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable0_wad" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable1_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable1_wad_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable1_wad" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable2_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable2_wad_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable2_wad" ], "x": 3, "y": 3 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_wood.json b/data/json/mapgen/basecamps/modular_livestock/modular_livestock_wood.json deleted file mode 100644 index 18918cef8110..000000000000 --- a/data/json/mapgen/basecamps/modular_livestock/modular_livestock_wood.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "type": "palette", - "id": "fbml_wood_palette", - "terrain": { - ".": "t_dirtfloor", - "b": "t_dirtfloor", - "r": "t_dirtfloor", - "t": "t_dirtfloor", - "d": "t_chickenwire_gate_c", - "f": "t_chickenwire_fence", - "o": "t_window_no_curtains", - "F": "t_splitrail_fence", - "D": "t_splitrail_fencegate_c", - "w": "t_wall_wood", - "+": "t_door_c" - }, - "furniture": { "b": "f_bench", "r": "f_rack", "t": "f_table" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_coop_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w....w", - "w....w", - "w....w", - "w....w", - "wwdfww" - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_coop_wood_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_coop_wood" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_shack_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_shack_wood_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_shack_wood" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable0_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..D..", - "w..F..", - "w..F..", - "w..Fbb", - "wwwwww" - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable0_wood_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable0_wood" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable1_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww.w", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable1_wood_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable1_wood" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbml_stable2_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwwww", - "w..F..", - "w..D..", - "wwwwb.", - "w..Fb.", - "w..D.." - ], - "palettes": [ "fbml_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbml_stable2_wood_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_stable2_wood" ], "x": 3, "y": 3 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_common.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_common.json deleted file mode 100644 index 4f1c2300cf5c..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_common.json +++ /dev/null @@ -1,73 +0,0 @@ -[ - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_0", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmsw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_saltworks_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_0" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery1_still", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - " ^ ", - " # ", - " s tr ", - " " - ], - "palettes": [ "fbmsw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery1_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery1_still" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery2_kegs", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " H r ", - " ", - " ", - " H ", - " H ", - " " - ], - "palettes": [ "fbmsw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery2_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery2_kegs" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_log.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_log.json deleted file mode 100644 index 4d9b0fafeb6b..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_log.json +++ /dev/null @@ -1,108 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmsw_log_palette", - "terrain": { - ".": "t_floor_primitive", - "b": "t_floor_primitive", - "r": "t_floor_primitive", - "t": "t_floor_primitive", - "#": "t_floor_primitive", - "H": "t_floor_primitive", - "^": "t_floor_primitive", - "s": "t_floor_primitive", - "~": "t_swater_sh", - "o": "t_window_no_curtains", - "w": "t_wall_log", - "+": "t_door_c" - }, - "furniture": { - "b": "f_bench", - "r": "f_rack", - "t": "f_table", - "#": "f_stool", - "c": "f_counter", - "H": "f_wood_keg", - "O": "f_fvat_empty", - "^": "f_still", - "s": "f_woodstove" - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_saltworks_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_0" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_saltpan_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwowww", - "w.....w", - "w.c.c.w", - "o.~t~.o", - "w.~#~.w", - "w.....w", - "www+www" - ], - "palettes": [ "fbmsw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_saltpan_log_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_log" ], "x": 14, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_shack_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbmsw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_shack_log_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_log" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery0_log", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwwww", - "w.rrr.w", - "oH....+", - "wO....w", - "o.....w", - "w.....w", - "wwwwwww" - ], - "palettes": [ "fbmsw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery0_log_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_log" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_metal.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_metal.json deleted file mode 100644 index ac5c4d2c2c28..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_metal.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmsw_metal_palette", - "terrain": { - ".": "t_metal_floor", - "b": "t_metal_floor", - "r": "t_metal_floor", - "t": "t_metal_floor", - "#": "t_metal_floor", - "H": "t_metal_floor", - "^": "t_metal_floor", - "s": "t_metal_floor", - "~": "t_swater_sh", - "o": "t_window_no_curtains", - "w": "t_scrap_wall", - "+": "t_door_c" - }, - "furniture": { - "b": "f_bench", - "r": "f_rack", - "t": "f_table", - "#": "f_stool", - "c": "f_counter", - "H": "f_wood_keg", - "O": "f_fvat_empty", - "^": "f_still", - "s": "f_woodstove" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_saltpan_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwowww", - "w.....w", - "w.c.c.w", - "o.~t~.o", - "w.~#~.w", - "w.....w", - "www+www" - ], - "palettes": [ "fbmsw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_saltpan_metal_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_metal" ], "x": 14, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_shack_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbmsw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_shack_metal_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_metal" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery0_metal", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwwww", - "w.rrr.w", - "oH....+", - "wO....w", - "o.....w", - "w.....w", - "wwwwwww" - ], - "palettes": [ "fbmsw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery0_metal_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_metal" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_migo_resin.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_migo_resin.json deleted file mode 100644 index bf9130777c54..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_migo_resin.json +++ /dev/null @@ -1,89 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmsw_migo_resin_palette", - "terrain": { ".": "t_floor_resin", "~": "t_swater_sh", "o": "t_wall_resin_cage", "w": "t_wall_resin", "+": "t_resin_hole_c" }, - "furniture": { - "b": "f_bench", - "r": "f_rack", - "t": "f_table", - "#": "f_stool", - "c": "f_counter", - "H": "f_wood_keg", - "O": "f_fvat_empty", - "^": "f_still", - "s": "f_woodstove" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_saltpan_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwowww", - "w.....w", - "w.c.c.w", - "o.~t~.o", - "w.~#~.w", - "w.....w", - "www+www" - ], - "palettes": [ "fbmsw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_saltpan_migo_resin_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_migo_resin" ], "x": 14, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_shack_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbmsw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_shack_migo_resin_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_migo_resin" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery0_migo_resin", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwwww", - "w.rrr.w", - "oH....+", - "wO....w", - "o.....w", - "w.....w", - "wwwwwww" - ], - "palettes": [ "fbmsw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery0_migo_resin_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_migo_resin" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rammed_earth.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rammed_earth.json deleted file mode 100644 index 24d826fd616a..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rammed_earth.json +++ /dev/null @@ -1,89 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmsw_rammed_earth_palette", - "terrain": { ".": "t_dirtfloor", "~": "t_swater_sh", "o": "t_window_empty", "w": "t_wall_rammed_earth", "+": "t_door_makeshift_c" }, - "furniture": { - "b": "f_bench", - "r": "f_rack", - "t": "f_table", - "#": "f_stool", - "c": "f_counter", - "H": "f_wood_keg", - "O": "f_fvat_empty", - "^": "f_still", - "s": "f_woodstove" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_saltpan_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwowww", - "w.....w", - "w.c.c.w", - "o.~t~.o", - "w.~#~.w", - "w.....w", - "www+www" - ], - "palettes": [ "fbmsw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_saltpan_rammed_earth_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_rammed_earth" ], "x": 14, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_shack_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbmsw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_shack_rammed_earth_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_rammed_earth" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery0_rammed_earth", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwwww", - "w.rrr.w", - "oH....+", - "wO....w", - "o.....w", - "w.....w", - "wwwwwww" - ], - "palettes": [ "fbmsw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery0_rammed_earth_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_rammed_earth" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rock.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rock.json deleted file mode 100644 index 5e418f5a2237..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rock.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmsw_rock_palette", - "terrain": { - ".": "t_rock_floor", - "b": "t_rock_floor", - "r": "t_rock_floor", - "t": "t_rock_floor", - "#": "t_rock_floor", - "H": "t_rock_floor", - "^": "t_rock_floor", - "s": "t_rock_floor", - "~": "t_swater_sh", - "o": "t_window_no_curtains", - "w": "t_rock_wall", - "+": "t_door_c" - }, - "furniture": { - "b": "f_bench", - "r": "f_rack", - "t": "f_table", - "#": "f_stool", - "c": "f_counter", - "H": "f_wood_keg", - "O": "f_fvat_empty", - "^": "f_still", - "s": "f_woodstove" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_saltpan_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwowww", - "w.....w", - "w.c.c.w", - "o.~t~.o", - "w.~#~.w", - "w.....w", - "www+www" - ], - "palettes": [ "fbmsw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_saltpan_rock_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_rock" ], "x": 14, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_shack_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbmsw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_shack_rock_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_rock" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery0_rock", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwwww", - "w.rrr.w", - "oH....+", - "wO....w", - "o.....w", - "w.....w", - "wwwwwww" - ], - "palettes": [ "fbmsw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery0_rock_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_rock" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wad.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wad.json deleted file mode 100644 index 43fbdfb7ce1f..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wad.json +++ /dev/null @@ -1,89 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmsw_wad_palette", - "terrain": { ".": "t_dirtfloor", "~": "t_swater_sh", "o": "t_wall_wattle_half", "w": "t_wall_wattle", "+": "t_door_makeshift_c" }, - "furniture": { - "b": "f_bench", - "r": "f_rack", - "t": "f_table", - "#": "f_stool", - "c": "f_counter", - "H": "f_wood_keg", - "O": "f_fvat_empty", - "^": "f_still", - "s": "f_woodstove" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_saltpan_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwowww", - "w.....w", - "w.c.c.w", - "o.~t~.o", - "w.~#~.w", - "w.....w", - "www+www" - ], - "palettes": [ "fbmsw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_saltpan_wad_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_wad" ], "x": 14, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_shack_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbmsw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_shack_wad_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_wad" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery0_wad", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwwww", - "w.rrr.w", - "oH....+", - "wO....w", - "o.....w", - "w.....w", - "wwwwwww" - ], - "palettes": [ "fbmsw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery0_wad_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_wad" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wood.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wood.json deleted file mode 100644 index 83b9392c3322..000000000000 --- a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wood.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmsw_wood_palette", - "terrain": { - ".": "t_floor", - "b": "t_floor", - "r": "t_floor", - "t": "t_floor", - "#": "t_floor", - "H": "t_floor", - "^": "t_floor", - "s": "t_floor", - "~": "t_swater_sh", - "o": "t_window_no_curtains", - "w": "t_wall_wood", - "+": "t_door_c" - }, - "furniture": { - "b": "f_bench", - "r": "f_rack", - "t": "f_table", - "#": "f_stool", - "c": "f_counter", - "H": "f_wood_keg", - "O": "f_fvat_empty", - "^": "f_still", - "s": "f_woodstove" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_saltpan_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwowww", - "w.....w", - "w.c.c.w", - "o.~t~.o", - "w.~#~.w", - "w.....w", - "www+www" - ], - "palettes": [ "fbmsw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_saltpan_wood_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_wood" ], "x": 14, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_shack_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " woww", - " wwrrw", - " +..to", - " orrrw", - " wwoww" - ], - "palettes": [ "fbmsw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_shack_wood_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_wood" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmsw_brewery0_wood", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "wwwwwww", - "w.rrr.w", - "oH....+", - "wO....w", - "o.....w", - "w.....w", - "wwwwwww" - ], - "palettes": [ "fbmsw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmsw_brewery0_wood_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_wood" ], "x": 3, "y": 14 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_common.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_common.json deleted file mode 100644 index 09cd4d697711..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_common.json +++ /dev/null @@ -1,331 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_palette", - "terrain": { "w": "t_wall", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_0", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_floor", "x": 9, "y": 9 }, - { "point": "furniture", "id": "f_bulletin", "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_fireplace", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_fireplace", "x": 18, "y": 11 }, - { "point": "furniture", "id": "f_table", "x": 18, "y": 12 } - ], - "place_loot": [ { "item": "pot", "x": 18, "y": 12, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_brazier", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_brazier", "x": 18, "y": 11 }, - { "point": "furniture", "id": "f_table", "x": 18, "y": 12 } - ], - "place_loot": [ { "item": "pot", "x": 18, "y": 12, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_stove", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_woodstove", "x": 18, "y": 11 }, - { "point": "furniture", "id": "f_table", "x": 18, "y": 12 } - ], - "place_loot": [ { "item": "pot", "x": 18, "y": 12, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_well", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 16, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bed_standard_east_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "Lbb", - " t", - "Lbb" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_standard_SE", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_standard_east_wall" ], "x": 16, "y": 20 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_standard_E", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_standard_east_wall" ], "x": 16, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bed_straw_east_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "Lmm", - " t", - "Lmm" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_straw_SE", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_straw_east_wall" ], "x": 16, "y": 20 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_straw_E", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_straw_east_wall" ], "x": 16, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bed_makeshift_east_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "Lnn", - " t", - "Lnn" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_makeshift_SE", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_makeshift_east_wall" ], "x": 16, "y": 20 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_makeshift_E", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_makeshift_east_wall" ], "x": 16, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bed_standard_west_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "bbL", - "t ", - "bbL" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_standard_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_standard_west_wall" ], "x": 5, "y": 17 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_standard_W", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_standard_west_wall" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_standard_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_standard_west_wall" ], "x": 5, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bed_straw_west_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "mmL", - "t ", - "mmL" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_straw_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_straw_west_wall" ], "x": 5, "y": 17 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_straw_W", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_straw_west_wall" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_straw_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_straw_west_wall" ], "x": 5, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bed_makeshift_west_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "nnL", - "t ", - "nnL" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_makeshift_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_makeshift_west_wall" ], "x": 5, "y": 17 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_makeshift_W", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_makeshift_west_wall" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_beds_makeshift_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bed_makeshift_west_wall" ], "x": 5, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_dining_room", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " hth", - " hth", - " hth", - " hth" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_dining", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_dining_room" ], "x": 10, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_living_room", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "tsss", - " ", - " ", - " CtC" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_livingroom", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmc_shelter_living_room" ], "x": 10, "y": 18 } ], - "set": [ - { "point": "furniture", "id": "f_bookcase", "x": 7, "y": 21 }, - { "point": "furniture", "id": "f_bookcase", "x": 8, "y": 21 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_pantry", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_rack_wood", "x": 15, "y": 9 }, - { "point": "furniture", "id": "f_rack_wood", "x": 15, "y": 14 }, - { "point": "furniture", "id": "f_rack_wood", "x": 16, "y": 14 }, - { "point": "furniture", "id": "f_rack_wood", "x": 17, "y": 14 }, - { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 14 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_craftspot", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_workbench", "x": 16, "y": 11 }, - { "point": "furniture", "id": "f_workbench", "x": 16, "y": 12 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_radio_console", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_radio_tower", "x": 5, "y": 7 }, - { "point": "terrain", "id": "t_radio_controls", "x": 6, "y": 7 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_log.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_log.json deleted file mode 100644 index 41a7e38909c8..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_log.json +++ /dev/null @@ -1,126 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_palette_log", - "terrain": { "w": "t_wall_log", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SE_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_se_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE_log" ], "x": 15, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_E_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_e_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E_log" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SW_log", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - " wwww", - " w", - " d", - " w", - " www" - ], - "palettes": [ "fbmc_shelter_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_SW_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW_log" ], "x": 4, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_W_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_W_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W_log" ], "x": 5, "y": 12 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_NW_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_NW_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW_log" ], "x": 5, "y": 8 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_rock.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_rock.json deleted file mode 100644 index d0ea3612852b..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_rock.json +++ /dev/null @@ -1,126 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_palette_rock", - "terrain": { "w": "t_rock_wall", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SE_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_se_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE_rock" ], "x": 15, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_E_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_e_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E_rock" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SW_rock", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - " wwww", - " w", - " d", - " w", - " www" - ], - "palettes": [ "fbmc_shelter_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_SW_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW_rock" ], "x": 4, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_W_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_W_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W_rock" ], "x": 5, "y": 12 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_NW_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_NW_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW_rock" ], "x": 5, "y": 8 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_standard.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_standard.json deleted file mode 100644 index b9b9d6c94e01..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_standard.json +++ /dev/null @@ -1,108 +0,0 @@ -[ - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SE", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_se", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE" ], "x": 15, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_E", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_e", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SW", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - " wwww", - " w", - " d", - " w", - " www" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW" ], "x": 4, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_W", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_W", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W" ], "x": 5, "y": 12 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_NW", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW" ], "x": 5, "y": 8 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_wad.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_wad.json deleted file mode 100644 index d540afb4fe26..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_wad.json +++ /dev/null @@ -1,126 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_palette_wad", - "terrain": { "w": "t_wall_wattle", "d": "t_door_makeshift_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SE_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_se_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE_wad" ], "x": 15, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_E_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_e_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E_wad" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SW_wad", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - " wwww", - " w", - " d", - " w", - " www" - ], - "palettes": [ "fbmc_shelter_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_SW_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW_wad" ], "x": 4, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_W_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_W_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W_wad" ], "x": 5, "y": 12 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_NW_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_NW_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW_wad" ], "x": 5, "y": 8 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_wood.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_wood.json deleted file mode 100644 index 3ae2a13a2785..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_wood.json +++ /dev/null @@ -1,126 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_palette_wood", - "terrain": { "w": "t_wall_wood", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SE_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_se_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE_wood" ], "x": 15, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_E_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_e_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E_wood" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SW_wood", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - " wwww", - " w", - " d", - " w", - " www" - ], - "palettes": [ "fbmc_shelter_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_SW_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW_wood" ], "x": 4, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_W_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_W_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W_wood" ], "x": 5, "y": 12 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_NW_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_NW_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW_wood" ], "x": 5, "y": 8 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_common.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_common.json deleted file mode 100644 index e0dad10157f6..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_common.json +++ /dev/null @@ -1,494 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_1_palette", - "terrain": { "w": "t_wall_w", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_0", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_floor", "x": 15, "y": 15 }, - { "point": "furniture", "id": "f_bulletin", "x": 15, "y": 15 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_fireplace", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_fireplace", "x": 18, "y": 14 }, - { "point": "furniture", "id": "f_table", "x": 18, "y": 15 } - ], - "place_loot": [ { "item": "pot", "x": 18, "y": 15, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_brazier", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_brazier", "x": 18, "y": 14 }, - { "point": "furniture", "id": "f_table", "x": 18, "y": 15 } - ], - "place_loot": [ { "item": "pot", "x": 18, "y": 15, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_stove", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_woodstove", "x": 18, "y": 14 }, - { "point": "furniture", "id": "f_table", "x": 18, "y": 15 } - ], - "place_loot": [ { "item": "pot", "x": 18, "y": 15, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_well", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 16, "y": 18 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_straw_nw_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "mL", - "m " - ], "palettes": [ "fbmc_shelter_1_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_straw_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_nw_wall" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_nw_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "nL", - "n " - ], "palettes": [ "fbmc_shelter_1_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_nw_wall" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_standard_bed_nw_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "bL", - "b " - ], "palettes": [ "fbmc_shelter_1_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_standard_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_standard_bed_nw_wall" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_w1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "bb", - "L " - ], "palettes": [ "fbmc_shelter_1_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_W1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_w1_wall" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_w1_wall" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_W3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_w1_wall" ], "x": 5, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_straw_west_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "mm", - "L " - ], "palettes": [ "fbmc_shelter_1_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_straw_W1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_west_wall" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_straw_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_west_wall" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_straw_W3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_west_wall" ], "x": 5, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_west_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "nn", - "L " - ], "palettes": [ "fbmc_shelter_1_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_W1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_west_wall" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_west_wall" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_W3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_west_wall" ], "x": 5, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_standard_southwest_wall", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "L ", - " ", - "b ", - "bt " - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_standard_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_southwest_wall" ], "x": 5, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_standard_southwest_wall", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "L ", - " ", - "b ", - "bt " - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_standard_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_southwest_wall" ], "x": 5, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_straw_southwest_wall", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "L ", - " ", - "m ", - "mt " - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_straw_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_southwest_wall" ], "x": 5, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_southwest_wall", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "L ", - " ", - "n ", - "nt " - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_southwest_wall" ], "x": 5, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_standard_south1_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "L L", - "b b", - "btb" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_standard_S1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_south1_wall" ], "x": 8, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_straw_south1_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "L L", - "m m", - "mtm" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_straw_S1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_south1_wall" ], "x": 8, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_south1_wall", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "L L", - "n n", - "ntn" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_S1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_south1_wall" ], "x": 8, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_standard_south2_wall", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " L", - " bb", - " L", - " bb" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_standard_S2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_south2_wall" ], "x": 11, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_straw_south2_wall", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " L", - " mm", - " L", - " mm" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_straw_S2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_south2_wall" ], "x": 11, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_south2_wall", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " L", - " nn", - " L", - " nn" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_S2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_south2_wall" ], "x": 11, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_dining_room", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " hth", - " hth", - " hth", - " hth" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_dining", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_dining_room" ], "x": 12, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_living_room", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "sss", - " ", - "xxx" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_livingroom", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmc_shelter_1_living_room" ], "x": 9, "y": 12 } ], - "set": [ - { "point": "furniture", "id": "f_bookcase", "x": 8, "y": 16 }, - { "point": "furniture", "id": "f_bookcase", "x": 9, "y": 16 }, - { "point": "furniture", "id": "f_bookcase", "x": 10, "y": 16 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_pantry", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 16 }, - { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 17 }, - { "point": "furniture", "id": "f_rack_wood", "x": 13, "y": 15 }, - { "point": "furniture", "id": "f_rack_wood", "x": 14, "y": 15 }, - { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 20 }, - { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 21 }, - { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 22 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_craftspot", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_workbench", "x": 16, "y": 15 }, - { "point": "furniture", "id": "f_workbench", "x": 16, "y": 16 }, - { "point": "furniture", "id": "f_workbench", "x": 17, "y": 11 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_radio_console", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_radio_tower", "x": 18, "y": 8 }, - { "point": "terrain", "id": "t_radio_controls", "x": 18, "y": 9 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_log.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_log.json deleted file mode 100644 index 317b9c6f703a..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_log.json +++ /dev/null @@ -1,157 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_1_palette_log", - "terrain": { "w": "t_wall_log", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " w", - "wdw" - ], - "palettes": [ "fbmc_shelter_1_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_log" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_log" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_log" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " X ", - " d" - ], - "palettes": [ "fbmc_shelter_1_palette_log" ], - "terrain": { "X": "t_floor" } - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ww", - " w ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_1_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_log", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_SW_log" ], "x": 5, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_W3_log" ], "x": 5, "y": 16 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " dww", - " w", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_1_palette_log" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_log", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "dw", - " " - ], "palettes": [ "fbmc_shelter_1_palette_log" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_S_log", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_S1_log" ], "x": 8, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_S2_log" ], "x": 12, "y": 19 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_rock.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_rock.json deleted file mode 100644 index 513841147063..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_rock.json +++ /dev/null @@ -1,157 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_1_palette_rock", - "terrain": { "w": "t_rock_wall", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " w", - "wdw" - ], - "palettes": [ "fbmc_shelter_1_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_rock" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_rock" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_rock" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " X ", - " d" - ], - "palettes": [ "fbmc_shelter_1_palette_rock" ], - "terrain": { "X": "t_floor" } - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ww", - " w ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_1_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_rock", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_SW_rock" ], "x": 5, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_W3_rock" ], "x": 5, "y": 16 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " dww", - " w", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_1_palette_rock" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_rock", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "dw", - " " - ], "palettes": [ "fbmc_shelter_1_palette_rock" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_S_rock", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_S1_rock" ], "x": 8, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_S2_rock" ], "x": 12, "y": 19 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_standard.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_standard.json deleted file mode 100644 index 270ab9e69df8..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_standard.json +++ /dev/null @@ -1,138 +0,0 @@ -[ - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " w", - "wdw" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " X ", - " d" - ], - "palettes": [ "fbmc_shelter_1_palette" ], - "terrain": { "X": "t_floor" } - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ww", - " w ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_standard_bedroom_SW", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_SW" ], "x": 5, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_W3" ], "x": 5, "y": 16 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " dww", - " w", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_1_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "dw", - " " - ], "palettes": [ "fbmc_shelter_1_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_S", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_S1" ], "x": 8, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_S2" ], "x": 12, "y": 19 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wad.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wad.json deleted file mode 100644 index 007ad5abd03e..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wad.json +++ /dev/null @@ -1,157 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_1_palette_wad", - "terrain": { "w": "t_wall_wattle", "d": "t_door_makeshift_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " w", - "wdw" - ], - "palettes": [ "fbmc_shelter_1_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_wad" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_wad" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_wad" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " X ", - " d" - ], - "palettes": [ "fbmc_shelter_1_palette_wad" ], - "terrain": { "X": "t_floor" } - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ww", - " w ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_1_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_wad", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_SW_wad" ], "x": 5, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_W3_wad" ], "x": 5, "y": 16 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " dww", - " w", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_1_palette_wad" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_wad", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "dw", - " " - ], "palettes": [ "fbmc_shelter_1_palette_wad" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_S_wad", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_S1_wad" ], "x": 8, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_S2_wad" ], "x": 12, "y": 19 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wood.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wood.json deleted file mode 100644 index 5baa147d8b3a..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wood.json +++ /dev/null @@ -1,157 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_1_palette_wood", - "terrain": { "w": "t_wall_wood", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " w", - "wdw" - ], - "palettes": [ "fbmc_shelter_1_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_wood" ], "x": 8, "y": 8 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_wood" ], "x": 5, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_1_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_wood" ], "x": 5, "y": 13 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " X ", - " d" - ], - "palettes": [ "fbmc_shelter_1_palette_wood" ], - "terrain": { "X": "t_floor" } - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ww", - " w ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_1_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_wood", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_SW_wood" ], "x": 5, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_W3_wood" ], "x": 5, "y": 16 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " dww", - " w", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_1_palette_wood" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_wood", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "dw", - " " - ], "palettes": [ "fbmc_shelter_1_palette_wood" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_1_bedroom_S_wood", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_1_bedroom_S1_wood" ], "x": 8, "y": 19 }, - { "chunks": [ "fbmc_shelter_1_bedroom_S2_wood" ], "x": 12, "y": 19 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_common.json b/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_common.json deleted file mode 100644 index b32962e5cf23..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_common.json +++ /dev/null @@ -1,535 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_2_palette", - "terrain": { "w": "t_wall_w", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "Q": "f_woodstove", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_0", - "method": "json", - "object": { "set": [ { "point": "furniture", "id": "f_bulletin", "x": 12, "y": 7 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_fireplace", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_fireplace", "x": 8, "y": 8 }, - { "point": "furniture", "id": "f_table", "x": 9, "y": 8 } - ], - "place_loot": [ { "item": "pot", "x": 9, "y": 8, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_brazier", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_brazier", "x": 8, "y": 8 }, - { "point": "furniture", "id": "f_table", "x": 9, "y": 8 } - ], - "place_loot": [ { "item": "pot", "x": 9, "y": 8, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_stove", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_woodstove", "x": 8, "y": 8 }, - { "point": "furniture", "id": "f_table", "x": 9, "y": 8 } - ], - "place_loot": [ { "item": "pot", "x": 8, "y": 9, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_well", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 10, "y": 13 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_straw_nw_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "mm", - "L " - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_nw_wall" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_makeshift_nw_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "nn", - "L " - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_nw_wall" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_standard_bed_nw_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "bb", - "L " - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_standard_bed_nw_wall" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_w1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "bb", - "L " - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_W1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_w1_wall" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_w1_wall" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_w2_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - " L", - "bb" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_W3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_w2_wall" ], "x": 8, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_straw_west_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "mm", - "L " - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_W1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_west_wall" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_west_wall" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_straw_west2_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - " L", - "mm" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_W3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_west2_wall" ], "x": 8, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_makeshift_west_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "nn", - "L " - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_W1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_west_wall" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_W2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_west_wall" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_makeshift_west2_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - " L", - "nn" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_W3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_west2_wall" ], "x": 8, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_standard_southwest_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - " b", - "Lb" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_standard_southwest_wall" ], "x": 7, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_straw_southwest_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - " m", - "Lm" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_southwest_wall" ], "x": 7, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_makeshift_southwest_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - " n", - "Ln" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_southwest_wall" ], "x": 7, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_standard_south1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "b ", - "bL" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_S1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_standard_south1_wall" ], "x": 10, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_straw_south1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "m ", - "mL" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_S1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_south1_wall" ], "x": 10, "y": 20 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_makeshift_south1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "n ", - "nL" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_S1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_south1_wall" ], "x": 10, "y": 20 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_S2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_standard_south1_wall" ], "x": 13, "y": 21 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_S2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_south1_wall" ], "x": 13, "y": 21 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_S2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_south1_wall" ], "x": 13, "y": 21 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_standard_east1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "Lb", - " b" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_E1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_standard_east1_wall" ], "x": 14, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_straw_east1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "Lm", - " m" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_E1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_east1_wall" ], "x": 14, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_makeshift_east1_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "Ln", - " n" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_E1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_east1_wall" ], "x": 14, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_standard_east2_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "bb", - " L" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_E2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_standard_east2_wall" ], "x": 19, "y": 11 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_E3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_standard_east2_wall" ], "x": 19, "y": 14 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_standard_E4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_standard_east2_wall" ], "x": 19, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_straw_east2_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "mm", - " L" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_E2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_east2_wall" ], "x": 19, "y": 11 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_E3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_east2_wall" ], "x": 19, "y": 14 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_straw_E4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_straw_east2_wall" ], "x": 19, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bed_makeshift_east2_wall", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "nn", - " L" - ], "palettes": [ "fbmc_shelter_2_palette" ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_E2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_east2_wall" ], "x": 19, "y": 11 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_E3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_east2_wall" ], "x": 19, "y": 14 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bed_makeshift_E4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bed_makeshift_east2_wall" ], "x": 19, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_dining_room", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "hhhh", - "tttt", - "hhhh", - " " - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_dining", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_dining_room" ], "x": 12, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_living_room", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "xCB", - "s Q", - "s B" - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_livingroom", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_living_room" ], "x": 17, "y": 7 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_pantry", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_rack_wood", "x": 7, "y": 13 }, - { "point": "furniture", "id": "f_rack_wood", "x": 8, "y": 13 }, - { "point": "furniture", "id": "f_rack_wood", "x": 9, "y": 13 }, - { "point": "furniture", "id": "f_rack_wood", "x": 14, "y": 13 }, - { "point": "furniture", "id": "f_rack_wood", "x": 15, "y": 13 }, - { "point": "furniture", "id": "f_rack_wood", "x": 16, "y": 13 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_craftspot", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_workbench", "x": 6, "y": 8 }, - { "point": "furniture", "id": "f_workbench", "x": 7, "y": 8 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_radio_console", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_radio_tower", "x": 12, "y": 5 }, - { "point": "terrain", "id": "t_radio_controls", "x": 13, "y": 5 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_log.json b/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_log.json deleted file mode 100644 index db726dffe5c6..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_log.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_2_palette_log", - "terrain": { "w": "t_wall_log", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_NW_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_NW_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_NW_log" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W1_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W1_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W1_log" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W2_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " w ", - " d ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W2_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W2_log" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W3_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "www ", - "d w", - "w w", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W3_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W3_log" ], "x": 7, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_SW_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wdww", - " w", - " w", - " " - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_SW_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_SW_log" ], "x": 6, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S1_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "wdw", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S2_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "www", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_S_log", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_2_bedroom_S1_log" ], "x": 10, "y": 19 }, - { "chunks": [ "fbmc_shelter_2_bedroom_S2_log" ], "x": 13, "y": 20 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east1_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " www", - "w w", - "w w", - " dww" - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E1_log", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 14 }, - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 17 } - ], - "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east1_log" ], "x": 13, "y": 14 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east2_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "w ", - "d ", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E2_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east2_log" ], "x": 18, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east3_log", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "w ", - "d ", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E3_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east3_log" ], "x": 18, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east4_log", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "d ", - "w ", - "w " - ], - "palettes": [ "fbmc_shelter_2_palette_log" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E4_log", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east4_log" ], "x": 18, "y": 17 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_rock.json b/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_rock.json deleted file mode 100644 index e92ca1724e0d..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_rock.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_2_palette_rock", - "terrain": { "w": "t_rock_wall", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_NW_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_NW_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_NW_rock" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W1_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W1_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W1_rock" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W2_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " w ", - " d ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W2_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W2_rock" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W3_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "www ", - "d w", - "w w", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W3_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W3_rock" ], "x": 7, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_SW_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wdww", - " w", - " w", - " " - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_SW_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_SW_rock" ], "x": 6, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S1_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "wdw", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S2_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "www", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_S_rock", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_2_bedroom_S1_rock" ], "x": 10, "y": 19 }, - { "chunks": [ "fbmc_shelter_2_bedroom_S2_rock" ], "x": 13, "y": 20 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east1_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " www", - "w w", - "w w", - " dww" - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E1_rock", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 14 }, - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 17 } - ], - "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east1_rock" ], "x": 13, "y": 14 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east2_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "w ", - "d ", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E2_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east2_rock" ], "x": 18, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east3_rock", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "w ", - "d ", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E3_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east3_rock" ], "x": 18, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east4_rock", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "d ", - "w ", - "w " - ], - "palettes": [ "fbmc_shelter_2_palette_rock" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E4_rock", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east4_rock" ], "x": 18, "y": 17 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_standard.json b/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_standard.json deleted file mode 100644 index 1ae539cb54d8..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_standard.json +++ /dev/null @@ -1,253 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_2_palette", - "terrain": { "w": "t_wall_w", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "Q": "f_woodstove", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_NW_standard", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_NW_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_NW_standard" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W1_standard", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W1_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W1_standard" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W2_standard", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " w ", - " d ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W2_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W2_standard" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W3_standard", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "www ", - "d w", - "w w", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W3_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W3_standard" ], "x": 7, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_SW_standard", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wdww", - " w", - " w", - " " - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_SW_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_SW_standard" ], "x": 6, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S1_standard", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "wdw", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S2_standard", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "www", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_S_standard", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_2_bedroom_S1_standard" ], "x": 10, "y": 19 }, - { "chunks": [ "fbmc_shelter_2_bedroom_S2_standard" ], "x": 13, "y": 20 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east1_standard", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " www", - "w w", - "w w", - " dww" - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E1_standard", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 14 }, - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 17 } - ], - "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east1_standard" ], "x": 13, "y": 14 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east2_standard", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "w ", - "d ", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E2_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east2_standard" ], "x": 18, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east3_standard", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "w ", - "d ", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E3_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east3_standard" ], "x": 18, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east4_standard", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "d ", - "w ", - "w " - ], - "palettes": [ "fbmc_shelter_2_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E4_standard", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east4_standard" ], "x": 18, "y": 17 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_wad.json b/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_wad.json deleted file mode 100644 index 965549906ab7..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_wad.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_2_palette_wad", - "terrain": { "w": "t_wall_wattle", "d": "t_door_makeshift_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_NW_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_NW_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_NW_wad" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W1_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W1_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W1_wad" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W2_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " w ", - " d ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W2_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W2_wad" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W3_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "www ", - "d w", - "w w", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W3_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W3_wad" ], "x": 7, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_SW_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wdww", - " w", - " w", - " " - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_SW_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_SW_wad" ], "x": 6, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S1_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "wdw", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S2_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "www", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_S_wad", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_2_bedroom_S1_wad" ], "x": 10, "y": 19 }, - { "chunks": [ "fbmc_shelter_2_bedroom_S2_wad" ], "x": 13, "y": 20 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east1_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " www", - "w w", - "w w", - " dww" - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E1_wad", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 14 }, - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 17 } - ], - "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east1_wad" ], "x": 13, "y": 14 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east2_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "w ", - "d ", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E2_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east2_wad" ], "x": 18, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east3_wad", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "w ", - "d ", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E3_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east3_wad" ], "x": 18, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east4_wad", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "d ", - "w ", - "w " - ], - "palettes": [ "fbmc_shelter_2_palette_wad" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E4_wad", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east4_wad" ], "x": 18, "y": 17 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_wood.json b/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_wood.json deleted file mode 100644 index 74d66da5a8a6..000000000000 --- a/data/json/mapgen/basecamps/modular_shelter_2/modular_shelter_2_wood.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmc_shelter_2_palette_wood", - "terrain": { "w": "t_wall_wood", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "x": "f_coffee_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_NW_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_NW_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_NW_wood" ], "x": 3, "y": 11 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W1_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - " w", - " d", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W1_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W1_wood" ], "x": 3, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W2_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " w ", - " d ", - " w ", - " w " - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W2_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W2_wood" ], "x": 3, "y": 17 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_W3_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "www ", - "d w", - "w w", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_W3_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_W3_wood" ], "x": 7, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_SW_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wdww", - " w", - " w", - " " - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_SW_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_SW_wood" ], "x": 6, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S1_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "wdw", - " w", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_S2_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "www", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_S_wood", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmc_shelter_2_bedroom_S1_wood" ], "x": 10, "y": 19 }, - { "chunks": [ "fbmc_shelter_2_bedroom_S2_wood" ], "x": 13, "y": 20 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east1_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " www", - "w w", - "w w", - " dww" - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E1_wood", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 14 }, - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 17 } - ], - "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east1_wood" ], "x": 13, "y": 14 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east2_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "w ", - "d ", - "www " - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E2_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east2_wood" ], "x": 18, "y": 10 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east3_wood", - "object": { - "mapgensize": [ 3, 3 ], - "rows": [ - "w ", - "d ", - "www" - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E3_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east3_wood" ], "x": 18, "y": 14 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_2_bedroom_east4_wood", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "w ", - "d ", - "w ", - "w " - ], - "palettes": [ "fbmc_shelter_2_palette_wood" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_2_bedroom_E4_wood", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_2_bedroom_east4_wood" ], "x": 18, "y": 17 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_log.json b/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_log.json deleted file mode 100644 index c7ac62671a10..000000000000 --- a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_log.json +++ /dev/null @@ -1,263 +0,0 @@ -[ - { - "type": "palette", - "id": "fbms_log_palette", - "terrain": { - ".": "t_floor", - "b": "t_grass", - "p": "t_floor", - "d": "t_door_c", - "o": "t_window_no_curtains", - "w": "t_wall_log", - ";": "t_floor_primitive" - }, - "furniture": { "b": "f_bench", "t": "f_table", "x": "f_brazier", "U": "f_birdbath", "l": "f_locker", "B": "f_bookcase" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room0_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwww", - " ...w", - " ...w", - " ...w", - " ...w", - " wwww" - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room0_log_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room0_log" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room1_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww ", - "w... ", - "w... ", - "w... ", - "w... ", - "wwww " - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room1_log_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room1_log" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room2_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " wow", - " w..", - " w.." - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room2_log_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room2_log" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room3_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " w..", - " w..", - " wow", - " ", - " ", - " " - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room3_log_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room3_log" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room4_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - "wow ", - "..w ", - "..w " - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room4_log_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room4_log" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room5_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "..w ", - "..w ", - "wow ", - " ", - " ", - " " - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room5_log_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room5_log" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room6_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "woddow", - " .... ", - " .... ", - "w....w" - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room6_log_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room6_log" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room7_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - " .... ", - " .... ", - "woddow", - "......", - "......" - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room7_log_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room7_log" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room8_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "......", - "......", - "......", - "......" - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room9_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..", - " ..", - " ..", - " ..", - " ..", - " .." - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room10_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".. ", - ".. ", - ".. ", - ".. ", - ".. ", - ".. " - ], - "palettes": [ "fbms_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room8_log_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbms_room9_log" ], "x": 3, "y": 9 }, - { "chunks": [ "fbms_room10_log" ], "x": 15, "y": 9 }, - { "chunks": [ "fbms_room8_log" ], "x": 9, "y": 9 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_metal.json b/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_metal.json deleted file mode 100644 index e35439fcf0d4..000000000000 --- a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_metal.json +++ /dev/null @@ -1,265 +0,0 @@ -[ - { - "type": "palette", - "id": "fbms_metal_palette", - "terrain": { - ".": "t_scrap_floor", - "b": "t_grass", - "t": "t_scrap_floor", - "l": "t_scrap_floor", - "B": "t_scrap_floor", - "d": "t_door_metal_c", - "o": "t_window_no_curtains", - "w": "t_scrap_wall", - ";": "t_floor_primitive" - }, - "furniture": { "b": "f_bench", "t": "f_table", "x": "f_brazier", "U": "f_birdbath", "l": "f_locker", "B": "f_bookcase" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room0_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwww", - " ...w", - " ...w", - " ...w", - " ...w", - " wwww" - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room0_metal_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room0_metal" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room1_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww ", - "w... ", - "w... ", - "w... ", - "w... ", - "wwww " - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room1_metal_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room1_metal" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room2_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " wow", - " w..", - " w.." - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room2_metal_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room2_metal" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room3_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " w..", - " w..", - " wow", - " ", - " ", - " " - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room3_metal_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room3_metal" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room4_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - "wow ", - "..w ", - "..w " - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room4_metal_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room4_metal" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room5_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "..w ", - "..w ", - "wow ", - " ", - " ", - " " - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room5_metal_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room5_metal" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room6_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "woddow", - " .... ", - " .... ", - "w....w" - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room6_metal_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room6_metal" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room7_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - " .... ", - " .... ", - "woddow", - "......", - "......" - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room7_metal_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room7_metal" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room8_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "......", - "......", - "......", - "......" - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room9_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..", - " ..", - " ..", - " ..", - " ..", - " .." - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room10_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".. ", - ".. ", - ".. ", - ".. ", - ".. ", - ".. " - ], - "palettes": [ "fbms_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room8_metal_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbms_room9_metal" ], "x": 3, "y": 9 }, - { "chunks": [ "fbms_room10_metal" ], "x": 15, "y": 9 }, - { "chunks": [ "fbms_room8_metal" ], "x": 9, "y": 9 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_migo_resin.json b/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_migo_resin.json deleted file mode 100644 index 6c6dc07e2a96..000000000000 --- a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_migo_resin.json +++ /dev/null @@ -1,265 +0,0 @@ -[ - { - "type": "palette", - "id": "fbms_migo_resin_palette", - "terrain": { - ".": "t_floor_resin", - "b": "t_grass", - "t": "t_floor_resin", - "l": "t_floor_resin", - "B": "t_floor_resin", - "d": "t_resin_hole_c", - "o": "t_wall_resin_cage", - "w": "t_wall_resin", - ";": "t_floor_resin" - }, - "furniture": { "b": "f_bench", "t": "f_table", "x": "f_brazier", "U": "f_birdbath", "l": "f_locker", "B": "f_bookcase" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room0_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwww", - " ...w", - " ...w", - " ...w", - " ...w", - " wwww" - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room0_migo_resin_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room0_migo_resin" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room1_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww ", - "w... ", - "w... ", - "w... ", - "w... ", - "wwww " - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room1_migo_resin_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room1_migo_resin" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room2_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " wow", - " w..", - " w.." - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room2_migo_resin_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room2_migo_resin" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room3_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " w..", - " w..", - " wow", - " ", - " ", - " " - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room3_migo_resin_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room3_migo_resin" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room4_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - "wow ", - "..w ", - "..w " - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room4_migo_resin_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room4_migo_resin" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room5_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "..w ", - "..w ", - "wow ", - " ", - " ", - " " - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room5_migo_resin_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room5_migo_resin" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room6_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "woddow", - " .... ", - " .... ", - "w....w" - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room6_migo_resin_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room6_migo_resin" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room7_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - " .... ", - " .... ", - "woddow", - "......", - "......" - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room7_migo_resin_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room7_migo_resin" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room8_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "......", - "......", - "......", - "......" - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room9_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..", - " ..", - " ..", - " ..", - " ..", - " .." - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room10_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".. ", - ".. ", - ".. ", - ".. ", - ".. ", - ".. " - ], - "palettes": [ "fbms_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room8_migo_resin_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbms_room9_migo_resin" ], "x": 3, "y": 9 }, - { "chunks": [ "fbms_room10_migo_resin" ], "x": 15, "y": 9 }, - { "chunks": [ "fbms_room8_migo_resin" ], "x": 9, "y": 9 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_rammed_earth.json b/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_rammed_earth.json deleted file mode 100644 index 82b8558abe6f..000000000000 --- a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_rammed_earth.json +++ /dev/null @@ -1,265 +0,0 @@ -[ - { - "type": "palette", - "id": "fbms_rammed_earth_palette", - "terrain": { - ".": "t_floor_primitive", - "b": "t_grass", - "t": "t_floor_primitive", - "l": "t_floor_primitive", - "B": "t_floor_primitive", - "d": "t_door_makeshift_c", - "o": "t_window_empty", - "w": "t_wall_rammed_earth", - ";": "t_floor_primitive" - }, - "furniture": { "b": "f_bench", "t": "f_table", "x": "f_brazier", "U": "f_birdbath", "l": "f_locker", "B": "f_bookcase" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room0_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwww", - " ...w", - " ...w", - " ...w", - " ...w", - " wwww" - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room0_rammed_earth_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room0_rammed_earth" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room1_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww ", - "w... ", - "w... ", - "w... ", - "w... ", - "wwww " - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room1_rammed_earth_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room1_rammed_earth" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room2_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " wow", - " w..", - " w.." - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room2_rammed_earth_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room2_rammed_earth" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room3_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " w..", - " w..", - " wow", - " ", - " ", - " " - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room3_rammed_earth_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room3_rammed_earth" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room4_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - "wow ", - "..w ", - "..w " - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room4_rammed_earth_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room4_rammed_earth" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room5_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "..w ", - "..w ", - "wow ", - " ", - " ", - " " - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room5_rammed_earth_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room5_rammed_earth" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room6_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "woddow", - " .... ", - " .... ", - "w....w" - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room6_rammed_earth_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room6_rammed_earth" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room7_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - " .... ", - " .... ", - "woddow", - "......", - "......" - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room7_rammed_earth_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room7_rammed_earth" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room8_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "......", - "......", - "......", - "......" - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room9_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..", - " ..", - " ..", - " ..", - " ..", - " .." - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room10_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".. ", - ".. ", - ".. ", - ".. ", - ".. ", - ".. " - ], - "palettes": [ "fbms_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room8_rammed_earth_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbms_room9_rammed_earth" ], "x": 3, "y": 9 }, - { "chunks": [ "fbms_room10_rammed_earth" ], "x": 15, "y": 9 }, - { "chunks": [ "fbms_room8_rammed_earth" ], "x": 9, "y": 9 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_rock.json b/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_rock.json deleted file mode 100644 index 0b61e33a540c..000000000000 --- a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_rock.json +++ /dev/null @@ -1,263 +0,0 @@ -[ - { - "type": "palette", - "id": "fbms_rock_palette", - "terrain": { - ".": "t_floor", - "b": "t_grass", - "p": "t_floor", - "d": "t_door_c", - "o": "t_window_no_curtains", - "w": "t_rock_wall", - ";": "t_floor_primitive" - }, - "furniture": { "b": "f_bench", "t": "f_table", "x": "f_brazier", "U": "f_birdbath", "l": "f_locker", "B": "f_bookcase" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room0_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwww", - " ...w", - " ...w", - " ...w", - " ...w", - " wwww" - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room0_rock_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room0_rock" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room1_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww ", - "w... ", - "w... ", - "w... ", - "w... ", - "wwww " - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room1_rock_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room1_rock" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room2_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " wow", - " w..", - " w.." - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room2_rock_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room2_rock" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room3_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " w..", - " w..", - " wow", - " ", - " ", - " " - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room3_rock_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room3_rock" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room4_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - "wow ", - "..w ", - "..w " - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room4_rock_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room4_rock" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room5_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "..w ", - "..w ", - "wow ", - " ", - " ", - " " - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room5_rock_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room5_rock" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room6_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "woddow", - " .... ", - " .... ", - "w....w" - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room6_rock_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room6_rock" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room7_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - " .... ", - " .... ", - "woddow", - "......", - "......" - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room7_rock_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room7_rock" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room8_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "......", - "......", - "......", - "......" - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room9_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..", - " ..", - " ..", - " ..", - " ..", - " .." - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room10_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".. ", - ".. ", - ".. ", - ".. ", - ".. ", - ".. " - ], - "palettes": [ "fbms_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room8_rock_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbms_room9_rock" ], "x": 3, "y": 9 }, - { "chunks": [ "fbms_room10_rock" ], "x": 15, "y": 9 }, - { "chunks": [ "fbms_room8_rock" ], "x": 9, "y": 9 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_wad.json b/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_wad.json deleted file mode 100644 index 560e1ff1322c..000000000000 --- a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_wad.json +++ /dev/null @@ -1,265 +0,0 @@ -[ - { - "type": "palette", - "id": "fbms_wad_palette", - "terrain": { - ".": "t_floor_primitive", - "b": "t_grass", - "t": "t_floor_primitive", - "l": "t_floor_primitive", - "B": "t_floor_primitive", - "d": "t_door_makeshift_c", - "o": "t_wall_wattle_half", - "w": "t_wall_wattle", - ";": "t_floor_primitive" - }, - "furniture": { "b": "f_bench", "t": "f_table", "x": "f_brazier", "U": "f_birdbath", "l": "f_locker", "B": "f_bookcase" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room0_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwww", - " ...w", - " ...w", - " ...w", - " ...w", - " wwww" - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room0_wad_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room0_wad" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room1_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww ", - "w... ", - "w... ", - "w... ", - "w... ", - "wwww " - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room1_wad_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room1_wad" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room2_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " wow", - " w..", - " w.." - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room2_wad_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room2_wad" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room3_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " w..", - " w..", - " wow", - " ", - " ", - " " - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room3_wad_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room3_wad" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room4_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - "wow ", - "..w ", - "..w " - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room4_wad_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room4_wad" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room5_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "..w ", - "..w ", - "wow ", - " ", - " ", - " " - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room5_wad_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room5_wad" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room6_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "woddow", - " .... ", - " .... ", - "w....w" - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room6_wad_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room6_wad" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room7_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - " .... ", - " .... ", - "woddow", - "......", - "......" - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room7_wad_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room7_wad" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room8_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "......", - "......", - "......", - "......" - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room9_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..", - " ..", - " ..", - " ..", - " ..", - " .." - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room10_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".. ", - ".. ", - ".. ", - ".. ", - ".. ", - ".. " - ], - "palettes": [ "fbms_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room8_wad_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbms_room9_wad" ], "x": 3, "y": 9 }, - { "chunks": [ "fbms_room10_wad" ], "x": 15, "y": 9 }, - { "chunks": [ "fbms_room8_wad" ], "x": 9, "y": 9 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_wood.json b/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_wood.json deleted file mode 100644 index 7143aae742cd..000000000000 --- a/data/json/mapgen/basecamps/modular_storehouse/modular_storehouse_wood.json +++ /dev/null @@ -1,447 +0,0 @@ -[ - { - "type": "palette", - "id": "fbms_wood_palette", - "terrain": { - ".": "t_floor", - "b": "t_grass", - "p": "t_floor", - "d": "t_door_c", - "o": "t_window_no_curtains", - "w": "t_wall_wood", - ";": "t_floor_primitive" - }, - "furniture": { "b": "f_bench", "t": "f_table", "x": "f_brazier", "U": "f_birdbath", "l": "f_locker", "B": "f_bookcase" } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_0", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_storehouse_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_0" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room0_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwww", - " ...w", - " ...w", - " ...w", - " ...w", - " wwww" - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room0_wood_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room0_wood" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room1_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwww ", - "w... ", - "w... ", - "w... ", - "w... ", - "wwww " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room1_wood_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room1_wood" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room2_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " wow", - " w..", - " w.." - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room2_wood_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room2_wood" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room3_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " w..", - " w..", - " wow", - " ", - " ", - " " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room3_wood_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room3_wood" ], "x": 3, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room4_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - "wow ", - "..w ", - "..w " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room4_wood_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room4_wood" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room5_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "..w ", - "..w ", - "wow ", - " ", - " ", - " " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room5_wood_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room5_wood" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room6_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "woddow", - " .... ", - " .... ", - "w....w" - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room6_wood_south", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room6_wood" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room7_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "w....w", - " .... ", - " .... ", - "woddow", - "......", - "......" - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room7_wood_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_room7_wood" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room8_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "......", - "......", - "......", - "......", - "......", - "......" - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room9_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ..", - " ..", - " ..", - " ..", - " ..", - " .." - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_room10_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".. ", - ".. ", - ".. ", - ".. ", - ".. ", - ".. " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_room8_wood_center", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbms_room9_wood" ], "x": 3, "y": 9 }, - { "chunks": [ "fbms_room10_wood" ], "x": 15, "y": 9 }, - { "chunks": [ "fbms_room8_wood" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_furniture1", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " t", - " BBB t", - " B t", - " B t", - " BBB t", - " t" - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_furniture1_west", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_furniture1" ], "x": 3, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_furniture2", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "t ", - "t lll ", - "t l ", - "t l ", - "t lll ", - "t " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_furniture2_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_furniture2" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_furniture3", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "t tt t", - "t tt t", - "t tt t", - "t tt t", - "t tt t", - "t tt t" - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_furniture3_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_furniture3" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_decorative1", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " b ", - "bbb " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_decorative1_northwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_decorative1" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_decorative2", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " b ", - " bbb" - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_decorative2_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_decorative2" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_decorative3", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " bbb", - " b ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_decorative3_southeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_decorative3" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbms_decorative4", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "bbb ", - " b ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbms_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbms_decorative4_southwest", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbms_decorative4" ], "x": 3, "y": 15 } ] } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_common.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_common.json deleted file mode 100644 index 28b79f6f7f52..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_common.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_common_palette", - "terrain": { ".": "t_dirtfloor" }, - "furniture": { - "t": "f_table", - "L": "f_locker", - "x": "f_kiln_empty", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack_wood", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_0", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_common_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room1_common", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ftL ", - " ", - " ", - " ", - " x " - ], - "palettes": [ "fbmw_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room1_common_northeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room1_common" ], "x": 15, "y": 3 } ], - "place_loot": [ { "item": "crucible", "x": 18, "y": 4, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room2_common", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - "r ", - " c ", - " A c ", - " c ", - " " - ], - "palettes": [ "fbmw_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room2_common_northeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room2_common" ], "x": 15, "y": 3 } ], - "place_loot": [ { "item": "55gal_drum", "x": 17, "y": 7, "chance": 100 }, { "item": "30gal_drum", "x": 17, "y": 8, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room10_common", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " Q ", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_common_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room10_common_northeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room10_common" ], "x": 15, "y": 3 } ], - "place_loot": [ - { "item": "hammer_sledge", "x": 19, "y": 6, "chance": 100 }, - { "item": "knife_combat", "x": 19, "y": 6, "chance": 100 }, - { "item": "copper_knife", "x": 19, "y": 6, "chance": 100 } - ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_log.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_log.json deleted file mode 100644 index 010b4a4a3635..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_log.json +++ /dev/null @@ -1,270 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_log_palette", - "terrain": { - "b": "t_grass", - "z": "t_dirt", - ".": "t_dirtfloor", - "r": "t_dirtfloor", - "a": "t_dirtfloor", - "B": "t_dirtfloor", - "M": "t_dirtfloor", - "k": "t_dirtfloor", - "c": "t_dirtfloor", - "h": "t_dirtfloor", - "t": "t_dirtfloor", - "x": "t_dirtfloor", - "Q": "t_dirtfloor", - "d": "t_door_c", - "o": "t_window_no_curtains", - "w": "t_wall_log" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "z": "f_55gal_firebarrel", - "L": "f_locker", - "x": "f_kiln_empty", - "k": "f_clay_kiln", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack_wood", - "M": "f_armchair", - "B": "f_bookcase", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room0_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwoww", - ".....w", - ".....o", - ".....w", - ".....w", - ".....w" - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room0_log_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room0_log" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room3_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " wr.", - " w.h", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room3_log_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room3_log" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room4_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".....d", - "....xw", - ".....o", - ".....w", - "....rw", - "....rw" - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room4_log_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room4_log" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room5_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wr.", - " wt.", - " oM.", - " wB.", - " o..", - " w.." - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room5_log_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room5_log" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room6_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "www ", - "rkr ", - "... ", - "cc. ", - "... ", - "... " - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room6_log_north", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room6_log" ], "x": 9, "y": 3 } ], - "place_loot": [ - { "item": "tongs", "x": 19, "y": 5, "chance": 100 }, - { "item": "chisel", "x": 19, "y": 5, "chance": 100 }, - { "item": "hammer", "x": 19, "y": 5, "chance": 100 }, - { "item": "swage", "x": 19, "y": 5, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room7_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " wrr", - " wr.", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room8_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " b", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room9_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wow ", - "bb ", - " ", - "z ", - " ", - " " - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room7to9_log_northwest", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room7_log" ], "x": 3, "y": 3 }, - { "chunks": [ "fbmw_room8_log" ], "x": 3, "y": 9 }, - { "chunks": [ "fbmw_room9_log" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room11_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "....ww", - ".....w", - "......", - ".....w", - "......", - ".....w" - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room12_log", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ww.", - " w..", - " ...", - " w..", - " ...", - " w.." - ], - "palettes": [ "fbmw_log_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room11to12_log_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room11_log" ], "x": 15, "y": 15 }, { "chunks": [ "fbmw_room12_log" ], "x": 9, "y": 15 } ], - "place_loot": [ { "item": "wrench", "x": 19, "y": 7, "chance": 100 }, { "item": "pliers", "x": 19, "y": 7, "chance": 100 } ], - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 19, "y": 12 } ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_metal.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_metal.json deleted file mode 100644 index 8e4d6c892881..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_metal.json +++ /dev/null @@ -1,279 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_metal_palette", - "terrain": { - "b": "t_grass", - "z": "t_dirt", - ".": "t_dirtfloor", - "r": "t_dirtfloor", - "a": "t_dirtfloor", - "B": "t_dirtfloor", - "M": "t_dirtfloor", - "k": "t_dirtfloor", - "c": "t_dirtfloor", - "h": "t_dirtfloor", - "t": "t_dirtfloor", - "x": "t_dirtfloor", - "Q": "t_dirtfloor", - "d": "t_door_c", - "o": "t_window_no_curtains", - "w": "t_scrap_wall" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "z": "f_55gal_firebarrel", - "L": "f_locker", - "x": "f_kiln_empty", - "k": "f_clay_kiln", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack", - "M": "f_armchair", - "B": "f_bookcase", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room0_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwoww", - ".....w", - ".....o", - ".....w", - ".....w", - ".....w" - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room0_metal_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room0_metal" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room2_metal_northeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room2_common" ], "x": 15, "y": 3 } ], - "place_loot": [ { "item": "55gal_drum", "x": 17, "y": 7, "chance": 100 }, { "item": "30gal_drum", "x": 17, "y": 8, "chance": 100 } ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room3_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " wr.", - " w.h", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room3_metal_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room3_metal" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room4_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".....d", - "....xw", - ".....o", - ".....w", - "....rw", - "....rw" - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room4_metal_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room4_metal" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room5_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wr.", - " wt.", - " oM.", - " wB.", - " o..", - " w.." - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room5_metal_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room5_metal" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room6_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "www ", - "rkr ", - "... ", - "cc. ", - "... ", - "... " - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room6_metal_north", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room6_metal" ], "x": 9, "y": 3 } ], - "place_loot": [ - { "item": "tongs", "x": 19, "y": 5, "chance": 100 }, - { "item": "chisel", "x": 19, "y": 5, "chance": 100 }, - { "item": "hammer", "x": 19, "y": 5, "chance": 100 }, - { "item": "swage", "x": 19, "y": 5, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room7_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " wrr", - " wr.", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room8_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " b", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room9_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wow ", - "bb ", - " ", - "z ", - " ", - " " - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room7to9_metal_northwest", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room7_metal" ], "x": 3, "y": 3 }, - { "chunks": [ "fbmw_room8_metal" ], "x": 3, "y": 9 }, - { "chunks": [ "fbmw_room9_metal" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room11_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "....ww", - ".....w", - "......", - ".....w", - "......", - ".....w" - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room12_metal", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ww.", - " w..", - " ...", - " w..", - " ...", - " w.." - ], - "palettes": [ "fbmw_metal_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room11to12_metal_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room11_metal" ], "x": 15, "y": 15 }, { "chunks": [ "fbmw_room12_metal" ], "x": 9, "y": 15 } ], - "place_loot": [ { "item": "wrench", "x": 19, "y": 7, "chance": 100 }, { "item": "pliers", "x": 19, "y": 7, "chance": 100 } ], - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 19, "y": 12 } ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_migo_resin.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_migo_resin.json deleted file mode 100644 index a3c065f452be..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_migo_resin.json +++ /dev/null @@ -1,273 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_migo_resin_palette", - "terrain": { - "b": "t_grass", - "z": "t_dirt", - ".": "t_floor_resin", - "r": "t_floor_resin", - "a": "t_floor_resin", - "B": "t_floor_resin", - "M": "t_floor_resin", - "k": "t_floor_resin", - "c": "t_floor_resin", - "h": "t_floor_resin", - "t": "t_floor_resin", - "x": "t_floor_resin", - "Q": "t_floor_resin", - "d": "t_resin_hole_c", - "o": "t_wall_resin_cage", - "w": "t_wall_resin" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "z": "f_55gal_firebarrel", - "L": "f_locker", - "x": "f_kiln_empty", - "k": "f_clay_kiln", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack_wood", - "M": "f_armchair", - "B": "f_bookcase", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room0_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwoww", - ".....w", - ".....o", - ".....w", - ".....w", - ".....w" - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room0_migo_resin_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room0_migo_resin" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room3_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " wr.", - " w.h", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room3_migo_resin_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room3_migo_resin" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room4_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".....d", - "....xw", - ".....o", - ".....w", - "....rw", - "....rw" - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room4_migo_resin_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room4_migo_resin" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room5_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wr.", - " wt.", - " oM.", - " wB.", - " o..", - " w.." - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room5_migo_resin_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room5_migo_resin" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room6_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "www ", - "rkr ", - "... ", - "cc. ", - "... ", - "... " - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room6_migo_resin_north", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room6_migo_resin" ], "x": 9, "y": 3 } ], - "place_loot": [ - { "item": "tongs", "x": 19, "y": 5, "chance": 100 }, - { "item": "chisel", "x": 19, "y": 5, "chance": 100 }, - { "item": "hammer", "x": 19, "y": 5, "chance": 100 }, - { "item": "swage", "x": 19, "y": 5, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room7_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " wrr", - " wr.", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room8_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " b", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room9_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wow ", - "bb ", - " ", - "z ", - " ", - " " - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room7to9_migo_resin_northwest", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room7_migo_resin" ], "x": 3, "y": 3 }, - { "chunks": [ "fbmw_room8_migo_resin" ], "x": 3, "y": 9 }, - { "chunks": [ "fbmw_room9_migo_resin" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room11_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "....ww", - ".....w", - "......", - ".....w", - "......", - ".....w" - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room12_migo_resin", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ww.", - " w..", - " ...", - " w..", - " ...", - " w.." - ], - "palettes": [ "fbmw_migo_resin_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room11to12_migo_resin_southeast", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room11_migo_resin" ], "x": 15, "y": 15 }, - { "chunks": [ "fbmw_room12_migo_resin" ], "x": 9, "y": 15 } - ], - "place_loot": [ { "item": "wrench", "x": 19, "y": 7, "chance": 100 }, { "item": "pliers", "x": 19, "y": 7, "chance": 100 } ], - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 19, "y": 12 } ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_rammed_earth.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_rammed_earth.json deleted file mode 100644 index a70cf00cce4b..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_rammed_earth.json +++ /dev/null @@ -1,273 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_rammed_earth_palette", - "terrain": { - "b": "t_grass", - "z": "t_dirt", - ".": "t_dirtfloor", - "r": "t_dirtfloor", - "a": "t_dirtfloor", - "B": "t_dirtfloor", - "M": "t_dirtfloor", - "k": "t_dirtfloor", - "c": "t_dirtfloor", - "h": "t_dirtfloor", - "t": "t_dirtfloor", - "x": "t_dirtfloor", - "Q": "t_dirtfloor", - "d": "t_door_makeshift_c", - "o": "t_window_empty", - "w": "t_wall_rammed_earth" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "z": "f_55gal_firebarrel", - "L": "f_locker", - "x": "f_kiln_empty", - "k": "f_clay_kiln", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack_wood", - "M": "f_armchair", - "B": "f_bookcase", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room0_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwoww", - ".....w", - ".....o", - ".....w", - ".....w", - ".....w" - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room0_rammed_earth_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room0_rammed_earth" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room3_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " wr.", - " w.h", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room3_rammed_earth_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room3_rammed_earth" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room4_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".....d", - "....xw", - ".....o", - ".....w", - "....rw", - "....rw" - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room4_rammed_earth_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room4_rammed_earth" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room5_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wr.", - " wt.", - " oM.", - " wB.", - " o..", - " w.." - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room5_rammed_earth_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room5_rammed_earth" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room6_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "www ", - "rkr ", - "... ", - "cc. ", - "... ", - "... " - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room6_rammed_earth_north", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room6_rammed_earth" ], "x": 9, "y": 3 } ], - "place_loot": [ - { "item": "tongs", "x": 19, "y": 5, "chance": 100 }, - { "item": "chisel", "x": 19, "y": 5, "chance": 100 }, - { "item": "hammer", "x": 19, "y": 5, "chance": 100 }, - { "item": "swage", "x": 19, "y": 5, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room7_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " wrr", - " wr.", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room8_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " b", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room9_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wow ", - "bb ", - " ", - "z ", - " ", - " " - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room7to9_rammed_earth_northwest", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room7_rammed_earth" ], "x": 3, "y": 3 }, - { "chunks": [ "fbmw_room8_rammed_earth" ], "x": 3, "y": 9 }, - { "chunks": [ "fbmw_room9_rammed_earth" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room11_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "....ww", - ".....w", - "......", - ".....w", - "......", - ".....w" - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room12_rammed_earth", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ww.", - " w..", - " ...", - " w..", - " ...", - " w.." - ], - "palettes": [ "fbmw_rammed_earth_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room11to12_rammed_earth_southeast", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room11_rammed_earth" ], "x": 15, "y": 15 }, - { "chunks": [ "fbmw_room12_rammed_earth" ], "x": 9, "y": 15 } - ], - "place_loot": [ { "item": "wrench", "x": 19, "y": 7, "chance": 100 }, { "item": "pliers", "x": 19, "y": 7, "chance": 100 } ], - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 19, "y": 12 } ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_rock.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_rock.json deleted file mode 100644 index 472bb10bbb53..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_rock.json +++ /dev/null @@ -1,270 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_rock_palette", - "terrain": { - "b": "t_grass", - "z": "t_dirt", - ".": "t_dirtfloor", - "r": "t_dirtfloor", - "a": "t_dirtfloor", - "B": "t_dirtfloor", - "M": "t_dirtfloor", - "k": "t_dirtfloor", - "c": "t_dirtfloor", - "h": "t_dirtfloor", - "t": "t_dirtfloor", - "x": "t_dirtfloor", - "Q": "t_dirtfloor", - "d": "t_door_c", - "o": "t_window_no_curtains", - "w": "t_rock_wall" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "z": "f_55gal_firebarrel", - "L": "f_locker", - "x": "f_kiln_empty", - "k": "f_clay_kiln", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack_wood", - "M": "f_armchair", - "B": "f_bookcase", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room0_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwoww", - ".....w", - ".....o", - ".....w", - ".....w", - ".....w" - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room0_rock_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room0_rock" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room3_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " wr.", - " w.h", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room3_rock_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room3_rock" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room4_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".....d", - "....xw", - ".....o", - ".....w", - "....rw", - "....rw" - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room4_rock_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room4_rock" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room5_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wr.", - " wt.", - " oM.", - " wB.", - " o..", - " w.." - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room5_rock_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room5_rock" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room6_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "www ", - "rkr ", - "... ", - "cc. ", - "... ", - "... " - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room6_rock_north", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room6_rock" ], "x": 9, "y": 3 } ], - "place_loot": [ - { "item": "tongs", "x": 19, "y": 5, "chance": 100 }, - { "item": "chisel", "x": 19, "y": 5, "chance": 100 }, - { "item": "hammer", "x": 19, "y": 5, "chance": 100 }, - { "item": "swage", "x": 19, "y": 5, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room7_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " wrr", - " wr.", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room8_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " b", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room9_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wow ", - "bb ", - " ", - "z ", - " ", - " " - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room7to9_rock_northwest", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room7_rock" ], "x": 3, "y": 3 }, - { "chunks": [ "fbmw_room8_rock" ], "x": 3, "y": 9 }, - { "chunks": [ "fbmw_room9_rock" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room11_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "....ww", - ".....w", - "......", - ".....w", - "......", - ".....w" - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room12_rock", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ww.", - " w..", - " ...", - " w..", - " ...", - " w.." - ], - "palettes": [ "fbmw_rock_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room11to12_rock_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room11_rock" ], "x": 15, "y": 15 }, { "chunks": [ "fbmw_room12_rock" ], "x": 9, "y": 15 } ], - "place_loot": [ { "item": "wrench", "x": 19, "y": 7, "chance": 100 }, { "item": "pliers", "x": 19, "y": 7, "chance": 100 } ], - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 19, "y": 12 } ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_wad.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_wad.json deleted file mode 100644 index f96ae443bfe0..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_wad.json +++ /dev/null @@ -1,270 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_wad_palette", - "terrain": { - "b": "t_grass", - "z": "t_dirt", - ".": "t_dirtfloor", - "r": "t_dirtfloor", - "a": "t_dirtfloor", - "B": "t_dirtfloor", - "M": "t_dirtfloor", - "k": "t_dirtfloor", - "c": "t_dirtfloor", - "h": "t_dirtfloor", - "t": "t_dirtfloor", - "x": "t_dirtfloor", - "Q": "t_dirtfloor", - "d": "t_door_makeshift_c", - "o": "t_wall_wattle_half", - "w": "t_wall_wattle" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "z": "f_55gal_firebarrel", - "L": "f_locker", - "x": "f_kiln_empty", - "k": "f_clay_kiln", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack_wood", - "M": "f_armchair", - "B": "f_bookcase", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room0_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwoww", - ".....w", - ".....o", - ".....w", - ".....w", - ".....w" - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room0_wad_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room0_wad" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room3_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " wr.", - " w.h", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room3_wad_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room3_wad" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room4_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".....d", - "....xw", - ".....o", - ".....w", - "....rw", - "....rw" - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room4_wad_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room4_wad" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room5_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wr.", - " wt.", - " oM.", - " wB.", - " o..", - " w.." - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room5_wad_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room5_wad" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room6_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "www ", - "rkr ", - "... ", - "cc. ", - "... ", - "... " - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room6_wad_north", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room6_wad" ], "x": 9, "y": 3 } ], - "place_loot": [ - { "item": "tongs", "x": 19, "y": 5, "chance": 100 }, - { "item": "chisel", "x": 19, "y": 5, "chance": 100 }, - { "item": "hammer", "x": 19, "y": 5, "chance": 100 }, - { "item": "swage", "x": 19, "y": 5, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room7_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " wrr", - " wr.", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room8_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " b", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room9_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wow ", - "bb ", - " ", - "z ", - " ", - " " - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room7to9_wad_northwest", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room7_wad" ], "x": 3, "y": 3 }, - { "chunks": [ "fbmw_room8_wad" ], "x": 3, "y": 9 }, - { "chunks": [ "fbmw_room9_wad" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room11_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "....ww", - ".....w", - "......", - ".....w", - "......", - ".....w" - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room12_wad", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ww.", - " w..", - " ...", - " w..", - " ...", - " w.." - ], - "palettes": [ "fbmw_wad_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room11to12_wad_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room11_wad" ], "x": 15, "y": 15 }, { "chunks": [ "fbmw_room12_wad" ], "x": 9, "y": 15 } ], - "place_loot": [ { "item": "wrench", "x": 19, "y": 7, "chance": 100 }, { "item": "pliers", "x": 19, "y": 7, "chance": 100 } ], - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 19, "y": 12 } ] - } - } -] diff --git a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_wood.json b/data/json/mapgen/basecamps/modular_workshop/modular_workshop_wood.json deleted file mode 100644 index ebe24daaae13..000000000000 --- a/data/json/mapgen/basecamps/modular_workshop/modular_workshop_wood.json +++ /dev/null @@ -1,276 +0,0 @@ -[ - { - "type": "palette", - "id": "fbmw_wood_palette", - "terrain": { - "b": "t_grass", - "z": "t_dirt", - ".": "t_dirtfloor", - "r": "t_dirtfloor", - "a": "t_dirtfloor", - "B": "t_dirtfloor", - "M": "t_dirtfloor", - "k": "t_dirtfloor", - "c": "t_dirtfloor", - "h": "t_dirtfloor", - "t": "t_dirtfloor", - "x": "t_dirtfloor", - "Q": "t_dirtfloor", - "d": "t_door_c", - "o": "t_window_no_curtains", - "w": "t_wall_wood" - }, - "furniture": { - "b": "f_bench", - "t": "f_table", - "z": "f_55gal_firebarrel", - "L": "f_locker", - "x": "f_kiln_empty", - "k": "f_clay_kiln", - "f": "f_forge_rock", - "c": "f_workbench", - "h": "f_stool", - "A": "f_anvil", - "r": "f_rack_wood", - "M": "f_armchair", - "B": "f_bookcase", - "Q": "f_bellows" - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_workshop_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbml_0" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room0_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wwwoww", - ".....w", - ".....o", - ".....w", - ".....w", - ".....w" - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room0_wood_northeast", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room0_wood" ], "x": 15, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room3_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " wr.", - " w.h", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room3_wood_north", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room3_wood" ], "x": 9, "y": 3 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room4_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - ".....d", - "....xw", - ".....o", - ".....w", - "....rw", - "....rw" - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room4_wood_east", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room4_wood" ], "x": 15, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room5_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wr.", - " wt.", - " oM.", - " wB.", - " o..", - " w.." - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room5_wood_center", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmw_room5_wood" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room6_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "www ", - "rkr ", - "... ", - "cc. ", - "... ", - "... " - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room6_wood_north", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room6_wood" ], "x": 9, "y": 3 } ], - "place_loot": [ - { "item": "tongs", "x": 19, "y": 5, "chance": 100 }, - { "item": "chisel", "x": 19, "y": 5, "chance": 100 }, - { "item": "hammer", "x": 19, "y": 5, "chance": 100 }, - { "item": "swage", "x": 19, "y": 5, "chance": 100 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room7_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " www", - " wrr", - " wr.", - " d..", - " wr.", - " wr." - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room8_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " wwo", - " b", - " ", - " ", - " ", - " " - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room9_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "wow ", - "bb ", - " ", - "z ", - " ", - " " - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room7to9_wood_northwest", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "fbmw_room7_wood" ], "x": 3, "y": 3 }, - { "chunks": [ "fbmw_room8_wood" ], "x": 3, "y": 9 }, - { "chunks": [ "fbmw_room9_wood" ], "x": 9, "y": 9 } - ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room11_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - "....ww", - ".....w", - "......", - ".....w", - "......", - ".....w" - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmw_room12_wood", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ww.", - " w..", - " ...", - " w..", - " ...", - " w.." - ], - "palettes": [ "fbmw_wood_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmw_room11to12_wood_southeast", - "method": "json", - "object": { - "place_nested": [ { "chunks": [ "fbmw_room11_wood" ], "x": 15, "y": 15 }, { "chunks": [ "fbmw_room12_wood" ], "x": 9, "y": 15 } ], - "place_loot": [ { "item": "wrench", "x": 19, "y": 7, "chance": 100 }, { "item": "pliers", "x": 19, "y": 7, "chance": 100 } ], - "set": [ { "point": "furniture", "id": "f_drophammer", "x": 19, "y": 12 } ] - } - } -] diff --git a/data/json/mapgen/basecamps/primitive_field.json b/data/json/mapgen/basecamps/primitive_field.json deleted file mode 100644 index 98fe0d94de36..000000000000 --- a/data/json/mapgen/basecamps/primitive_field.json +++ /dev/null @@ -1,1565 +0,0 @@ -[ - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "basecamp_large_tent_west_start", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - "WWWWW", - "W;;;W", - "D;;;W", - "W;;;W", - "WWWWW" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "basecamp_large_tent_west", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - "WWWWW", - "W$bbW", - "D;;rW", - "W$bbW", - "WWWWW" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "basecamp_large_tent_east", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - "WWWWW", - "Wbb$W", - "Wr;;D", - "Wbb$W", - "WWWWW" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_hardshell_north_0", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - "**''** ", - "'''''* ", - "*3'''' ", - "*3'''' ", - "*''''' ", - "*''''* ", - "*''''* " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_hardshell_north_1", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ** ", - " ", - " (( ", - " tt ", - " (( ", - " o ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_hardshell_north_2", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - "4 ", - " * ", - " * ", - " * ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_hardshell_south_0", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - "'''''* ", - "'U'''' ", - "*''''' ", - "****** ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_hardshell_south_1", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - "* ", - "*Q * ", - " 4 ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_hardshell_south_2", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " c (( ", - " c tt ", - " (( ", - " ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_wall_0", - "object": { - "mapgensize": [ 24, 24 ], - "rows": [ - " ", - " UUUU####", - " #", - "U #", - "U #", - "U #", - "U #", - "U U", - "U U", - "U U", - "U U", - "U U", - "U U", - "U U", - "U U", - "U #", - "U #", - "U #", - "U #", - "# #", - "# #", - "# #", - "# #", - "######UUUUU UUUUUUU####" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_field_wall_1", - "object": { - "mapgensize": [ 24, 24 ], - "rows": [ - " ", - "########### ####### ", - "# ", - "# ", - "# ", - "# ", - "# ", - "# #", - "# #", - "# #", - "# #", - "# #", - "# #", - "# #", - "# #", - "# ", - "# ", - "# ", - "# ", - " ", - " ", - " ", - " ", - " ###### ####### " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_farm_long_fields", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - "mmmmmm", - "mmmmmm", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_farm_short_fields", - "object": { "mapgensize": [ 2, 2 ], "rows": [ - "mm", - "mm" - ], "palettes": [ "acidia_camp_palette" ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_farm_0", - "object": { - "mapgensize": [ 13, 13 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " U___U ", - " _____ ", - " _____ ", - " _____ ", - " _____ ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_farm_2", - "object": { - "mapgensize": [ 13, 13 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " *,,,* ", - " ,''', ", - " ,''H, ", - " *'HH* ", - " ***** ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_farm_3", - "object": { - "mapgensize": [ 13, 13 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " *+* ", - " * * ", - " * * ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_farm_4", - "object": { - "mapgensize": [ 13, 13 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ***+** ", - " *c''u ", - " wc''' ", - " *c'cc ", - " wc''' ", - " *c'cc ", - " ****** " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_garage_0", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - "_____ ", - "_________________", - "_________________", - "_________________", - "____UU___________", - "____U____________", - "_________________", - " _____________", - " _____________", - " _____________", - " U____________", - " UU___________", - " _____________", - " _____________", - " _____________", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_garage_1", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - " ", - " ", - " ", - " ", - " *** ", - " *r' ", - " *r' ", - " *c' ", - " *c' ", - " *'' ", - " *'' ", - " *** ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_garage_2", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - " ", - " ", - " ", - " ", - " ***", - " ''*", - " '''", - " ''*", - " ''*", - " '''", - " ''*", - " ***", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_garage_3", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - " ", - " ", - " ", - " ", - " ''''''' ", - " ''''''' ", - " ''''''' ", - " ''''''' ", - " ''''''' ", - " ''''''' ", - " ''''''' ", - " ''''''' ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_garage_4", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - " ", - " *** ***", - " * *", - " ", - " ", - " ", - " ", - " '", - " '", - " ", - " ", - " ", - " ", - " * *", - " *** ***", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_garage_5", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - " ", - " ''''''' ", - " ''''''''''3 ", - " '''''''''''''", - " '' '''", - " ", - " ", - " ", - " ", - " r ", - " r ", - " '' '''", - " '''''''''''''", - " ''''''''''' ", - " ''''''' ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_garage_6", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - "***** ", - "*'bb ", - "*''' ", - "*'''+ ", - "*((' ", - "*ttr ", - "**** ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_0", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " __ ", - " __ ", - "_______ ", - "_______ ", - "__________UU_____ ", - "___________U_____ ", - "_________________ ", - "_________________ ", - "_________________ ", - "_________________ ", - "____U__ __U_____ ", - "_______ ", - "_______ ", - " _ _ ", - " _ " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_1", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " ", - " U ", - " ", - " ", - " ## ## ", - " #c''''F# ", - " #c'''''# ", - " '''''' ", - " '''''' ", - " '''''' ", - "____# # ", - "_______ ", - "_______ ", - " _ _ ", - " _ " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_2", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ******** ", - " * * ", - " * * ", - " * * ", - " *c * ", - " *cc * ", - " ***w*+** ", - "_______ ", - "_______ ", - " _ _ ", - " _ " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_3", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " *** ", - " ''c* ", - " ''y* ", - " ''c* ", - " ''c* ", - " 'cc* ", - " w*** ", - "_______ ", - "_______ ", - " _ _ ", - " _ " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_4", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " ", - " U ", - "******* ", - "*'''''* ", - "w''''' ", - "*3'''' ", - "*3'''' ", - "*3''''' ", - "****** ", - " ", - " ", - " ", - " ", - " ", - " _ " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_5", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " UU ", - " ", - " ", - " rr ", - " ", - " F ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " y y ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_6", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " rrr ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " 8 " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_7", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " (t oo ", - " (t ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_kitchen_8", - "object": { - "mapgensize": [ 18, 18 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " 3'''' ", - "*3'''3 ", - "w''''3 ", - "*''''3* ", - "******* ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_0", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "UU____U ", - "U______ ___", - "_______ _U_", - "_______ ___", - "_______ ", - "_______ ", - "U______ ", - "U_____U " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_1", - "object": { - "mapgensize": [ 17, 17 ], - "rows": [ - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ____ ", - " _____U ___", - "_______ _K_", - "_______ ___", - "__f____ ", - "_______ ", - " ______ ", - " U____ " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_2", - "object": { - "mapgensize": [ 8, 8 ], - "rows": [ - "**''*** ", - "*'''''* ", - "''''''' ", - "''''''' ", - "'' '''' ", - "''''''' ", - "*'''''* ", - "**''''* " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_4", - "object": { - "mapgensize": [ 13, 13 ], - "rows": [ - " ''''**", - " t'''''*", - " ''''''", - " ''''''", - " ''''''", - " ''''''", - " ''''''*", - " ''''**", - " ", - " ", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_8", - "object": { - "mapgensize": [ 9, 9 ], - "rows": [ - " ", - " ", - "*****w***", - "*'''tt''*", - "w'''((''w", - "*'''''''*", - "**+**w***", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_9", - "object": { - "mapgensize": [ 9, 9 ], - "rows": [ - " ", - " ", - "$ ", - "$ r t tr", - " ", - " 3 r", - " ", - " ", - " " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_10", - "object": { - "mapgensize": [ 8, 8 ], - "rows": [ - " ", - "**'''** ", - "*'''''* ", - "''''''' ", - "''''''' ", - "''''''' ", - "*'''''* ", - "* " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_11", - "object": { - "mapgensize": [ 6, 6 ], - "rows": [ - " ", - " ", - " ", - " 8 ", - " t ", - " t " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "bc_prim_blacksmith_12", - "object": { - "mapgensize": [ 7, 7 ], - "rows": [ - " ", - " ", - " ", - " ) ", - " T ", - " A ", - " ( " - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_0", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_dirt", "x": 12, "y": 5 }, - { "point": "furniture", "id": "f_bulletin", "x": 12, "y": 5 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "basecamp_large_tent_west_start" ], "x": 17, "y": 3 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_2", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_pit", "x": 13, "y": 5 }, - { "point": "furniture", "id": "f_straw_bed", "x": 19, "y": 4 }, - { "point": "furniture", "id": "f_straw_bed", "x": 20, "y": 4 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_3", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_bookcase", "x": 16, "y": 3 }, - { "point": "furniture", "id": "f_bookcase", "x": 16, "y": 4 }, - { "point": "furniture", "id": "f_bookcase", "x": 16, "y": 6 }, - { "point": "furniture", "id": "f_bookcase", "x": 16, "y": 7 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_4", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_dirt", "x": 13, "y": 5 }, - { "point": "furniture", "id": "f_brazier", "x": 13, "y": 5 }, - { "point": "furniture", "id": "f_crate_o", "x": 18, "y": 6 }, - { "point": "furniture", "id": "f_crate_o", "x": 18, "y": 4 }, - { "point": "furniture", "id": "f_straw_bed", "x": 19, "y": 6 }, - { "point": "furniture", "id": "f_straw_bed", "x": 20, "y": 6 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_5", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "basecamp_large_tent_east" ], "x": 2, "y": 3 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_6", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_field_hardshell_north_0" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_7", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "basecamp_large_tent_east" ], "x": 2, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_8", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_field_hardshell_north_1" ], "x": 9, "y": 9 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_9", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "basecamp_large_tent_west" ], "x": 17, "y": 17 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_10", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_field_hardshell_south_0" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_11", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "bc_prim_field_hardshell_north_2" ], "x": 9, "y": 9 }, - { "chunks": [ "bc_prim_field_hardshell_south_1" ], "x": 9, "y": 15 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_12", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 10, "y": 5 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_13", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_field_wall_0" ], "x": 0, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_14", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_field_wall_1" ], "x": 0, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_15", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "basecamp_large_tent_west" ], "x": 17, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_16", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_field_hardshell_south_2" ], "x": 9, "y": 15 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_17", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_door_c", "x": 11, "y": 23 }, - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 23 }, - { "point": "terrain", "id": "t_door_c", "x": 23, "y": 12 }, - { "point": "terrain", "id": "t_door_c", "x": 11, "y": 1 }, - { "point": "terrain", "id": "t_door_c", "x": 12, "y": 1 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_18", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "basecamp_large_tent_east" ], "x": 2, "y": 17 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_19", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_radio_tower", "x": 12, "y": 21 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_20", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_radio_controls", "x": 13, "y": 21 } ] } - }, - { - "type": "mapgen", - "//": "legacy name for now", - "update_mapgen_id": "faction_base_farm_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_farm_0" ], "x": 1, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_farm_1", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 1, "y": 0 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 9, "y": 0 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 17, "y": 0 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 1, "y": 3 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 9, "y": 3 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 17, "y": 3 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 1, "y": 6 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 9, "y": 6 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 17, "y": 6 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_farm_2", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "bc_prim_farm_2" ], "x": 1, "y": 10 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 1, "y": 6 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 9, "y": 6 }, - { "chunks": [ "bc_prim_farm_long_fields" ], "x": 17, "y": 6 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_farm_3", - "method": "json", - "object": { - "place_nested": [ - { "chunks": [ "bc_prim_farm_3" ], "x": 1, "y": 10 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 15, "y": 14 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 18, "y": 14 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 21, "y": 14 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 15, "y": 16 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 18, "y": 16 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 21, "y": 16 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 15, "y": 18 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 18, "y": 18 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 21, "y": 18 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 15, "y": 20 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 18, "y": 20 }, - { "chunks": [ "bc_prim_farm_short_fields" ], "x": 21, "y": 20 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_farm_4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_farm_4" ], "x": 1, "y": 10 } ] } - }, - { - "type": "mapgen", - "//": "legacy name for now", - "update_mapgen_id": "faction_base_garage_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_garage_0" ], "x": 2, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_garage_1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_garage_1" ], "x": 2, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_garage_2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_garage_2" ], "x": 2, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_garage_3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_garage_3" ], "x": 2, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_garage_4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_garage_4" ], "x": 2, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_garage_5", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_garage_5" ], "x": 2, "y": 6 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_garage_6", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_garage_6" ], "x": 2, "y": 6 } ] } - }, - { - "type": "mapgen", - "//": "legacy name for now", - "update_mapgen_id": "faction_base_kitchen_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_0" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_1" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_2" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_3", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_3" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_4" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_5", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_5" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_6", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_6" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_7", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_7" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_kitchen_8", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_kitchen_8" ], "x": 3, "y": 0 } ] } - }, - { - "type": "mapgen", - "//": "legacy name for now", - "update_mapgen_id": "faction_base_blacksmith_0", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_0" ], "x": 4, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_1", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_1" ], "x": 4, "y": 0 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_2", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_2" ], "x": 4, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_3", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_table", "x": 9, "y": 11 }, - { "point": "furniture", "id": "f_forge_rock", "x": 6, "y": 13 }, - { "point": "furniture", "id": "f_anvil", "x": 9, "y": 15 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_4", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_4" ], "x": 3, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_5", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_brazier", "x": 7, "y": 13 }, - { "point": "furniture", "id": "f_brazier", "x": 14, "y": 13 }, - { "point": "furniture", "id": "f_table", "x": 12, "y": 15 }, - { "point": "furniture", "id": "f_table", "x": 13, "y": 15 }, - { "point": "furniture", "id": "f_table", "x": 14, "y": 15 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_6", - "method": "json", - "object": { - "set": [ - { "point": "furniture", "id": "f_forge_rock", "x": 10, "y": 13 }, - { "point": "furniture", "id": "f_forge_rock", "x": 10, "y": 14 }, - { "point": "terrain", "id": "t_dirt", "x": 18, "y": 14 }, - { "point": "furniture", "id": "f_kiln_empty", "x": 19, "y": 14 }, - { "point": "terrain", "id": "t_dirt", "x": 20, "y": 14 }, - { "point": "terrain", "id": "t_dirt", "x": 18, "y": 15 }, - { "point": "terrain", "id": "t_dirt", "x": 19, "y": 15 }, - { "point": "terrain", "id": "t_dirt", "x": 20, "y": 15 }, - { "point": "furniture", "id": "f_crate_o", "x": 4, "y": 18 }, - { "point": "furniture", "id": "f_crate_o", "x": 5, "y": 18 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_7", - "method": "json", - "object": { - "set": [ - { "point": "terrain", "id": "t_machinery_old", "x": 5, "y": 12 }, - { "point": "furniture", "id": "f_wood_keg", "x": 14, "y": 12 }, - { "point": "terrain", "id": "t_dirt", "x": 18, "y": 16 }, - { "point": "furniture", "id": "f_kiln_empty", "x": 19, "y": 16 }, - { "point": "terrain", "id": "t_dirt", "x": 20, "y": 16 }, - { "point": "terrain", "id": "t_dirt", "x": 18, "y": 17 }, - { "point": "terrain", "id": "t_dirt", "x": 19, "y": 17 }, - { "point": "terrain", "id": "t_dirt", "x": 20, "y": 17 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_8", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_8" ], "x": 12, "y": 2 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_9", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_9" ], "x": 11, "y": 2 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_10", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_10" ], "x": 3, "y": 3 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_11", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_11" ], "x": 3, "y": 2 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_blacksmith_12", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "bc_prim_blacksmith_12" ], "x": 3, "y": 2 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_hide_site_0", - "method": "json", - "object": { "set": [ { "point": "terrain", "id": "t_improvised_shelter", "x": 11, "y": 10 } ] } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_N_0", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit", "x": 12, "y": 0, "x2": 12, "y2": 2 }, - { "line": "terrain", "id": "t_pit", "x": 11, "y": 2, "x2": 12, "y2": 5 }, - { "line": "terrain", "id": "t_pit", "x": 12, "y": 5, "x2": 12, "y2": 8 }, - { "line": "terrain", "id": "t_pit", "x": 11, "y": 8, "x2": 12, "y2": 11 }, - { "line": "terrain", "id": "t_pit", "x": 12, "y": 11, "x2": 12, "y2": 12 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_N_1", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit_spiked", "x": 12, "y": 0, "x2": 12, "y2": 2 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 11, "y": 2, "x2": 12, "y2": 5 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 12, "y": 5, "x2": 12, "y2": 8 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 11, "y": 8, "x2": 12, "y2": 11 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 12, "y": 11, "x2": 12, "y2": 12 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_S_0", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit", "x": 12, "y": 22, "x2": 12, "y2": 23 }, - { "line": "terrain", "id": "t_pit", "x": 11, "y": 19, "x2": 12, "y2": 22 }, - { "line": "terrain", "id": "t_pit", "x": 12, "y": 16, "x2": 12, "y2": 19 }, - { "line": "terrain", "id": "t_pit", "x": 11, "y": 13, "x2": 12, "y2": 16 }, - { "line": "terrain", "id": "t_pit", "x": 12, "y": 11, "x2": 12, "y2": 13 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_S_1", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit_spiked", "x": 12, "y": 22, "x2": 12, "y2": 23 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 11, "y": 19, "x2": 12, "y2": 22 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 12, "y": 16, "x2": 12, "y2": 19 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 11, "y": 13, "x2": 12, "y2": 16 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 12, "y": 11, "x2": 12, "y2": 13 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_E_0", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit", "x": 11, "y": 12, "x2": 13, "y2": 12 }, - { "line": "terrain", "id": "t_pit", "x": 13, "y": 13, "x2": 16, "y2": 13 }, - { "line": "terrain", "id": "t_pit", "x": 16, "y": 12, "x2": 19, "y2": 12 }, - { "line": "terrain", "id": "t_pit", "x": 19, "y": 13, "x2": 22, "y2": 13 }, - { "line": "terrain", "id": "t_pit", "x": 22, "y": 12, "x2": 23, "y2": 12 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_E_1", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit_spiked", "x": 11, "y": 12, "x2": 13, "y2": 12 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 13, "y": 13, "x2": 16, "y2": 13 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 16, "y": 12, "x2": 19, "y2": 12 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 19, "y": 13, "x2": 22, "y2": 13 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 22, "y": 12, "x2": 23, "y2": 12 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_W_0", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit", "x": 0, "y": 12, "x2": 2, "y2": 12 }, - { "line": "terrain", "id": "t_pit", "x": 2, "y": 13, "x2": 5, "y2": 13 }, - { "line": "terrain", "id": "t_pit", "x": 5, "y": 12, "x2": 8, "y2": 12 }, - { "line": "terrain", "id": "t_pit", "x": 8, "y": 13, "x2": 11, "y2": 13 }, - { "line": "terrain", "id": "t_pit", "x": 11, "y": 12, "x2": 12, "y2": 12 } - ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "faction_wall_level_W_1", - "method": "json", - "object": { - "set": [ - { "line": "terrain", "id": "t_pit_spiked", "x": 0, "y": 12, "x2": 2, "y2": 12 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 2, "y": 13, "x2": 5, "y2": 13 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 5, "y": 12, "x2": 8, "y2": 12 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 8, "y": 13, "x2": 11, "y2": 13 }, - { "line": "terrain", "id": "t_pit_spiked", "x": 11, "y": 12, "x2": 12, "y2": 12 } - ] - } - } -] diff --git a/data/json/mapgen/faction_buildings.json b/data/json/mapgen/faction_buildings.json deleted file mode 100644 index 051b7c25c071..000000000000 --- a/data/json/mapgen/faction_buildings.json +++ /dev/null @@ -1,2555 +0,0 @@ -[ - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_0", "faction_base_camp_new_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,_____,,", - ",,,,,,,,,,,,,,,,,_____,,", - ",,,,,,,,,,,,9,,,,_____,,", - ",,,,,,,,,,,,,,,,,_____,,", - ",,,,,,,,,,,,,,,,,_____,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,W;;;W,,", - ",,,,,,,,,,,,9,,,,D;G;W,,", - ",,,,,,,,,,,,,,,,,W;;;W,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_2" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,W;bbW,,", - ",,,,,,,,,,,,9U,,,D;G;W,,", - ",,,,,,,,,,,,,,,,,W;;;W,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_3" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,$WWWWW,,", - ",,,,,,,,,,,,,,,,$W;bbW,,", - ",,,,,,,,,,,,9U,,,D;G;W,,", - ",,,,,,,,,,,,,,,,$W;;;W,,", - ",,,,,,,,,,,,,,,,$WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_4" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,$WWWWW,,", - ",,,,,,,,,,,,,,,,$W3bbW,,", - ",,,,,,,,,,,,97,,,D;GrW,,", - ",,,,,,,,,,,,,,,,$W3bbW,,", - ",,,,,,,,,,,,,,,,$WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_5" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,,,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_6" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,,,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,**''**,,,,,,,,,", - ",,,,,,,,,'''''*,,,,,,,,,", - ",,,,,,,,,*3'''',,,,,,,,,", - ",,,,,,,,,*3'''',,,,,,,,,", - ",,,,,,,,,*''''',,,,,,,,,", - ",,,,,,,,,*''''*,,,,,,,,,", - ",,,,,,,,,**''**,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_7" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,,,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,**''**,,,,,,,,,", - ",,,,,,,,,'''''*,,,,,,,,,", - ",,WWWWW,,*3'''',,,,,,,,,", - ",,Wbb3W,,*3'''',,,,,,,,,", - ",,Wr;;D,,*''''',,,,,,,,,", - ",,Wbb3W,,*''''*,,,,,,,,,", - ",,WWWWW,,**''**,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_8" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,,,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,******,,,,,,,,,", - ",,,,,,,,,'''''',,,,,,,,,", - ",,WWWWW,,*3'((*,,,,,,,,,", - ",,Wbb3W,,*3'tt*,,,,,,,,,", - ",,Wr;;D,,*''((*,,,,,,,,,", - ",,Wbb3W,,*o'''*,,,,,,,,,", - ",,WWWWW,,**''**,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_9" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,,,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,******,,,,,,,,,", - ",,,,,,,,,'''''',,,,,,,,,", - ",,WWWWW,,*3'((*,,,,,,,,,", - ",,Wbb3W,,*3'tt*,,,,,,,,,", - ",,Wr;;D,,*''((*,,,,,,,,,", - ",,Wbb3W,,*o'''*,,,,,,,,,", - ",,WWWWW,,**''**,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,W3bbW,,", - ",,,,,,,,,,,,,,,,,D;;rW,,", - ",,,,,,,,,,,,,,,,,W3bbW,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_10" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,,,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,******,,,,,,,,,", - ",,,,,,,,,'''''',,,,,,,,,", - ",,WWWWW,,*3'((*,,,,,,,,,", - ",,Wbb3W,,*3'tt*,,,,,,,,,", - ",,Wr;;D,,*''((*,,,,,,,,,", - ",,Wbb3W,,*o'''*,,,,,,,,,", - ",,WWWWW,,'''''*,,,,,,,,,", - ",,,,,,,,,'''''*,,,,,,,,,", - ",,,,,,,,,'U'''',,,,,,,,,", - ",,,,,,,,,*''''',,WWWWW,,", - ",,,,,,,,,******,,W3bbW,,", - ",,,,,,,,,,,,,,,,,D;;rW,,", - ",,,,,,,,,,,,,,,,,W3bbW,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_11" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,,,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,******,,,,,,,,,", - ",,,,,,,,,4''''*,,,,,,,,,", - ",,WWWWW,,*3'((*,,,,,,,,,", - ",,Wbb3W,,*3'tt*,,,,,,,,,", - ",,Wr;;D,,*''((*,,,,,,,,,", - ",,Wbb3W,,*o'''*,,,,,,,,,", - ",,WWWWW,,*''''*,,,,,,,,,", - ",,,,,,,,,*''''*,,,,,,,,,", - ",,,,,,,,,*Q'''*,,,,,,,,,", - ",,,,,,,,,*''''4,,WWWWW,,", - ",,,,,,,,,******,,W3bbW,,", - ",,,,,,,,,,,,,,,,,D;;rW,,", - ",,,,,,,,,,,,,,,,,W3bbW,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_12" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,Wr;;D,,,8,97,,,D;GrW,,", - ",,Wbb3W,,,,,,,,,$W3bbW,,", - ",,WWWWW,,,,,,,,,$WWWWW,,", - ",,,,,,,,,******,,,,,,,,,", - ",,,,,,,,,4''''*,,,,,,,,,", - ",,WWWWW,,*3'((*,,,,,,,,,", - ",,Wbb3W,,*3'tt*,,,,,,,,,", - ",,Wr;;D,,*''((*,,,,,,,,,", - ",,Wbb3W,,*o'''*,,,,,,,,,", - ",,WWWWW,,*''''*,,,,,,,,,", - ",,,,,,,,,*''''*,,,,,,,,,", - ",,,,,,,,,*Q'''*,,,,,,,,,", - ",,,,,,,,,*''''4,,WWWWW,,", - ",,,,,,,,,******,,W3bbW,,", - ",,,,,,,,,,,,,,,,,D;;rW,,", - ",,,,,,,,,,,,,,,,,W3bbW,,", - ",,,,,,,,,,,,,,,,,WWWWW,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_13" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,UUUUU####", - ",,,,,,,,,,,,,,,,,,,,,,,#", - "U,WWWWW,,,,,,,,,$WWWWW,#", - "U,Wbb3W,,,,,,,,,$W3bbW,#", - "U,Wr;;D,,,8,97,,,D;GrW,#", - "U,Wbb3W,,,,,,,,,$W3bbW,#", - "U,WWWWW,,,,,,,,,$WWWWW,U", - "U,,,,,,,,******,,,,,,,,U", - "U,,,,,,,,4''''*,,,,,,,,U", - "U,WWWWW,,*3'((*,,,,,,,,U", - "U,Wbb3W,,*3'tt*,,,,,,,,U", - "U,Wr;;D,,*''((*,,,,,,,,U", - "U,Wbb3W,,*o'''*,,,,,,,,U", - "U,WWWWW,,*''''*,,,,,,,,U", - "U,,,,,,,,*''''*,,,,,,,,#", - "U,,,,,,,,*Q'''*,,,,,,,,#", - "U,,,,,,,,*''''4,,WWWWW,#", - "U,,,,,,,,******,,W3bbW,#", - "#,,,,,,,,,,,,,,,,D;;rW,#", - "#,,,,,,,,,,,,,,,,W3bbW,#", - "#,,,,,,,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#####UUUUUU,,UUUUUUU####" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_14" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - "###########,,###########", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,Wr;;D,,,8,97,,,D;GrW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,,,,,,,,******,,,,,,,,#", - "#,,,,,,,,4''''*,,,,,,,,#", - "#,WWWWW,,*3'((*,,,,,,,,#", - "#,Wbb3W,,*3'tt*,,,,,,,,#", - "#,Wr;;D,,*''((*,,,,,,,,#", - "#,Wbb3W,,*o'''*,,,,,,,,#", - "#,WWWWW,,*''''*,,,,,,,,#", - "#,,,,,,,,*''''*,,,,,,,,#", - "#,,,,,,,,*Q'''*,,,,,,,,#", - "#,,,,,,,,*''''4,,WWWWW,#", - "#,,,,,,,,******,,W3bbW,#", - "#,,,,,,,,,,,,,,,,D;;rW,#", - "#,,,,,,,,,,,,,,,,W3bbW,#", - "#,,,,,,,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "###########,,###########" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_15" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - "###########,,###########", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,Wr;;D,,,8,97,,,D;GrW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,,,,,,,,******,,,,,,,,#", - "#,,,,,,,,4''''*,,,,,,,,#", - "#,WWWWW,,*3'((*,,WWWWW,#", - "#,Wbb3W,,*3'tt*,,W3bbW,#", - "#,Wr;;D,,*''((*,,D;;rW,#", - "#,Wbb3W,,*o'''*,,W3bbW,#", - "#,WWWWW,,*''''*,,WWWWW,#", - "#,,,,,,,,*''''*,,,,,,,,#", - "#,,,,,,,,*Q'''*,,,,,,,,#", - "#,,,,,,,,*''''4,,WWWWW,#", - "#,,,,,,,,******,,W3bbW,#", - "#,,,,,,,,,,,,,,,,D;;rW,#", - "#,,,,,,,,,,,,,,,,W3bbW,#", - "#,,,,,,,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "###########,,###########" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_16" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - "###########,,###########", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,Wr;;D,,,8,97,,,D;GrW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,,,,,,,,******,,,,,,,,#", - "#,,,,,,,,4''''*,,,,,,,,#", - "#,WWWWW,,*3'((*,,WWWWW,#", - "#,Wbb3W,,*3'tt*,,W3bbW,#", - "#,Wr;;D,,*o'((*,,D;;rW,#", - "#,Wbb3W,,*o'''*,,W3bbW,#", - "#,WWWWW,,*c'((*,,WWWWW,#", - "#,,,,,,,,*c'tt*,,,,,,,,#", - "#,,,,,,,,*Q'((*,,,,,,,,#", - "#,,,,,,,,*''''4,,WWWWW,#", - "#,,,,,,,,******,,W3bbW,#", - "#,,,,,,,,,,,,,,,,D;;rW,#", - "#,,,,,,,,,,,,,,,,W3bbW,#", - "#,,,,,,,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "###########,,###########" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_17" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - "###########44###########", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,Wr;;D,,,8,97,,,D;GrW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,,,,,,,,******,,,,,,,,#", - "#,,,,,,,,4''''4,,,,,,,,#", - "#,WWWWW,,*3'((*,,WWWWW,#", - "#,Wbb3W,,*3'tt*,,W3bbW,#", - "#,Wr;;D,,*o'((*,,D;;rW,4", - "#,Wbb3W,,*o'''*,,W3bbW,#", - "#,WWWWW,,*c'((*,,WWWWW,#", - "#,,,,,,,,*c'tt*,,,,,,,,#", - "#,,,,,,,,*Q'((*,,,,,,,,#", - "#,,,,,,,,4''''4,,WWWWW,#", - "#,,,,,,,,******,,W3bbW,#", - "#,,,,,,,,,,,,,,,,D;;rW,#", - "#,,,,,,,,,,,,,,,,W3bbW,#", - "#,,,,,,,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "###########44###########" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_18" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - "###########44###########", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,Wr;;D,,,8,97,,,D;GrW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,,,,,,,,******,,,,,,,,#", - "#,,,,,,,,4''''4,,,,,,,,#", - "#,WWWWW,,*3'((*,,WWWWW,#", - "#,Wbb3W,,*3'tt*,,W3bbW,#", - "#,Wr;;D,,*o'((*,,D;;rW,4", - "#,Wbb3W,,*o'''*,,W3bbW,#", - "#,WWWWW,,*c'((*,,WWWWW,#", - "#,,,,,,,,*c'tt*,,,,,,,,#", - "#,,,,,,,,*Q'((*,,,,,,,,#", - "#,WWWWW,,4''''4,,WWWWW,#", - "#,Wbb3W,,******,,W3bbW,#", - "#,Wr;;D,,,,,,,,,,D;;rW,#", - "#,Wbb3W,,,,,,,,,,W3bbW,#", - "#,WWWWW,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "###########44###########" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_19" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - "###########44###########", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,Wr;;D,,,8,97,,,D;GrW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,,,,,,,,******,,,,,,,,#", - "#,,,,,,,,4''''4,,,,,,,,#", - "#,WWWWW,,*3'((*,,WWWWW,#", - "#,Wbb3W,,*3'tt*,,W3bbW,#", - "#,Wr;;D,,*o'((*,,D;;rW,4", - "#,Wbb3W,,*o'''*,,W3bbW,#", - "#,WWWWW,,*c'((*,,WWWWW,#", - "#,,,,,,,,*c'tt*,,,,,,,,#", - "#,,,,,,,,*Q'((*,,,,,,,,#", - "#,WWWWW,,4''''4,,WWWWW,#", - "#,Wbb3W,,******,,W3bbW,#", - "#,Wr;;D,,,,,,,,,,D;;rW,#", - "#,Wbb3W,,,,z,,,,,W3bbW,#", - "#,WWWWW,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "###########44###########" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_camp_20" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - "###########44###########", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,Wr;;D,,,8,97,,,D;GrW,#", - "#,Wbb3W,,,,,,,,,$W3bbW,#", - "#,WWWWW,,,,,,,,,$WWWWW,#", - "#,,,,,,,,******,,,,,,,,#", - "#,,,,,,,,4''''4,,,,,,,,#", - "#,WWWWW,,*3'((*,,WWWWW,#", - "#,Wbb3W,,*3'tt*,,W3bbW,#", - "#,Wr;;D,,*o'((*,,D;;rW,4", - "#,Wbb3W,,*o'''*,,W3bbW,#", - "#,WWWWW,,*c'((*,,WWWWW,#", - "#,,,,,,,,*c'tt*,,,,,,,,#", - "#,,,,,,,,*Q'((*,,,,,,,,#", - "#,WWWWW,,4''''4,,WWWWW,#", - "#,Wbb3W,,******,,W3bbW,#", - "#,Wr;;D,,,,,,,,,,D;;rW,#", - "#,Wbb3W,,,,zZ,,,,W3bbW,#", - "#,WWWWW,,,,,,,,,,WWWWW,#", - "#,,,,,,,,,,,,,,,,,,,,,,#", - "###########44###########" - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_farm_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,U___U,,,,,,,,,,,", - ",,,,,,,,_____,,,,,,,,,,,", - ",,,,,,,,_____,,,,,,,,,,,", - ",,,,,,,,_____,,,,,,,,,,,", - ",,,,,,,,U___U,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_farm_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,U___U,,,,,,,,,,,", - ",,,,,,,,_____,,,,,,,,,,,", - ",,,,,,,,_____,,,,,,,,,,,", - ",,,,,,,,_____,,,,,,,,,,,", - ",,,,,,,,U___U,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_farm_2" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,*,,,*,,,,,,,,,,,", - ",,,,,,,,,''',,,,,,,,,,,,", - ",,,,,,,,,''H,,,,,,,,,,,,", - ",,,,,,,,*'HH*,,,,,,,,,,,", - ",,,,,,,,*****,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_farm_3" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,mm,mm,mm,", - ",,,,,,,,,,,,,,,mm,mm,mm,", - ",,,,,,,,,,,,,,,mm,mm,mm,", - ",,,,,,,,**+**,,mm,mm,mm,", - ",,,,,,,,*'''*,,mm,mm,mm,", - ",,,,,,,,*''H*,,mm,mm,mm,", - ",,,,,,,,*'HH*,,mm,mm,mm,", - ",,,,,,,,*****,,mm,mm,mm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_farm_4" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",mmmmmm,,mmmmmm,,mmmmmm,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,mm,mm,mm,", - ",,*'''*,,,,,,,,mm,mm,mm,", - ",***+**,,,,,,,,mm,mm,mm,", - ",*c''u*,**+**,,mm,mm,mm,", - ",wc'''*,*'''*,,mm,mm,mm,", - ",*c'cc*,*''H*,,mm,mm,mm,", - ",wc'''*,*'HH*,,mm,mm,mm,", - ",*c'cc*,*****,,mm,mm,mm,", - ",******,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_garage_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,UU,,,,,,,,,,,,,,,,", - ",,,,,,U_,,,,,,,,,,,,,,,,", - ",,,,,,__,,,,,,,,,,,,,,,,", - ",,,,,,__,,,,,,,,,,,,,,,,", - ",,,,,,__,,,,,,,,,,,,,,,,", - ",,,,,,__,,,,,,,,,,,,,,,,", - ",,,,,,U_,,,,,,,,,,,,,,,,", - ",,,,,,UU,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_garage_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,***,,,,,,,,,,,,,,,", - ",,,,,,*r',,,,,,,,,,,,,,,", - ",,,,,,*r',,,,,,,,,,,,,,,", - ",,,,,,*c',,,,,,,,,,,,,,,", - ",,,,,,*c',,,,,,,,,,,,,,,", - ",,,,,,*'',,,,,,,,,,,,,,,", - ",,,,,,*'',,,,,,,,,,,,,,,", - ",,,,,,***,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_garage_2" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,***,,,,,,,***,,,,,", - ",,,,,,*r',,,,,,,''*,,,,,", - ",,,,,,*r',,,,,,,''',,,,,", - ",,,,,,*c',,,,,,,''*,,,,,", - ",,,,,,*c',,,,,,,''*,,,,,", - ",,,,,,*'',,,,,,,''',,,,,", - ",,,,,,*'',,,,,,,''*,,,,,", - ",,,,,,***,,,,,,,***,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_garage_3" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,***'''''''***,,,,,", - ",,,,,,*r''''''''''*,,,,,", - ",,,,,,*r''''''''''',,,,,", - ",,,,,,*c''''''''''*,,,,,", - ",,,,,,*c''''''''''*,,,,,", - ",,,,,,*'''''''''''',,,,,", - ",,,,,,*'''''''''''*,,,,,", - ",,,,,,***'''''''***,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_garage_4" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,***,,,,,,,***,,,,,", - ",,,,,,*,,,,,,,,,,,*,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,***'''''''***,,,,,", - ",,,,,,*r''''''''''*,,,,,", - ",,,,,,*r''''''''''',,,,,", - ",,,,,,*c''''''''''',,,,,", - ",,,,,,*c''''''''''',,,,,", - ",,,,,,*'''''''''''',,,,,", - ",,,,,,*'''''''''''*,,,,,", - ",,,,,,***'''''''***,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,*,,,,,,,,,,,*,,,,,", - ",,,,,,***,,,,,,,***,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_garage_5" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,***'''''''***,,,,,", - ",,,,,,*''''''''''3*,,,,,", - ",,,,,,''''''''''''',,,,,", - ",,,,,,*'''''''''''',,,,,", - ",,,,,,*r''''''''''*,,,,,", - ",,,,,,*r''''''''''',,,,,", - ",,,,,,*c''''''''''',,,,,", - ",,,,,,*c''''''''''',,,,,", - ",,,,,,*r''''''''''',,,,,", - ",,,,,,*r''''''''''*,,,,,", - ",,,,,,*'''''''''''',,,,,", - ",,,,,,''''''''''''',,,,,", - ",,,,,,*3''''''''''*,,,,,", - ",,,,,,***'''''''***,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_garage_6" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,*****,,,,,,,,,,,,,,,,,", - ",,*'bb***'''''''***,,,,,", - ",,*'''*''''''''''3*,,,,,", - ",,*'''+'''''''''''',,,,,", - ",,*(('*'''''''''''',,,,,", - ",,*ttr*r''''''''''*,,,,,", - ",,*****r''''''''''',,,,,", - ",,,,,,*c''''''''''',,,,,", - ",,,,,,*c''''''''''',,,,,", - ",,,,,,*r''''''''''',,,,,", - ",,,,,,*r''''''''''*,,,,,", - ",,,,,,*'''''''''''',,,,,", - ",,,,,,''''''''''''',,,,,", - ",,,,,,*3''''''''''*,,,,,", - ",,,,,,***'''''''***,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,UU,,,,,,,", - ",,,,,,,,,,,,,,__U,,,,,,,", - ",,,,,,,,,,,,,____,,,,,,,", - ",,,,,,,,,,,______,,,,,,,", - ",,,,,,,,,,_______,,,,,,,", - ",,,,,,,,,________,,,,,,,", - ",,,,,,,,,U__,,__U,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,U,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,##,,,,##,,,,,,,", - ",,,,,,,,,#c''''F#,,,,,,,", - ",,,,,,,,,#c'''''#,,,,,,,", - ",,,,,,,,,,'''''',,,,,,,,", - ",,,,,,,,,,'''''',,,,,,,,", - ",,,,,,,,,,'''''',,,,,,,,", - ",,,,,,,,,#,,,,,,#,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_2" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,U,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,********,,,,,,,", - ",,,,,,,,,*c''''F*,,,,,,,", - ",,,,,,,,,*c'''''*,,,,,,,", - ",,,,,,,,,*''''''*,,,,,,,", - ",,,,,,,,,*c'''''*,,,,,,,", - ",,,,,,,,,*cc''''*,,,,,,,", - ",,,,,,,,,***w*+**,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_3" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,U,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,***********,,,,", - ",,,,,,,,,*c''''F''c*,,,,", - ",,,,,,,,,*c'''''''y*,,,,", - ",,,,,,,,,*''''''''c*,,,,", - ",,,,,,,,,*c'''''''c*,,,,", - ",,,,,,,,,*cc'''''cc*,,,,", - ",,,,,,,,,***w*+*w***,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_4" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,*******,,,,,,,,,,,,,,", - ",,,*'''''*,,,,,,,,,,,,,,", - ",,,w'''''***********,,,,", - ",,,*3''''*c''''F''c*,,,,", - ",,,*3''''*c'''''''y*,,,,", - ",,,*3'''''''''''''c*,,,,", - ",,,*******c'''''''c*,,,,", - ",,,,,,,,,*cc'''''cc*,,,,", - ",,,,,,,,,***w*+*w***,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_5" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,*******,,,,,,,,,,,,,,", - ",,,*rr'''*,,,,,,,,,,,,,,", - ",,,w'''''***********,,,,", - ",,,*3''''*c''''FF'c*,,,,", - ",,,*3''''*c'''''''y*,,,,", - ",,,*3'''''''''''''c*,,,,", - ",,,*******c'''''''c*,,,,", - ",,,,,,,,,*cc'''''cc*,,,,", - ",,,,,,,,,***w*+*w***,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,y,y,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_6" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,*******,,,,,,,,,,,,,,", - ",,,*rrrrr*,,,,,,,,,,,,,,", - ",,,w'''''***********,,,,", - ",,,*3''''*c''''FF'c*,,,,", - ",,,*3''''*c'''''''y*,,,,", - ",,,*3'''''''''''''c*,,,,", - ",,,*******c'''''''c*,,,,", - ",,,,,,,,,*cc'''''cc*,,,,", - ",,,,,,,,,***w*+*w***,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,y,y,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,8,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_7" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,*******,,,,,,,,,,,,,,", - ",,,*rrrrr*,,,,,,,,,,,,,,", - ",,,w'''''***********,,,,", - ",,,*3''(t*c'oo'FF'c*,,,,", - ",,,*3''(t*c'''''''y*,,,,", - ",,,*3'''''''''''''c*,,,,", - ",,,*******c'''''''c*,,,,", - ",,,,,,,,,*cc'''''cc*,,,,", - ",,,,,,,,,***w*+*w***,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,y,y,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,8,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_kitchen_8" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,,,,,,,,,,,,,,UU,,,,,,", - ",,,*******,,,,,,,,,,,,,,", - ",,,*rrrrr*,,,,,,,,,,,,,,", - ",,,w'''''***********,,,,", - ",,,*3''(t*c'oo'FF'c*,,,,", - ",,,*3''(t*c'''''''y*,,,,", - ",,,*3'''''''''''''c*,,,,", - ",,,*3''''*c'''''''c*,,,,", - ",,,*3'''3*cc'''''cc*,,,,", - ",,,w''''3***w*+*w***,,,,", - ",,,*''''3*,,,,,,,,,,,,,,", - ",,,*******,,,,,,,,,,,,,,", - ",,,,,y,y,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,8,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_hide_site_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,h,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_N_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_E_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,UUUU,,UUUU,,U", - ",,,,,,,,,,,,U,UUUU,,UUUU", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_S_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,U,,,,,,,,,,,,", - ",,,,,,,,,,,UU,,,,,,,,,,,", - ",,,,,,,,,,,,U,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_W_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - "UUU,,UUUU,,UU,,,,,,,,,,,", - ",,UUUU,,UUUU,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_N_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_E_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,SSSS,,SSSS,,S", - ",,,,,,,,,,,,S,SSSS,,SSSS", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_S_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,S,,,,,,,,,,,,", - ",,,,,,,,,,,SS,,,,,,,,,,,", - ",,,,,,,,,,,,S,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_wall_level_W_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - "SSS,,SSSS,,SS,,,,,,,,,,,", - ",,SSSS,,SSSS,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_0" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,UU_,__U,,,,,,,,,,,,,", - ",,,,U_,,,__,,,,,,,___,,,", - ",,,,_,,___,,,,,,,,_U_,,,", - ",,,,___,,,,,,,,,,,___,,,", - ",,,,,____,,,,,,,,,,,,,,,", - ",,,,,,_____,,,,,,,,,,,,,", - ",,,,U,_____,,,,,,,,,,,,,", - ",,,,U_____U,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_1" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,UU____U,,,,,,,,,,,,,", - ",,,,U_____U,,,,,,,___,,,", - ",,,,_______,,,,,,,_K_,,,", - ",,,,_______,,,,,,,___,,,", - ",,,,__f____,,,,,,,,,,,,,", - ",,,,_______,,,,,,,,,,,,,", - ",,,,U_____U,,,,,,,,,,,,,", - ",,,,UU____U,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_2" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***,,,,,,,,,,,,,", - ",,,,*'''''*,,,,,,,___,,,", - ",,,,''''''',,,,,,,_K_,,,", - ",,,,''''''',,,,,,,___,,,", - ",,,,''f'''',,,,,,,,,,,,,", - ",,,,''''''',,,,,,,,,,,,,", - ",,,,*'''''*,,,,,,,,,,,,,", - ",,,,**''''*,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_3" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***,,,,,,,,,,,,,", - ",,,,*''''t*,,,,,,,___,,,", - ",,,,''''''',,,,,,,_K_,,,", - ",,,,''f'''',,,,,,,___,,,", - ",,,,''f'''',,,,,,,,,,,,,", - ",,,,'''''A',,,,,,,,,,,,,", - ",,,,*'''''*,,,,,,,,,,,,,", - ",,,,**''''*,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_4" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,''''''''''''',_K_,,,", - ",,,,''f'''''''''',___,,,", - ",,,,''f'''''''''',,,,,,,", - ",,,,'''''A''''''',,,,,,,", - ",,,,*'''''''''''*,,,,,,,", - ",,,,**''''*''''**,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_5" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,''''''''''''',_K_,,,", - ",,,,''f7''''''7'',___,,,", - ",,,,''f'''''''''',,,,,,,", - ",,,,'''''A''ttt'',,,,,,,", - ",,,,*'''''''''''*,,,,,,,", - ",,,,**''''*''''**,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_6" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,''''''''''''',_K_,,,", - ",,,,'ff7''''''7'',___,,,", - ",,,,'ff'''''''''',_K_,,,", - ",,,,'''''A''ttt'',___,,,", - ",,,,*'''''''''''*,,,,,,,", - ",,,,**''''*''''**,,,,,,,", - ",,,,$$,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_7" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,'T''''''''k'',_K_,,,", - ",,,,'ff7''''''7'',___,,,", - ",,,,'ff'''''''''',_K_,,,", - ",,,,'''''A''ttt'',___,,,", - ",,,,*'''''''''''*,_K_,,,", - ",,,,**''''*''''**,___,,,", - ",,,,$$,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_8" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,*****w***,,,", - ",,,,,,,,,,,,*'''tt''*,,,", - ",,,,,,,,,,,,w'''((''w,,,", - ",,,,,,,,,,,,*'''''''*,,,", - ",,,,,,,,,,,,**+**w***,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,'T''''''''k'',_K_,,,", - ",,,,'ff7''''''7'',___,,,", - ",,,,'ff'''''''''',_K_,,,", - ",,,,'''''A''ttt'',___,,,", - ",,,,*'''''''''''*,_K_,,,", - ",,,,**''''*''''**,___,,,", - ",,,,$$,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_9" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,$*****w***,,,", - ",,,,,,,,,,,$*r'ttttr*,,,", - ",,,,,,,,,,,,w'''((''w,,,", - ",,,,,,,,,,,,*3'''''r*,,,", - ",,,,,,,,,,,,**+**w***,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,**''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,'T''''''''k'',_K_,,,", - ",,,,'ff7''''''7'',___,,,", - ",,,,'ff'''''''''',_K_,,,", - ",,,,'''''A''ttt'',___,,,", - ",,,,*'''''''''''*,_K_,,,", - ",,,,**''''*''''**,___,,,", - ",,,,$$,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_10" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,**'''**,$*****w***,,,", - ",,,*'''''*,$*r'ttttr*,,,", - ",,,''''''',,w'''((''w,,,", - ",,,''''''',,*3'''''r*,,,", - ",,,''''''',,**+**w***,,,", - ",,,*'''''*,,,,,,,,,,,,,,", - ",,,**'''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,'T''''''''k'',_K_,,,", - ",,,,'ff7''''''7'',___,,,", - ",,,,'ff'''''''''',_K_,,,", - ",,,,'''''A''ttt'',___,,,", - ",,,,*'''''''''''*,_K_,,,", - ",,,,**''''*''''**,___,,,", - ",,,,$$,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_11" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,**'''**,$*****w***,,,", - ",,,*'8'''*,$*r'ttttr*,,,", - ",,,''''t'',,w'''((''w,,,", - ",,,''''t'',,*3'''''r*,,,", - ",,,''''''',,**+**w***,,,", - ",,,*'''''*,,,,,,,,,,,,,,", - ",,,**'''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,'T''''''''k'',_K_,,,", - ",,,,'ff7''''''7'',___,,,", - ",,,,'ff'''''''''',_K_,,,", - ",,,,'''''A''ttt'',___,,,", - ",,,,*'''''''''''*,_K_,,,", - ",,,,**''''*''''**,___,,,", - ",,,,$$,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": [ "faction_base_blacksmith_12" ], - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_floor", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,**'''**,$*****w***,,,", - ",,,*)8'''*,$*r'ttttr*,,,", - ",,,'T''t'',,w'''((''w,,,", - ",,,'A''t'',,*3'''''r*,,,", - ",,,'(''''',,**+**w***,,,", - ",,,*'''''*,,,,,,,,,,,,,,", - ",,,**'''***''''**,,,,,,,", - ",,,,*''''tt'''''*,___,,,", - ",,,,'T''''''''k'',_K_,,,", - ",,,,'ff7''''''7'',___,,,", - ",,,,'ff'''''''''',_K_,,,", - ",,,,'''''A''ttt'',___,,,", - ",,,,*'''''''''''*,_K_,,,", - ",,,,**''''*''''**,___,,,", - ",,,,$$,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": "faction_base_livestock_0", - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_grass", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": "faction_base_storehouse_0", - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_grass", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": "faction_base_saltworks_0", - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_grass", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": "faction_base_workshop_0", - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_grass", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - }, - { - "type": "mapgen", - "om_terrain": "faction_base_canteen_0", - "method": "json", - "weight": 250, - "object": { - "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], - "fill_ter": "t_grass", - "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,,", - ",,,,,,,,,,,,,,,,,,,,,,,," - ], - "palettes": [ "acidia_camp_palette" ] - } - } -] diff --git a/data/json/mapgen_palettes/acidia_camp_palette.json b/data/json/mapgen_palettes/acidia_camp_palette.json deleted file mode 100644 index 4154eadb4686..000000000000 --- a/data/json/mapgen_palettes/acidia_camp_palette.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - { - "type": "palette", - "id": "acidia_camp_palette", - "terrain": { - "^": "t_region_tree", - "+": [ [ "t_door_c", 3 ], [ "t_door_o", 2 ], "t_door_locked_interior" ], - ",": "t_region_groundcover", - "#": "t_palisade", - "$": "t_region_groundcover_barren", - "(": "t_dirtfloor", - ")": "t_dirtfloor", - ";": "t_dirtfloor", - "'": "t_dirtfloor", - "*": "t_wall_log", - "_": "t_region_groundcover_barren", - "3": "t_dirtfloor", - "4": "t_door_c", - "7": "t_region_groundcover_barren", - "8": "t_water_pump", - "A": "t_dirtfloor", - "B": "t_brick_wall", - "b": "t_dirtfloor", - "C": "t_dirtfloor", - "c": "t_dirtfloor", - "D": "t_dirtfloor", - "F": "t_dirtfloor", - "f": "t_dirtfloor", - "G": "t_floor_green", - "H": "t_dirtfloor", - "h": "t_improvised_shelter", - "K": "t_region_groundcover_barren", - "k": "t_dirtfloor", - "m": "t_dirtmound", - "o": "t_dirtfloor", - "Q": "t_dirtfloor", - "r": "t_dirtfloor", - "S": "t_pit_spiked", - "T": "t_machinery_old", - "t": "t_dirtfloor", - "U": "t_pit", - "u": "t_dirtfloor", - "W": "t_dirtfloor", - "w": "t_window", - "y": "t_region_groundcover_barren", - "z": "t_radio_tower", - "Z": "t_radio_controls" - }, - "furniture": { - "$": "f_crate_o", - "(": "f_bench", - ")": "f_standing_tank", - ";": "f_groundsheet", - "3": "f_crate_o", - "7": "f_brazier", - "9": "f_bulletin", - "A": "f_anvil", - "b": "f_straw_bed", - "C": "f_clay_kiln", - "c": "f_counter", - "D": "f_canvas_door", - "F": "f_fireplace", - "f": "f_forge_rock", - "H": "f_hay", - "K": "f_kiln_empty", - "k": "f_wood_keg", - "o": "f_woodstove", - "Q": "f_trashcan", - "r": "f_rack", - "t": "f_table", - "u": "f_cupboard", - "W": "f_canvas_wall", - "y": "f_smoking_rack", - "e": "f_arcfurnace_empty" - } - } -] diff --git a/data/json/npcs/TALK_ALLY_TUTORIAL.json b/data/json/npcs/TALK_ALLY_TUTORIAL.json index 0f3b82d484c3..64c8a0f023ec 100644 --- a/data/json/npcs/TALK_ALLY_TUTORIAL.json +++ b/data/json/npcs/TALK_ALLY_TUTORIAL.json @@ -2,7 +2,7 @@ { "id": "TALK_ALLY_TUTORIAL", "type": "talk_topic", - "dynamic_line": "I'm my own person, but I'm mostly willing to follow your lead. I can do a lot of things for you: I can fight, I can train you or you can train me, I can carry stuff, I can bandage your wounds, I can build faction camps, I can do some other activities, I can ride horses, I can go places, I can guard things, I can use some bionics, I can even chit-chat with you or give you tips or talk about my background. You can give me instructions in conversation or by radio or shout commands at me.\n What do you want to know more about?", + "dynamic_line": "I'm my own person, but I'm mostly willing to follow your lead. I can do a lot of things for you: I can fight, I can train you or you can train me, I can carry stuff, I can bandage your wounds, I can do some other activities, I can ride horses, I can go places, I can guard things, I can use some bionics, I can even chit-chat with you or give you tips or talk about my background. You can give me instructions in conversation or by radio or shout commands at me.\n What do you want to know more about?", "responses": [ { "text": "Forget I asked.", "topic": "TALK_FRIEND" }, { "text": "Skip it, let's get going.", "topic": "TALK_DONE" }, @@ -14,7 +14,6 @@ { "text": "What's that about training?", "topic": "TALK_ALLY_TUTORIAL_TRAINING" }, { "text": "Tell me about you carrying stuff.", "topic": "TALK_ALLY_TUTORIAL_MULE" }, { "text": "You can perform first aid?", "topic": "TALK_ALLY_TUTORIAL_MEDIC" }, - { "text": "Tell me about faction camps.", "topic": "TALK_CAMP_TUTORIAL_INTRO" }, { "text": "What's that about activities? Like what, you can farm for me?", "topic": "TALK_ALLY_TUTORIAL_ACTIVITIES" @@ -35,7 +34,7 @@ "id": "TALK_ALLY_TUTORIAL_MUTINY", "type": "talk_topic", "dynamic_line": "You and me, we better stick together to survive, right? But that doesn't mean I'll tolerate infinite abuse. Mistreat me too much, or especially fail to keep me fed, and I'll like you less and less. If it gets bad enough, I'll mutiny - and if you have anyone else following you, I may convince some of them to join my mutiny and we'll form our own little band.\n Obviously, if I quit in a huff, there's going to be bad blood between us, and you're probably going to want to kill me for betrayal and I may need to kill you to get my fair share of the loot. So keep me fed and satisfied so it doesn't come to that.", - "responses": [ { "text": "Sure. Is there any easy way to keep you fed?", "topic": "TALK_CAMP_TUTORIAL_INTRO" } ] + "responses": [ { "text": "Sure. Is there any easy way to keep you fed?", "topic": "TALK_ALLY_TUTORIAL" } ] }, { "id": "TALK_ALLY_TUTORIAL_TALK", @@ -54,7 +53,7 @@ { "is_by_radio": "Are you making a joke? We're using two-way radios to talk right now.\n Whatever, I'll go over it again in case you forgot.\n" }, - "If you have a two-way radio and I have a two-way radio, you can use the faction interface (keybind '#') key to contact me. I'll respond as long as I'm not too far away and the signal isn't blocked by the ground. We can converse normally via a radio, but obviously we can't trade items and I can't train you.\n You can tell me to come to you or go to any of your faction camps, or if I'm at a faction camp, you can tell me to perform actions at the camp." + "If you have a two-way radio and I have a two-way radio, you can use the faction interface (keybind '#') key to contact me. I'll respond as long as I'm not too far away and the signal isn't blocked by the ground. We can converse normally via a radio, but obviously we can't trade items and I can't train you." ] }, "responses": [ @@ -113,18 +112,16 @@ "dynamic_line": "I can help with some tasks if you show me where to work.\n Use the zone manager (keybind 'Y') to set up sorting zones for your loot, or to draw blueprints for a building, or to define where you want to plant some crops, or where you'd like some trees cut down, or where you want a vehicle dismantled or repaired, or a good fishing spot. Then talk to me about my current activity and tell me to sort stuff, or build stuff, or cut down trees, or repair or dismantle a vehicle, or do farmwork, or catch some fish, and I'll go off and do my best to get what you want done.\n If I need tools, you should leave them in a loot zone near where you want me to work - axes for logging, shovels and seeds and fertilizer for farming, wrenches and hacksaws or a toolbox to take apart a vehicle. I promise to put stuff back in an unsorted loot zone when I'm finished.\n I can pretty much sort out our stuff without needing tools, but keep the piles of unsorted and sorted stuff kind of close together because I don't want to walk back and forth carrying junk too much.", "responses": [ { "text": "Good to know. Can you perform first aid?", "topic": "TALK_ALLY_TUTORIAL_MEDIC" }, - { "text": "What about carrying stuff in general?", "topic": "TALK_ALLY_TUTORIAL_MULE" }, - { "text": "What if I want you to build an organized camp?", "topic": "TALK_CAMP_TUTORIAL_INTRO" } + { "text": "What about carrying stuff in general?", "topic": "TALK_ALLY_TUTORIAL_MULE" } ] }, { "id": "TALK_ALLY_TUTORIAL_MOVEMENT", "type": "talk_topic", - "dynamic_line": "If you call me by radio, you can tell me to come to you. If you've got some basecamps set up, you can tell me to go to one of them. I'll start walking, and when I get to where I'm going, I'll guard it.\n Now depending on where I am and where I'm going, it may take me a while to get there. I'll dodge any dangers on the way, don't worry about that, but if you're way the heck away from me and tell me to come, it may be a while until I get to you.\n I'll move faster if I'm horseback.", + "dynamic_line": "If you call me by radio, you can tell me to come to you. I'll start walking, and when I get to where I'm going, I'll guard it.\n Now depending on where I am and where I'm going, it may take me a while to get there. I'll dodge any dangers on the way, don't worry about that, but if you're way the heck away from me and tell me to come, it may be a while until I get to you.\n I'll move faster if I'm horseback.", "responses": [ { "text": "We can talk with radios?", "topic": "TALK_ALLY_TUTORIAL_RADIO" }, { "text": "What do you do as a guard?", "topic": "TALK_ALLY_TUTORIAL_GUARD" }, - { "text": "Tell me about faction camps.", "topic": "TALK_CAMP_TUTORIAL_INTRO" }, { "text": "You can ride a horse?", "topic": "TALK_ALLY_TUTORIAL_HORSES" } ] }, @@ -178,15 +175,12 @@ "id": "TALK_ALLY_TUTORIAL_OTHER_FACTIONS", "type": "talk_topic", "dynamic_line": "Just about everyone is dead, but some people survived, right? But just like you go around breaking into houses and taking whatever you think you need or want, well, other survivors do the same thing. And that stack of loot you've been accumulating looks just like some random dead person's loot when it's left alone. If some other scavenger comes around and sees that loot, and you or I or another ally isn't around to claim it, that other survivor is just going to take it. So try to detail someone to watch your stuff - whether its at a base or in a vehicle.\n Also, we've teamed up to better our chances of survival. Other people are going to do the same, forming little factions just like we did. If you open the faction manager (keybind '#'), you can see a list of all your allies, as well as all the other factions you've met so far. Some factions are really just some guy trying to survive on his own, but other factions have dozens of members and fortified bases and such. You might want to find some of them and try to make friends with them.", - "responses": [ - { "text": "Anything else I can do in the faction manager?", "topic": "TALK_ALLY_TUTORIAL_RADIO" }, - { "text": "Is there any way we can build base for our faction?", "topic": "TALK_CAMP_TUTORIAL_INTRO" } - ] + "responses": [ { "text": "Anything else I can do in the faction manager?", "topic": "TALK_ALLY_TUTORIAL_RADIO" } ] }, { "id": "TALK_ALLY_TUTORIAL_CHANGES", "type": "talk_topic", - "dynamic_line": "Well, this conversation is pretty new! But there's been some other changes.\n I've been able to install CBMs on you, and have passive bionics installed in me, for a while. But now I can use some active bionics, and I can explain some details on how I use bionics.\n I can also ride horses, and you can give me orders to do things like farmwork, cutting trees, or even building houses from a blueprint.\n I can even read books to improve my skills, so you don't have to spend time reading to me.\n If you've got a faction camp, and we're near it, I'll eat from the camp's food reserves when I'm hungry. And if the camp has a well, I'll drink from the well when thirsty. Be careful, though - if other people are out on missions, I may eat the food they expected to eat when they got done!", + "dynamic_line": "Well, this conversation is pretty new! But there's been some other changes.\n I've been able to install CBMs on you, and have passive bionics installed in me, for a while. But now I can use some active bionics, and I can explain some details on how I use bionics.\n I can also ride horses, and you can give me orders to do things like farmwork, cutting trees, or even building houses from a blueprint.\n I can even read books to improve my skills, so you don't have to spend time reading to me.", "responses": [ { "text": "You can use bionics? How does that work?", "topic": "TALK_ALLY_TUTORIAL_CBMS" }, { "text": "You can ride horses? Can I ride horses?", "topic": "TALK_ALLY_TUTORIAL_HORSES" }, @@ -194,8 +188,7 @@ { "text": "Hey, you can teach yourself from a book. How does that work?", "topic": "TALK_ALLY_TUTORIAL_TRAINING" - }, - { "text": "Tell me about faction camps.", "topic": "TALK_CAMP_TUTORIAL_INTRO" } + } ] }, { diff --git a/data/json/npcs/TALK_COMMON_ALLY.json b/data/json/npcs/TALK_COMMON_ALLY.json index dab261e418ec..dd34e29c9e33 100644 --- a/data/json/npcs/TALK_COMMON_ALLY.json +++ b/data/json/npcs/TALK_COMMON_ALLY.json @@ -101,14 +101,7 @@ "topic": "TALK_FRIEND_GUARD", "effect": "assign_guard" }, - { - "text": "I want to assign you to work at this camp.", - "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" }, - "topic": "TALK_FRIEND_GUARD", - "effect": "assign_camp" - }, { "text": "Let's talk about your current activity.", "topic": "TALK_ACTIVITIES" }, - { "text": "Let's talk about faction camps.", "topic": "TALK_CAMP_GENERAL" }, { "text": "Find a horse and mount up!", "condition": { "not": "npc_is_riding" }, @@ -124,7 +117,7 @@ { "text": "Please go to this location.", "topic": "TALK_GOTO_LOCATION", - "condition": { "or": [ "is_by_radio", "u_has_camp" ] }, + "condition": { "or": [ "is_by_radio" ] }, "effect": "goto_location" }, { @@ -784,13 +777,7 @@ "type": "talk_topic", "responses": [ { "text": "Please go to this location…", "topic": "TALK_GOTO_LOCATION_RADIO", "effect": "goto_location" }, - { "text": "Stay at your current position.", "topic": "TALK_DONE", "effect": "assign_guard" }, - { - "text": "Show me what needs to be done at the camp.", - "topic": "TALK_DONE", - "effect": "basecamp_mission", - "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" } - } + { "text": "Stay at your current position.", "topic": "TALK_DONE", "effect": "assign_guard" } ] }, { diff --git a/data/json/npcs/TALK_FACTION_CAMP.json b/data/json/npcs/TALK_FACTION_CAMP.json deleted file mode 100644 index f321d22cc539..000000000000 --- a/data/json/npcs/TALK_FACTION_CAMP.json +++ /dev/null @@ -1,235 +0,0 @@ -[ - { - "id": "TALK_CAMP_GENERAL", - "type": "talk_topic", - "dynamic_line": "What about faction camps?", - "responses": [ - { "text": "Tell me how faction camps work.", "topic": "TALK_CAMP_TUTORIAL_INTRO" }, - { "text": "Tell me how faction camps have changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { - "text": "I want you to build a camp here.", - "topic": "TALK_HALLU_CAMP", - "condition": { "npc_has_trait": "HALLUCINATION" }, - "switch": true - }, - { - "text": "I want you to build a camp here.", - "topic": "TALK_DONE", - "effect": "start_camp", - "condition": { "npc_at_om_location": "FACTION_CAMP_START" }, - "switch": true, - "default": true - }, - { - "text": "We need to abandon this camp.", - "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" }, - "topic": "TALK_DONE", - "effect": "abandon_camp" - }, - { - "text": "Show me what needs to be done at the camp.", - "topic": "TALK_DONE", - "effect": "basecamp_mission", - "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" } - }, - { "text": "Nothing. Let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Never mind, let's talk about other things you can do", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Nothing. Lets' get back to work.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_INTRO", - "type": "talk_topic", - "dynamic_line": "The faction camp system allows you to use friendly NPCs to take over existing buildings or construct new buildings and use them to extend the usefulness of your allies. When you have a faction camp, you can order your companions to perform missions, such as crafting new items, building up the camp, hunting for food, or recruiting more allies. Faction camps also simplify some aspects of managing your companions.", - "responses": [ - { "text": "Give me an overview of how camps work.", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, - { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, - { "text": "Tell me more about camp missions.", "topic": "TALK_CAMP_TUTORIAL_MISSIONS" }, - { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_OVERVIEW", - "type": "talk_topic", - "dynamic_line": "Each faction camp starts with a bulletin board. You can 'e'xamine the bulletin board to get a list of available missions with descriptions, and to assign an NPC to work on a mission. The bulletin board is the primary way to access the camp.\n If both you and a companion have two-way radios, you can assign missions to the companion remotely by talking on the radio.\n When you ask a companion to start a camp, they'll build a bulletin board at the current location, and that will establish a faction camp at that overmap tile. A faction camp has a central tile where the bulletin board is, and possibly one or more expansions that are in adjacent tiles.\n All of your faction camps can be stocked with food, and your companions will eat from that food when performing camp missions, or even when they're just hungry and near the camp.\n Currently, faction camps can be created in fields, in fire stations, and in some evac shelters.", - "responses": [ - { "text": "Wait, we can talk with radios?", "topic": "TALK_ALLY_TUTORIAL_RADIO" }, - { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, - { "text": "Tell me more about camp missions.", "topic": "TALK_CAMP_TUTORIAL_MISSIONS" }, - { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_FOOD", - "type": "talk_topic", - "dynamic_line": "Faction camps require food, but simplify managing your companions.\n When you activate a camp's bulletin board, you'll be required to make some zones if you haven't already. One of those zones must be a camp food zone. If you drop food in the camp food zone and select the 'Distribute Food' mission, then the food will disappear and be converted into stored kcalories.\n When you send companions out on camp missions, they'll eat from the stored food when they return at the rate of 2,500 kcalories per day. Some missions have variable length, and companions will become upset if there isn't enough food when they come back, so try to keep a healthy surplus of food on hand.\n Companions who aren't on camp missions, but who are following you, will also eat from the camp food stores whenever they're hungry and within 2 overmap tiles of the camp. This drastically simplifies keeping your followers fed, so it's worthwhile to build a minimal faction camp just for this feature.\n You can upgrade a camp to include a water well. If you do, your followers will also drink from the well when they're thirsty.", - "responses": [ - { "text": "Tell me more about camp missions.", "topic": "TALK_CAMP_TUTORIAL_MISSIONS" }, - { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_MISSIONS", - "type": "talk_topic", - "dynamic_line": "When you assign an NPC to a faction camp mission, they'll disappear while they go do whatever you want them to do. When the duration of the mission has elapsed, you'll see a new mission on the bulletin board to have them return and complete the mission by upgrading your camp, returning their hunting kills, dropping off whatever they were crafting, or whatever else the mission results are.\n There are all kinds of faction camp missions: building up the camp, recruiting new allies, hunting and trapping game, scrounging for materials, farming, disassembling cars, and more. Not all activities can be done at every camp - you may need to build some additional buildings, or expand the camp, to get access to some missions.\n Some faction camp missions can be duplicated by companion activities, but building up the camp can only be done via faction camp missions.\n You assign missions by interacting with the bulletin board. You'll see a list of available missions for your central camp tile. If your camp has expansions, you can tab through the expansions to see the available missions at each expansion.\n Remember, companions on camp missions need to be fed, and will become angry if they complete a mission but there isn't any food in the larder.\n There is one special mission called 'Emergency Recall'. You can use this to retrieve any companion on a faction camp mission, but this cancels the mission and wastes any resources used on it. Only use it to recover allies when something has gone really wrong with your camp and you can't get them to come back any other way.", - "responses": [ - { "text": "What do you mean by angry?", "topic": "TALK_ALLY_TUTORIAL_MUTINY" }, - { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, - { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_BUILDING", - "type": "talk_topic", - "dynamic_line": "Currently, there are three types of camps that you can start building: modular field camps, fire station camps, and evac shelter camps. There used to be a fourth called the primitive field camp, but you can't start those anymore, only upgrade them.\n Modular field camps are the most flexible kind of camp since you can build them almost anywhere and can locate them to have plenty of space for expansions, but you start with nothing in a field and have to build every building, so they can require a lot of resources. Fire station and evac shelter camps are faster to build since you start in an existing building, but you have to establish them in an existing building and there may not be any space for expansions.\n Each camp location will have a variety of upgrade missions for it. The various missions have descriptions. In general, though, you'll need to establish housing if you want to expand, and some missions such as hunting or recruiting will require that you have some kind of kitchen or office that you can use to help schedule activities.", - "responses": [ - { "text": "Tell me about modular field camps.", "topic": "TALK_CAMP_TUTORIAL_MFC" }, - { "text": "Tell me about fire station camps.", "topic": "TALK_CAMP_TUTORIAL_FIRE_STATION" }, - { "text": "Tell me about evac shelter camps.", "topic": "TALK_CAMP_TUTORIAL_EVAC_SHELTER" }, - { "text": "Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_MFC", - "type": "talk_topic", - "dynamic_line": "Modular field camps are the most flexible kind of camp, but they require a lot of time and resources to build. You start with an empty field - and it has to be a real empty field, not a field on a ranch or farm - and build up from nothing. You can build from wattle-and-dab if you're feeling primitive, wood panels if you have a lot of nails, metal plate if you're a welder, or tents if you're in a hurry.\n You start by building a lean-to and a bed in the northeast corner of the central camp, and then add a fire place, and expand out until you have a small shelter for two people. When that is complete, you can expand the camp in a variety of ways:\n 1. You can build up to 5 more rooms or shacks, 3 on each side of the camp.\n 2. You can build a central building in the south half of the camp, between the rooms. The central building will act as a command center, allowing your camp to perform hunting, recruiting, and combat patrol missions.\n 3. You can dig trenches on all sides of the camp, which can possibly connect to the rooms on the sides to minimize the amount of trenching you need to do.\n 4. You can build various small features such as root cellars to preserve food or a radio tower to make it easier to recruit more companions.\n Each new construction in a modular camp can be made from a different material, so you aren't constrained by what you start with. Tents are fast to put up, but fragile and likely to get destroyed by zombies. The central building has to be made from wattle-and-daub, wood, or metal, and requires more materials if the side rooms are made from tents.", - "responses": [ - { "text": "Got it. Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, - { "text": "Can we review how camps work?", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_FIRE_STATION", - "type": "talk_topic", - "dynamic_line": "Fire stations make good basecamps. You start with a brick building with secure metal doors, so you're not going to see your efforts destroyed by zombies. On the downside, there may not be many fields around, so you may not be able to expand much.\n Fire station camps are also very compact. There isn't much living space, but you can build a small pottery or blacksmithy, a chop shop in one of the garage bays, and even tear up some of the pavement to create a garden. The existing kitchen makes it easy to cook from the start, though you may need to spruce it up a bit.", - "responses": [ - { "text": "Got it. Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, - { "text": "Can we review how camps work?", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_EVAC_SHELTER", - "type": "talk_topic", - "dynamic_line": "You can build a faction camp in the common evac shelter - the basic design with a single, wide open room. Evac shelters are everywhere and often have fields surrounding them, so they're a little more flexible than a modular field camp but still make it easy to add expansions.\n Evac center camps can be built up in several ways. You basically need to decide between building more bedrooms or adding for crafting and cooking space.", - "responses": [ - { "text": "Got it. Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, - { "text": "Can we review how camps work?", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_EXPANSIONS", - "type": "talk_topic", - "dynamic_line": "Each camp can have up to 8 expansions, one in each adjacent overmap tile. Expansions add to the capabilities of your camp, such as adding a farm field or a manufactory for crafting all kinds of things.\n You need two beds in a room in your central camp for each expansion, and currently, expansions can only be built in fields and have to be built up from scratch.\n Expansion missions show up in separate tabs in the bulletin board, one set of missions per location, and you'll need to hit 'tab' to see them. The currently available expansions are:\n -- Farm: This is a full tile of plowed fields that you can maintain or send companions on missions to maintain. Plants grow here normally.\n -- Garage: This is a large building. Companions can be sent on missions here to disassemble vehicles. Of course, you can also assign companions to disassemble vehicles without a garage, so this expansion is not very useful.\n -- Canteen: This is an expanded kitchen, dining area, and pantry.\n --Livestock Area: This is a modular set of buildings for holding livestock such as cows, horses, or chickens. Animals are not included!\n Saltworks Area: This is a small expansion for processing salt.\n Fabrication Workshop: This is a large expansion for doing all kinds of crafts. Companions can use some of the furniture in this expansion to craft some items much faster than you can do by yourself by hand.\n Central Storage Building: This is a large building for storing goods.", - "responses": [ - { "text": "Got it. Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_ADVICE", - "type": "talk_topic", - "dynamic_line": "Starting a camp doesn't take much time, and you can use a faction camp to keep your companions fed without needing to regularly give them food, so it's a good idea to establish a minimal camp anywhere you intend to be for a while.\n How much you want to expand your camps is up to you. A modular field camp can be very resource intensive, but building one up allows you to send companions off to hunt and farm for you, so there's quite the pay-off. If nothing else, you should consider upgrading the northeast tent to the point where you can build a water well, or if you started with a fire station or evac shelter camp, you should build a water well as soon as you can.\n If you have access to a fire station or evac shelter, you may want to build your camp in them. Both of those camps are are very compact, but have much of the same functionality as an upgraded field camp without requiring so many resources.\n If you are adding expansions to your camp, consider starting with a farm or fabrication workshop. The farm makes it easy to grow your own food, while the fabrication workshop can allow you to craft some of the resources you need to upgrade your camp.\n The canteen, saltworks, livestock area, and storage area probably shouldn't be your first expansions, but they all have their uses.", - "responses": [ - { "text": "Give me an overview of how camps work.", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, - { "text": "Tell me about modular field camps.", "topic": "TALK_CAMP_TUTORIAL_MFC" }, - { "text": "Tell me about fire station camps.", "topic": "TALK_CAMP_TUTORIAL_FIRE_STATION" }, - { "text": "Tell me about evac shelter camps.", "topic": "TALK_CAMP_TUTORIAL_EVAC_SHELTER" }, - { "text": "Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, - { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, - { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, - { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_TUTORIAL_CHANGES", - "type": "talk_topic", - "dynamic_line": "\n1. Faction camps used to require a second NPC to act as overseer and camp manager, but that's been replaced by the bulletin board and two-way radio.\n2. It used to be impossible to upgrade faction camps if there was a vehicle, even a cart, on the same map. You can now upgrade camps even if there is a vehicle on the map, as long as the upgrade doesn't change the area under the vehicle.\n3. Faction camps used to upgrade by completely redrawing the map. Damage to the camp would be replaced when the camp was upgraded. Now upgrades only change the actual area being upgraded, and you will have to repair damage to the camp yourself.\n4. There used to be a single path for upgrading the main camp. Now, after you have completed the first tent, you will have many options for your next upgrade, and you can have different companions working on different upgrades of the main camp at the same time.\n5. Friendly NPCs who are near a camp will feed themselves from the camp's food stores, and if the camp has a well, they'll use it to quench their thirst.\n6. You can now set up faction camps in select buildings. The list of available buildings is constantly growing, so you'll have to experiment.", - "responses": [ - { "text": "Wait, let's go back over from the start.", "topic": "TALK_CAMP_TUTORIAL_INTRO" }, - { "text": "Give me an overview of how camps work.", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, - { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, - { "text": "Tell me about modular field camps.", "topic": "TALK_CAMP_TUTORIAL_MFC" }, - { "text": "Tell me about fire station camps.", "topic": "TALK_CAMP_TUTORIAL_FIRE_STATION" }, - { "text": "Tell me about evac shelter camps.", "topic": "TALK_CAMP_TUTORIAL_EVAC_SHELTER" }, - { "text": "Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, - { "text": "Thanks, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, - { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CAMP_OVERSEER", - "type": "talk_topic", - "dynamic_line": "Hey boss. I was thinking, you don't really need me sitting in this tent and not really contributing to the camp. It's a cushy job, but I could do more. We could put up a bulletin board and you could write up what you want done there. What do you say?", - "responses": [ - { "text": "What needs to be done?", "topic": "TALK_CAMP_OVERSEER", "effect": "basecamp_mission" }, - { - "text": "Yes, set up the bulletin board and then go back to normal duties.", - "topic": "TALK_DONE", - "effect": "remove_overseer" - }, - { "text": "See you around.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_HALLU_CAMP", - "type": "talk_topic", - "dynamic_line": "", - "responses": [ { "text": "Fair enough.", "topic": "TALK_NONE" } ] - } -] diff --git a/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json b/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json index 99cf27f5b140..7678e924d4d9 100644 --- a/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json +++ b/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json @@ -168,14 +168,11 @@ { "text": "Why don't you scavenge your own food?", "topic": "TALK_REFUGEE_BEGGAR_1_SCAVENGE" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_1_EXPERTISE" }, { - "condition": { "not": "u_has_camp" }, "text": "Come with me. Maybe you're not the greatest adventurer, but it's better than living here.", "topic": "TALK_REFUGEE_BEGGAR_1_JOIN" }, { - "condition": { - "and": [ "u_has_camp", { "not": { "u_has_var": "reena_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] - }, + "condition": { "and": [ { "not": { "u_has_var": "reena_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, "text": "I have a camp of my own, away from here. You could come there. There aren't many people left, we could use anyone regardless of skills.", "topic": "TALK_REFUGEE_BEGGAR_1_RECRUIT1" }, @@ -200,14 +197,11 @@ { "text": "Why don't you go somewhere else?", "topic": "TALK_REFUGEE_BEGGAR_1_LEAVE" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_1_EXPERTISE" }, { - "condition": { "not": "u_has_camp" }, "text": "Come with me. Maybe you're not the greatest adventurer, but it's better than living here.", "topic": "TALK_REFUGEE_BEGGAR_1_JOIN" }, { - "condition": { - "and": [ "u_has_camp", { "not": { "u_has_var": "reena_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] - }, + "condition": { "and": [ { "not": { "u_has_var": "reena_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, "text": "I have a camp of my own, away from here. Maybe you can't scavenge, but we can use any warm bodies that can lift a tool. You'd be safer and better fed there.", "topic": "TALK_REFUGEE_BEGGAR_1_RECRUIT1" }, @@ -232,14 +226,11 @@ { "text": "Why don't you go somewhere else?", "topic": "TALK_REFUGEE_BEGGAR_1_LEAVE" }, { "text": "Why don't you scavenge your own food?", "topic": "TALK_REFUGEE_BEGGAR_1_SCAVENGE" }, { - "condition": { "not": "u_has_camp" }, "text": "Come with me. Maybe you're not the greatest adventurer, but it's better than living here.", "topic": "TALK_REFUGEE_BEGGAR_1_JOIN" }, { - "condition": { - "and": [ "u_has_camp", { "not": { "u_has_var": "reena_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] - }, + "condition": { "and": [ { "not": { "u_has_var": "reena_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, "text": "I have a camp of my own, away from here. Maybe they can't use your skills here, but I could.", "topic": "TALK_REFUGEE_BEGGAR_1_RECRUIT1" }, diff --git a/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json b/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json index 56559efbb258..48d086129a9c 100644 --- a/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json +++ b/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json @@ -228,9 +228,7 @@ { "text": "Why stay out here then?", "topic": "TALK_REFUGEE_BEGGAR_3_WHYSTAY" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_3_EXPERTISE" }, { - "condition": { - "and": [ "u_has_camp", { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] - }, + "condition": { "and": [ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, "text": "I have a camp of my own, away from here. No paperwork required. Want to come?", "topic": "TALK_REFUGEE_BEGGAR_3_RECRUIT1" }, @@ -301,9 +299,7 @@ { "text": "Why stay out here then?", "topic": "TALK_REFUGEE_BEGGAR_3_WHYSTAY" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_3_EXPERTISE" }, { - "condition": { - "and": [ "u_has_camp", { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] - }, + "condition": { "and": [ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, "text": "It'd be temporary. I have a base set up. There are only a few of us survivors left, we need to work together", "topic": "TALK_REFUGEE_BEGGAR_3_RECRUIT1" }, @@ -319,9 +315,7 @@ { "text": "You sound more optimistic than usual.", "topic": "TALK_REFUGEE_BEGGAR_3_WHYSTAY2" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_3_EXPERTISE" }, { - "condition": { - "and": [ "u_has_camp", { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] - }, + "condition": { "and": [ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, "text": "It'd be temporary. I have a base set up. There are only a few of us survivors left, we need to work together", "topic": "TALK_REFUGEE_BEGGAR_3_RECRUIT1" }, @@ -346,9 +340,7 @@ "responses": [ { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_3_EXPERTISE" }, { - "condition": { - "and": [ "u_has_camp", { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] - }, + "condition": { "and": [ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, "text": "It'd be temporary. I have a base set up. There are only a few of us survivors left, we need to work together", "topic": "TALK_REFUGEE_BEGGAR_3_RECRUIT1" }, diff --git a/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json b/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json index 09fd15c7c0a9..d488e1708dca 100644 --- a/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json +++ b/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json @@ -218,12 +218,10 @@ "responses": [ { "text": "You have any kids?", "topic": "TALK_REFUGEE_BEGGAR_4_LIFEBEFORE2" }, { - "condition": { "not": "u_has_camp" }, "text": "Would you like to travel with me? Someone good with a trade could be helpful, and it's got to be better than wasting away here.", "topic": "TALK_REFUGEE_BEGGAR_4_JOIN" }, { - "condition": "u_has_camp", "text": "I have a camp. It's a damn sight better than those place, and there are regular meals. Someone with your trades experience would be welcome, even if you can't do the big jobs anymore.", "topic": "TALK_REFUGEE_BEGGAR_4_RECRUIT1" }, @@ -242,12 +240,10 @@ "responses": [ { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_4_LIFEBEFORE1" }, { - "condition": { "not": "u_has_camp" }, "text": "Would you like to travel with me? Someone good with a trade could be helpful, and it's got to be better than wasting away here.", "topic": "TALK_REFUGEE_BEGGAR_4_JOIN" }, { - "condition": "u_has_camp", "text": "I have a camp. It's a damn sight better than those place, and there are regular meals. Someone with your trades experience would be welcome, even if you can't do the big jobs anymore.", "topic": "TALK_REFUGEE_BEGGAR_4_RECRUIT1" }, diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Pablo_Nunez.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Pablo_Nunez.json index 6c761d29d4cc..a22e34f77268 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Pablo_Nunez.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Pablo_Nunez.json @@ -206,8 +206,7 @@ { "text": "I've got a secure base. You and your wife could come with me.", "topic": "TALK_REFUGEE_Pablo_Recruit", - "effect": { "u_add_var": "Pablo_ask_recruit", "type": "recruit", "context": "general", "value": "yes" }, - "condition": "u_has_camp" + "effect": { "u_add_var": "Pablo_ask_recruit", "type": "recruit", "context": "general", "value": "yes" } } ] }, diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json index 8feacbe23eb5..165cd72efe80 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json @@ -257,12 +257,6 @@ }, { "text": "Can I do anything for the center?", "topic": "TALK_MISSION_LIST" }, { "text": "Let's trade then.", "effect": "start_trade", "topic": "TALK_EVAC_MERCHANT" }, - { - "text": "I figured you might be looking for some help…", - "topic": "TALK_NONE", - "effect": { "companion_mission": "REFUGEE_MERCHANT" }, - "condition": { "u_has_any_trait": [ "NPC_MISSION_LEV_1" ] } - }, { "text": "What's with these 'free merchant certified notes'?", "topic": "TALK_EVAC_MERCHANT_MERCH", diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json b/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json index 74e253a61528..5317f26cc4d8 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json @@ -16,11 +16,6 @@ "dynamic_line": "I hope you are here to do business.", "responses": [ { "text": "What are you doing here?", "topic": "TALK_RANCH_CROP_OVERSEER_JOB" }, - { - "text": "I'm interested in investing in agriculture…", - "topic": "TALK_RANCH_CROP_OVERSEER", - "effect": { "companion_mission": "COMMUNE CROPS" } - }, { "text": "What do you need done?", "topic": "TALK_MISSION_LIST" }, { "text": "I've got to go…", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json index 1eacb9f9605d..87390298bc10 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json @@ -28,11 +28,6 @@ { "text": "I heard you were setting up an outpost out here.", "topic": "TALK_RANCH_FOREMAN_OUTPOST" }, { "text": "What's your job here?", "topic": "TALK_RANCH_FOREMAN_JOB" }, { "text": "What do you need done?", "topic": "TALK_MISSION_LIST" }, - { - "text": "I figured you might be looking for some help…", - "topic": "TALK_RANCH_FOREMAN", - "effect": { "companion_mission": "FOREMAN" } - }, { "text": "Hey, are you looking for workers here? I know a couple people back at the refugee center that might be willing to come.", "topic": "TALK_RANCH_FOREMAN_Nunez", diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json b/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json index d3ea627c516e..8369598af524 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json @@ -33,11 +33,6 @@ "type": "talk_topic", "dynamic_line": "Are you interested in the scavenging runs or one of the other tasks that I might have for you?", "responses": [ - { - "text": "Tell me more about the scavenging runs.", - "topic": "TALK_RANCH_SCAVENGER_1", - "effect": { "companion_mission": "SCAVENGER" } - }, { "text": "What kind of tasks do you have for me?", "topic": "TALK_MISSION_LIST" }, { "text": "No, thanks.", "topic": "TALK_RANCH_SCAVENGER_1" } ] diff --git a/data/json/npcs/talk_tags.json b/data/json/npcs/talk_tags.json index b7fc3231655a..d75050bd7994 100644 --- a/data/json/npcs/talk_tags.json +++ b/data/json/npcs/talk_tags.json @@ -44,21 +44,6 @@ "Wish I could, ." ] }, - { - "type": "snippet", - "category": "", - "//": "Hallucinations can't build basecamps.", - "text": [ - "No thanks, I really don't feel like it.", - "Well, I would, but I don't want to right now.", - "I have better things to do.", - "I'll pass; it's too much work.", - "Who put you in charge of what I do?", - "Great idea! Call me when you find SOMEONE ELSE to do it.", - "I'm afraid I can't help you there.", - "Not exactly the settlin' type." - ] - }, { "type": "snippet", "category": "", @@ -1380,38 +1365,6 @@ "category": "", "text": [ "child", "my child", "dear", "my dear", "friend", "survivor", "little one", "darling", "sweetie" ] }, - { - "type": "snippet", - "category": "", - "//": "NPCs say this after drinking water from a camp well.", - "text": [ - "Clean water, the taste that refreshes!", - "I was parched, but not I am not.", - "Water is nice, but I should get a grog ration.", - "That wasn't Evian, but I'm not thirsty." - ] - }, - { - "type": "snippet", - "category": "", - "//": "NPCs say this after eating food from a basecamp larder.", - "text": [ - "And now I have eaten and am not hungry.", - "That food was good, but I miss real restaurants.", - "Well, that satisfied me.", - "I just had some food, but I'm still peckish. Would you mind if I ate more?" - ] - }, - { - "type": "snippet", - "category": "", - "//": "NPCs say this after trying to eat from a basecamp larder with no food.", - "text": [ - "Hey, , we're out of food.", - "Hey, the larder is empty! We're going to starve.", - "Uhm, , I don't meant to criticize, but we should focus on distributing some food into the basecamp larder." - ] - }, { "type": "snippet", "category": "", diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json b/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json deleted file mode 100644 index 58f367dbc327..000000000000 --- a/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json +++ /dev/null @@ -1,632 +0,0 @@ -[ - { - "type": "overmap_terrain", - "id": "faction_base_camp_0", - "name": "camp survey", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_new_0", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_1", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_2", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_3", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_4", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_5", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_6", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_7", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_8", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_9", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_10", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_11", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_12", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_13", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_14", - "name": "survivor camp", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_15", - "name": "survivor base", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_16", - "name": "survivor base", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_17", - "name": "survivor base", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_18", - "name": "survivor base", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_19", - "name": "survivor base", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_camp_20", - "name": "survivor base", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_farm_0", - "name": "farm survey", - "sym": "+", - "color": "i_brown", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_farm_1", - "name": "farm", - "sym": "+", - "color": "i_brown", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_farm_2", - "name": "farm", - "sym": "+", - "color": "i_brown", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_farm_3", - "name": "farm", - "sym": "+", - "color": "i_brown", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_farm_4", - "name": "farm", - "sym": "+", - "color": "i_brown", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_garage_0", - "name": "garage survey", - "sym": "+", - "color": "i_light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_garage_1", - "name": "garage", - "sym": "+", - "color": "i_light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_garage_2", - "name": "garage", - "sym": "+", - "color": "i_light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_garage_3", - "name": "garage", - "sym": "+", - "color": "i_light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_garage_4", - "name": "garage", - "sym": "+", - "color": "i_light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_garage_5", - "name": "garage", - "sym": "+", - "color": "i_light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_garage_6", - "name": "garage", - "sym": "+", - "color": "i_light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_0", - "name": "kitchen survey", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_1", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_2", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_3", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_4", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_5", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_6", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_7", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_kitchen_8", - "name": "kitchen", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_hide_site_0", - "name": "hide site", - "sym": "+", - "color": "white", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_N_0", - "name": "trench", - "sym": "X", - "color": "light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_E_0", - "name": "trench", - "sym": "X", - "color": "light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_S_0", - "name": "trench", - "sym": "X", - "color": "light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_W_0", - "name": "trench", - "sym": "X", - "color": "light_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_N_1", - "name": "spiked trench", - "sym": "X", - "color": "dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_E_1", - "name": "spiked trench", - "sym": "X", - "color": "dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_S_1", - "name": "spiked trench", - "sym": "X", - "color": "dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_wall_level_W_1", - "name": "spiked trench", - "sym": "X", - "color": "dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_workshop_0", - "name": "fabrication workshop survey", - "sym": "+", - "color": "cyan", - "see_cost": 5, - "flags": [ "NO_ROTATE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_0", - "name": "blacksmith survey", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_1", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_2", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_3", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_4", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_5", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_6", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_7", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_8", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_9", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_10", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_11", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_blacksmith_12", - "name": "blacksmith shop", - "sym": "+", - "color": "i_dark_gray", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_livestock_0", - "name": "livestock survey", - "sym": "+", - "color": "pink", - "see_cost": 5, - "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_storehouse_0", - "name": "store house survey", - "sym": "+", - "color": "cyan", - "see_cost": 5, - "flags": [ "NO_ROTATE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_saltworks_0", - "name": "saltworks survey", - "sym": "+", - "color": "red", - "see_cost": 5, - "flags": [ "NO_ROTATE" ] - }, - { - "type": "overmap_terrain", - "id": "faction_base_canteen_0", - "name": "canteen survey", - "sym": "+", - "color": "i_green", - "see_cost": 5, - "flags": [ "NO_ROTATE" ] - } -] diff --git a/data/json/recipes/basecamps/recipe_groups.json b/data/json/recipes/basecamps/recipe_groups.json deleted file mode 100644 index 86f6cb596799..000000000000 --- a/data/json/recipes/basecamps/recipe_groups.json +++ /dev/null @@ -1,275 +0,0 @@ -[ - { - "type": "recipe_group", - "id": "all_faction_base_types", - "building_type": "NONE", - "recipes": [ - { "id": "faction_base_modular_hub_field_0", "description": "Field Camp", "om_terrains": [ "field" ] }, - { - "id": "faction_base_firestation_0", - "description": "Side Bunkroom Firestation Base", - "om_terrains": [ "fire_station" ] - }, - { - "id": "faction_base_shelter_0", - "description": "Open Center Evac Shelter Base", - "om_terrains": [ "shelter", "shelter_vandal" ] - }, - { - "id": "faction_base_shelter_1_0", - "description": "Corner Stairs Evac Shelter Base", - "om_terrains": [ "shelter_1", "shelter_1_vandal" ] - }, - { - "id": "faction_base_shelter_2_0", - "description": "Central Stairs Evac Shelter Base", - "om_terrains": [ "shelter_2", "shelter_2_vandal" ] - } - ] - }, - { - "type": "recipe_group", - "id": "all_faction_base_expansions", - "building_type": "NONE", - "recipes": [ - { "id": "faction_base_farm_0", "description": "Farm", "om_terrains": [ "field" ] }, - { "id": "faction_base_garage_0", "description": "Garage", "om_terrains": [ "field" ] }, - { "id": "faction_base_canteen_0", "description": "Canteen", "om_terrains": [ "field" ] }, - { "id": "faction_base_livestock_0", "description": "Livestock Area", "om_terrains": [ "field" ] }, - { "id": "faction_base_storehouse_0", "description": "Central Storage Building", "om_terrains": [ "field" ] }, - { "id": "faction_base_saltworks_0", "description": "Saltworks Area", "om_terrains": [ "field" ] }, - { "id": "faction_base_workshop_0", "description": "Fabrication Workshop", "om_terrains": [ "field" ] } - ] - }, - { - "type": "recipe_group", - "id": "kitchen_recipes_1", - "building_type": "COOK", - "recipes": [ - { "id": "tinder", "description": " Craft: Tinder" }, - { "id": "meat_cooked", "description": " Cook: Meat, Cooked" }, - { "id": "fish_cooked", "description": " Cook: Fish, Cooked" }, - { "id": "veggy_cooked", "description": " Cook: Veggy, Cooked" }, - { "id": "boiled_egg", "description": " Cook: Egg, Boiled" }, - { "id": "starch", "description": " Cook: Starch" }, - { "id": "starch_from_fibrous_stuff", "description": " Cook: Cattail Starch" }, - { "id": "flatbread", "description": " Cook: Flatbread" }, - { "id": "veggy_wild_cooked", "description": " Cook: Veggy, Cooked Wild" } - ] - }, - { - "type": "recipe_group", - "id": "kitchen_recipes_2", - "building_type": "COOK", - "recipes": [ - { "id": "flour", "description": " Cook: Flour" }, - { "id": "salt", "description": " Cook: Salt" }, - { "id": "bread", "description": " Cook: Bread" }, - { "id": "fruit_leather", "description": " Cook: Fruit Leather" }, - { "id": "jerky", "description": " Cook: Meat Jerky" }, - { "id": "mushroom_cooked", "description": " Cook: Mushroom, Cooked" }, - { "id": "lard", "description": " Cook: Lard" }, - { "id": "cornmeal", "description": " Cook: Cornmeal" }, - { "id": "meat_smoked", "description": " Cook: Meat, Smoked" }, - { "id": "fish_smoked", "description": " Cook: Fish, Smoked" }, - { "id": "dry_mushroom", "description": " Cook: Mushroom, Dried" }, - { "id": "dry_fruit", "description": " Cook: Fruit, Dehydrated" }, - { "id": "sausage", "description": " Cook: Sausage" }, - { "id": "sausage_wasteland", "description": " Cook: Sausage, Wasteland" } - ] - }, - { - "type": "recipe_group", - "id": "kitchen_recipes_3", - "building_type": "COOK", - "recipes": [ - { "id": "pie_meat", "description": " Cook: Meat Pie" }, - { "id": "pie_veggy", "description": " Cook: Veggy Pie" }, - { "id": "sugar", "description": " Cook: Sugar" }, - { "id": "hardtack", "description": " Cook: Hardtack" }, - { "id": "veggy_pickled_jarred", "description": " Cook: Veggy, Pickled" }, - { "id": "cheese_hard", "description": " Cook: Cheese, Hard" }, - { "id": "pemmican", "description": " Cook: Pemmican" }, - { "id": "veggy_aspic", "description": " Cook: Veggy Aspic" }, - { "id": "meat_canned_jarred", "description": " Cook: Meat, Canned" }, - { "id": "meat_aspic", "description": " Cook: Meat Aspic" }, - { "id": "kompot", "description": " Cook: Kompot" } - ] - }, - { - "type": "recipe_group", - "id": "saltworks_recipes_1", - "building_type": "COOK", - "recipes": [ - { "id": "salt_from_salt_water", "description": " Craft: Salt from salt water" }, - { "id": "salted_fish", "description": " Cook: Fish, Salted" } - ] - }, - { - "type": "recipe_group", - "id": "saltworks_recipes_2", - "building_type": "COOK", - "recipes": [ - { "id": "brew_fruit_wine", "description": " Brew: Fruit Wine Must" }, - { "id": "brew_mead", "description": " Brew: Spiced Wine Must" }, - { "id": "brew_dandelion_wine", "description": " Brew: Dandelion Wine Must" }, - { "id": "brew_burdock_wine", "description": " Brew: Burdock Wine Must" }, - { "id": "brew_pine_wine", "description": " Brew: Pine Wine Must" }, - { "id": "brew_hb_beer", "description": " Brew: Beer" } - ] - }, - { - "type": "recipe_group", - "id": "saltworks_recipes_3", - "building_type": "COOK", - "recipes": [ - { "id": "brandy", "description": " Distill: Brandy" }, - { "id": "gin_from_mash", "description": " Distill: Gin" }, - { "id": "vodka_from_wash", "description": " Distill: Vodka" }, - { "id": "rum", "description": " Distill: Rum" } - ] - }, - { - "type": "recipe_group", - "id": "primitive_camp_recipes_1", - "building_type": "BASE", - "recipes": [ - { "id": "tinder", "description": " Craft: Tinder" }, - { "id": "pointy_stick", "description": " Craft: Pointy Sticks" }, - { "id": "wood_panel_from nailed planks", "description": " Craft: Wooden Panel, Nailed Planks" }, - { "id": "wood_panel_from wooden beams", "description": " Craft: Wooden Panel, Wooden Beams" }, - { "id": "wood_beam_from logs", "description": " Craft: Wooden Beam" } - ] - }, - { - "type": "recipe_group", - "id": "farm_recipes_1", - "building_type": "FARM", - "recipes": [ - { "id": "seed_veggy_wild", "description": " Craft: Wild Veggy Stems" }, - { "id": "seed_raw_dandelion", "description": " Craft: Dandelion Seeds" }, - { "id": "seed_potato_raw", "description": " Craft: Potato, Starter" }, - { "id": "seed_buckwheat", "description": " Craft: Buckwheat Seeds" } - ] - }, - { - "type": "recipe_group", - "id": "blacksmith_recipes_1", - "building_type": "SMITH", - "recipes": [ - { "id": "scrap_copper", "description": " Craft: Copper, Scrap" }, - { "id": "charcoal_npc", "description": " Craft: Charcoal" }, - { "id": "spike", "description": " Craft: Spike" }, - { "id": "caltrops_glass", "description": " Craft: Glass Caltrops" }, - { "id": "steel_chunk", "description": " Craft: Steel, Chunk" }, - { "id": "crucible_clay", "description": " Craft: Clay Crucible" }, - { "id": "anvil", "description": " Craft: Anvil" }, - { "id": "steel_lump", "description": " Craft: Steel, Lump" } - ] - }, - { - "type": "recipe_group", - "id": "blacksmith_recipes_2", - "building_type": "SMITH", - "recipes": [ - { "id": "copper_knife", "description": " Craft: Knife, Copper" }, - { "id": "sword_crude", "description": " Craft: Sword, Crude" }, - { "id": "pot_copper", "description": " Craft: Pot, Copper" }, - { "id": "bolt_metal", "description": " Craft: Crossbow Bolt, Steel" }, - { "id": "armor_scrapsuit", "description": " Craft: Armor, Scrap Suit" }, - { "id": "helmet_scrap", "description": " Craft: Armor, Scrap Helmet" }, - { "id": "cuirass_scrap", "description": " Craft: Armor, Scrap Cuirass" }, - { "id": "armguard_scrap", "description": " Craft: Armor, Scrap Arm Guards" }, - { "id": "legguard_scrap", "description": " Craft: Armor, Scrap Leg Guards" }, - { "id": "boots_scrap", "description": " Craft: Armor, Scrap Boots" }, - { "id": "copper_ax", "description": " Craft: Axe, Copper" }, - { "id": "spear_copper", "description": " Craft: Spear, Copper" } - ] - }, - { - "type": "recipe_group", - "id": "blacksmith_recipes_3", - "building_type": "SMITH", - "recipes": [ - { "id": "chisel", "description": " Craft: Metalworking Chisel" }, - { "id": "hammer", "description": " Craft: Hammer" }, - { "id": "tongs", "description": " Craft: Metal Tongs" }, - { "id": "nail", "description": " Craft: Nail" }, - { "id": "wire", "description": " Craft: Wire" }, - { "id": "swage", "description": " Craft: Swage and Die Set" } - ] - }, - { - "type": "recipe_group", - "id": "blacksmith_recipes_4", - "building_type": "SMITH", - "recipes": [ - { "id": "blade", "description": " Craft: Blade" }, - { "id": "bearing", "description": " Craft: Bearings" }, - { "id": "caltrops", "description": " Craft: Caltrops" }, - { "id": "hand_drill", "description": " Craft: Hand Drill" }, - { "id": "sheet_metal", "description": " Craft: Sheet Metal" }, - { "id": "chain", "description": " Craft: Chain" }, - { "id": "shovel", "description": " Craft: Shovel" }, - { "id": "rebar", "description": " Craft: Rebar" }, - { "id": "gold_ring", "description": " Craft: Gold Ring" }, - { "id": "hammer_sledge", "description": " Craft: Hammer, Sledge" } - ] - }, - { - "type": "recipe_group", - "id": "blacksmith_recipes_5", - "building_type": "SMITH", - "recipes": [ - { "id": "knife_combat", "description": " Craft: Knife, Combat" }, - { "id": "spear_steel", "description": " Craft: Spear, Steel" }, - { "id": "machete", "description": " Craft: Machete" }, - { "id": "pipe", "description": " Craft: Pipe" }, - { "id": "screwdriver", "description": " Craft: Screwdriver" }, - { "id": "throwing_axe", "description": " Craft: Axe, Throwing" }, - { "id": "wrench", "description": " Craft: Wrench" }, - { "id": "hatchet", "description": " Craft: Hatchet" }, - { "id": "throwing_knife", "description": " Craft: Knife, Throwing" }, - { "id": "crowbar", "description": " Craft: Crowbar" }, - { "id": "pot", "description": " Craft: Pot" }, - { "id": "hoe", "description": " Craft: Hoe" } - ] - }, - { - "type": "recipe_group", - "id": "blacksmith_recipes_6", - "building_type": "SMITH", - "recipes": [ - { "id": "pliers", "description": " Craft: Pliers" }, - { "id": "halberd", "description": " Craft: Halberd" }, - { "id": "cuirass_lightplate", "description": " Craft: Armor, Cuirass" }, - { "id": "pockknife", "description": " Craft: Knife, Pocket" }, - { "id": "warhammer", "description": " Craft: Hammer, War" }, - { "id": "helmet_plate", "description": " Craft: Helm, Great" }, - { "id": "armor_lightplate", "description": " Craft: Armor, Plate" }, - { "id": "broadsword", "description": " Craft: Sword, Broadsword" }, - { "id": "scimitar", "description": " Craft: Sword, Scimitar" }, - { "id": "fire_ax", "description": " Craft: Axe, Fire" }, - { "id": "hacksaw", "description": " Craft: Hacksaw" }, - { "id": "saw", "description": " Craft: Woodsaw" }, - { "id": "pike", "description": " Craft: Spear, Awl Pike" }, - { "id": "rapier", "description": " Craft: Sword, Rapier" }, - { "id": "halligan", "description": " Craft: Halligan Bar" }, - { "id": "zweihander", "description": " Craft: Sword, Zweihander" }, - { "id": "pickaxe", "description": " Craft: Pickaxe" } - ] - }, - { - "type": "recipe_group", - "id": "blacksmith_recipes_7", - "building_type": "SMITH", - "recipes": [ - { "id": "sheet_metal_npc_drop", "description": " Craft: Sheet Metal, Drop Hammer" }, - { "id": "chain_npc_drop", "description": " Craft: Chain, Drop Hammer" }, - { "id": "nail_npc_drop", "description": " Craft: Nail, Drop Hammer" }, - { "id": "wire_npc_drop", "description": " Craft: Wire, Drop Hammer" }, - { "id": "pipe_npc_drop", "description": " Craft: Pipe, Drop Hammer" }, - { "id": "rebar_npc_drop", "description": " Craft: Rebar, Drop Hammer" } - ] - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_common.json deleted file mode 100644 index d7a9b6ffab84..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_common.json +++ /dev/null @@ -1,340 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_0", - "description": "Survey land for a kitchen and dining area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_0", - "blueprint_name": "kitchen survey", - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_provides": [ { "id": "fbmk_0" } ] - }, - { - "type": "recipe", - "result": "faction_base_modular_canteen_fireplace", - "description": "Now that we have some cover, we should build 2 fireplaces for cooking and grab a pot.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_fireplace", - "blueprint_name": "build 2 fireplaces", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" }, - { "id": "fbmk_canteen_fire" }, - { "id": "trapping" }, - { "id": "hunting" } - ], - "blueprint_excludes": [ { "id": "fbmk_canteen_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 2 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 2 ] ], [ [ "nail", 8 ] ], [ [ "rock", 80 ] ] ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ], [ [ "pan", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_canteen_stove", - "description": "Now that we have some cover, we should build 2 stoves for cooking and grab a pot.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_stove", - "blueprint_name": "build 2 wood stoves", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" }, - { "id": "fbmk_canteen_fire" }, - { "id": "trapping" }, - { "id": "hunting" } - ], - "blueprint_excludes": [ { "id": "fbmk_canteen_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "SAW_M" } ], [ { "id": "SAW_W" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 2 ] ], - [ [ "metal_tank", 2 ] ], - [ [ "nail", 8 ] ], - [ [ "pipe", 2 ] ], - [ [ "wood_panel", 2 ], [ "wood_sheet", 1 ] ] - ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ], [ [ "pan", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_canteen_well", - "description": "We should build a well. This will make cooking more convenient.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_well", - "blueprint_name": "build a well", - "blueprint_requires": [ { "id": "fbmk_canteen_fire" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_well" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_well" } ], - "blueprint_needs": { - "time": "13 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "mechanics", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 8 ] ], [ [ "pipe", 6 ] ], [ [ "rock", 40 ] ], [ [ "well_pump", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_canteen_counters", - "description": "Lets build some counters and shelves.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_counters", - "blueprint_name": "build kitchen counters", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_counters" } ], - "blueprint_excludes": [ { "id": "fbmk_counters" } ], - "blueprint_needs": { - "time": "7 h 20 m", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 32 ] ], [ [ "wood_sheet", 12 ], [ "wood_panel", 24 ] ], [ [ "nail", 192 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_canteen_smoking", - "description": "Let's build some smokers and a charcoal kiln for food preservation.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_smoking_kiln", - "blueprint_name": "build 3 smoking racks and a charcoal kiln", - "blueprint_requires": [ { "id": "fbmk_canteen_fire" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_smoking" }, { "id": "kitchen_recipes_2" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_smoking" } ], - "blueprint_resources": [ "fake_char_smoker", "fake_char_smoker", "fake_char_smoker", "fake_char_kiln" ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 3 ], [ "cooking", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 48 ], [ "stick", 48 ], [ "stick_long", 24 ] ], [ [ "material_soil", 2 ] ], [ [ "rock", 64 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_furniture", - "description": "Lets furnish the pantry and build 2 root cellars.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_furniture", - "blueprint_name": "furnish the pantry", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_furniture" }, { "id": "pantry" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_furniture" } ], - "blueprint_needs": { - "time": "1 d 4 h 20 m", - "skills": [ [ "cooking", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 112 ] ], - [ [ "wood_sheet", 24 ], [ "wood_panel", 48 ] ], - [ [ "nail", 504 ] ], - [ [ "sheet_metal_small", 24 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "rock", 80 ], [ "brick", 80 ] ], - [ [ "withered", 24 ], [ "straw_pile", 24 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_butchery", - "description": "Let's make a butchery area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_butchery_rack", - "blueprint_name": "build butchery area", - "blueprint_requires": [ { "id": "fbmk_canteen_smoking" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_butchery" }, { "id": "kitchen_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_butchery" } ], - "blueprint_needs": { - "time": "1 h 15 m", - "skills": [ [ "fabrication", 2 ], [ "cooking", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 4 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "stick_long", 6 ] ], - [ [ "rope_natural_short", 1, "LIST" ], [ "cordage", 2, "LIST" ], [ "wire", 8 ] ], - [ [ "pointy_stick", 2 ], [ "spike", 2 ] ] - ] - } - }, - "components": [ [ [ "knife_butcher", 1 ], [ "knife_steak", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_furniture", - "description": "Let's make some furniture for the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_furniture", - "blueprint_name": "furnish the dining room", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_furniture" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_furniture" } ], - "blueprint_needs": { - "time": "12 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 96 ] ], [ [ "wood_sheet", 8 ], [ "wood_panel", 8 ] ], [ [ "nail", 192 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_planters_1", - "description": "Let's build some planters to the north for a chef's garden.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_planters_1", - "blueprint_name": "build some planters", - "blueprint_requires": [ { "id": "fbmk_canteen_well" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_planterA" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_planterA" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 72 ] ], [ [ "nail", 216 ] ], [ [ "pebble", 1200 ] ], [ [ "material_soil", 450 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_planters_2", - "description": "Let's build some planters to the north for a chef's garden.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_planters_2", - "blueprint_name": "build some planters", - "blueprint_requires": [ { "id": "fbmk_canteen_planterA" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_planterB" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_planterB" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 72 ] ], [ [ "nail", 216 ] ], [ [ "pebble", 1200 ] ], [ [ "material_soil", 450 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_planters_3", - "description": "Let's build some planters to the north for a chef's garden.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_planters_3", - "blueprint_name": "build some planters", - "blueprint_requires": [ { "id": "fbmk_canteen_planterB" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_planterC" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_planterC" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 72 ] ], [ [ "nail", 216 ] ], [ [ "pebble", 1200 ] ], [ [ "material_soil", 450 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_planters_4", - "description": "Let's build some planters to the north for a chef's garden.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_planters_4", - "blueprint_name": "build some planters", - "blueprint_requires": [ { "id": "fbmk_canteen_planterC" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_planterD" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_planterD" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 72 ] ], [ [ "nail", 216 ] ], [ [ "pebble", 1200 ] ], [ [ "material_soil", 450 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_log.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_log.json deleted file mode 100644 index d991cd941629..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_log.json +++ /dev/null @@ -1,191 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_room_center_log", - "description": "Lets start building the central kitchen log walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_log", - "blueprint_name": "build the log wall central kitchen room", - "blueprint_requires": [ { "id": "fbmk_0" } ], - "blueprint_provides": [ { "id": "fbmk_center" } ], - "blueprint_excludes": [ { "id": "fbmk_center" } ], - "blueprint_needs": { - "time": "23 h 35 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 95 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 24 ] ], - [ [ "nail", 126 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_room2_center_log", - "description": "Lets finish the central kitchen log walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen2_log", - "blueprint_name": "finish the log wall central kitchen room", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ { "id": "fbmk_center2" } ], - "blueprint_excludes": [ { "id": "fbmk_center2" } ], - "blueprint_needs": { - "time": "1 d 5 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 97 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 4 ] ], - [ [ "log", 36 ] ], - [ [ "nail", 102 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_smoking_area_log", - "description": "Lets get this log wall smoking area covered to protect the workers from the weather.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_smoking_area_log", - "blueprint_name": "build a log wall roofed area for smoking racks", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_smoking_area" } ], - "blueprint_excludes": [ { "id": "fbmk_smoking_area" } ], - "blueprint_needs": { - "time": "1 d 13 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 215 ] ], [ [ "log", 24 ] ], [ [ "nail", 446 ] ], [ [ "wood_panel", 22 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_log", - "description": "Lets build a log wall pantry west of the kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_log", - "blueprint_name": "build a log wall pantry", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_room" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_room" } ], - "blueprint_needs": { - "time": "1 d 21 h 10 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 64 ] ], [ [ "2x4", 90 ], [ "stick", 90 ] ], [ [ "glass_sheet", 2 ] ], [ [ "nail", 60 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_west_log", - "description": "Lets build the west log wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_west_log", - "blueprint_name": "build W log wall", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_needs": { - "time": "23 h 20 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 92 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 24 ] ], - [ [ "nail", 126 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_east_log", - "description": "Lets build the east log wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_east_log", - "blueprint_name": "build E log wall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_west" }, { "id": "fbmk_smoking_area" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_needs": { - "time": "1 d 3 h 5 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 99 ] ], [ [ "glass_sheet", 3 ] ], [ [ "log", 28 ] ], [ [ "nail", 120 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_center_log", - "description": "Lets build the center of the log wall dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_center_log", - "blueprint_name": "build center of the log wall dining hall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_needs": { - "time": "12 h 15 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 41 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 8 ] ], - [ [ "nail", 66 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_metal.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_metal.json deleted file mode 100644 index 95c63f1e1872..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_metal.json +++ /dev/null @@ -1,271 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_room_center_metal", - "description": "Lets start building the central kitchen metal walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_metal", - "blueprint_name": "build the metal wall central kitchen room", - "blueprint_requires": [ { "id": "fbmk_0" } ], - "blueprint_provides": [ { "id": "fbmk_center" } ], - "blueprint_excludes": [ { "id": "fbmk_center" } ], - "blueprint_needs": { - "time": "1 d 7 h 35 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 120 ], [ "oxy_torch", 24 ], [ "toolset", 180 ], [ "welder", 120 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "DRILL" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 45 ], [ "log", 6 ] ], - [ [ "frame", 18 ], [ "pipe", 108 ], [ "xlframe", 30 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "hinge", 3 ] ], - [ [ "nail", 186 ] ], - [ [ "scrap", 420 ], [ "sheet_metal_small", 210 ] ], - [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], - [ [ "sheet_metal", 8 ], [ "steel_plate", 2 ] ], - [ [ "spike", 8 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_room2_center_metal", - "description": "Lets finish the central kitchen metal walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen2_metal", - "blueprint_name": "finish the metal wall central kitchen room", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ { "id": "fbmk_center2" } ], - "blueprint_excludes": [ { "id": "fbmk_center2" } ], - "blueprint_needs": { - "time": "1 d 18 h 55 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 180 ], [ "oxy_torch", 36 ], [ "toolset", 270 ], [ "welder", 180 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "DRILL" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "frame", 27 ], [ "pipe", 162 ], [ "xlframe", 45 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 174 ] ], - [ [ "scrap", 630 ], [ "sheet_metal_small", 315 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "sheet_metal", 16 ], [ "steel_plate", 4 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_smoking_area_metal", - "description": "Lets get this metal wall smoking area covered to protect the workers from the weather.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_smoking_area_metal", - "blueprint_name": "build a metal wall roofed area for smoking racks", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_smoking_area" } ], - "blueprint_excludes": [ { "id": "fbmk_smoking_area" } ], - "blueprint_needs": { - "time": "1 d 19 h 25 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 120 ], [ "oxy_torch", 24 ], [ "toolset", 180 ], [ "welder", 120 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "DRILL" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 179 ] ], - [ [ "frame", 18 ], [ "pipe", 108 ], [ "xlframe", 30 ] ], - [ [ "nail", 542 ] ], - [ [ "scrap", 420 ], [ "sheet_metal_small", 210 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_metal", - "description": "Lets build a metal wall pantry west of the kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_metal", - "blueprint_name": "build a metal wall pantry", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_room" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_room" } ], - "blueprint_needs": { - "time": "2 d 12 h 10 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 300 ], [ "oxy_torch", 60 ], [ "toolset", 450 ], [ "welder", 300 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "DRILL" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 30 ], [ "log", 4 ] ], - [ [ "frame", 45 ], [ "pipe", 270 ], [ "xlframe", 75 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "nail", 300 ] ], - [ [ "scrap", 1050 ], [ "sheet_metal_small", 525 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_west_metal", - "description": "Lets build the west metal wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_west_metal", - "blueprint_name": "build W metal wall", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_needs": { - "time": "1 d 7 h 20 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 120 ], [ "oxy_torch", 24 ], [ "toolset", 180 ], [ "welder", 120 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "DRILL" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 42 ] ], - [ [ "frame", 18 ], [ "pipe", 108 ], [ "xlframe", 30 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 3 ] ], - [ [ "nail", 186 ] ], - [ [ "scrap", 420 ], [ "sheet_metal_small", 210 ] ], - [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], - [ [ "sheet_metal", 8 ], [ "steel_plate", 2 ] ], - [ [ "spike", 8 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_east_metal", - "description": "Lets build the east metal wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_east_metal", - "blueprint_name": "build E metal wall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_west" }, { "id": "fbmk_smoking_area" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_needs": { - "time": "1 d 10 h 5 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 140 ], [ "oxy_torch", 28 ], [ "toolset", 210 ], [ "welder", 140 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "DRILL" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 57 ] ], - [ [ "frame", 21 ], [ "pipe", 126 ], [ "xlframe", 35 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "nail", 232 ] ], - [ [ "scrap", 490 ], [ "sheet_metal_small", 245 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_center_metal", - "description": "Lets build the center of the metal wall dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_center_metal", - "blueprint_name": "build center of the metal wall dining hall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_needs": { - "time": "16 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 40 ], [ "oxy_torch", 8 ], [ "toolset", 60 ], [ "welder", 40 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "DRILL" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "frame", 6 ], [ "pipe", 36 ], [ "xlframe", 10 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 3 ] ], - [ [ "nail", 62 ] ], - [ [ "scrap", 140 ], [ "sheet_metal_small", 70 ] ], - [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], - [ [ "sheet_metal", 8 ], [ "steel_plate", 2 ] ], - [ [ "spike", 8 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_migo_resin.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_migo_resin.json deleted file mode 100644 index e96122e10c0a..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_migo_resin.json +++ /dev/null @@ -1,147 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_room_center_migo_resin", - "description": "Lets start building the central kitchen mi-go resin walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_migo_resin", - "blueprint_name": "build the mi-go resin central kitchen room", - "blueprint_requires": [ { "id": "fbmk_0" } ], - "blueprint_provides": [ { "id": "fbmk_center" } ], - "blueprint_excludes": [ { "id": "fbmk_center" } ], - "blueprint_needs": { - "time": "1 d 3 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 39 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_room2_center_migo_resin", - "description": "Lets finish the central kitchen mi-go resin walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen2_migo_resin", - "blueprint_name": "finish the mi-go resin central kitchen room", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ { "id": "fbmk_center2" } ], - "blueprint_excludes": [ { "id": "fbmk_center2" } ], - "blueprint_needs": { - "time": "1 d 10 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 55 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_smoking_area_migo_resin", - "description": "Lets get this mi-go resin smoking area covered to protect the workers from the weather.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_smoking_area_migo_resin", - "blueprint_name": "build a mi-go resin roofed area for smoking racks", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_smoking_area" } ], - "blueprint_excludes": [ { "id": "fbmk_smoking_area" } ], - "blueprint_needs": { - "time": "1 d 1 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 179 ] ], [ [ "alien_pod_resin", 12 ] ], [ [ "nail", 446 ] ], [ [ "wood_panel", 22 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_migo_resin", - "description": "Lets build a mi-go resin wall pantry west of the kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_migo_resin", - "blueprint_name": "build a mi-go resin pantry", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_room" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_room" } ], - "blueprint_needs": { - "time": "2 d 1 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 82 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_west_migo_resin", - "description": "Lets build the west mi-go resin wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_west_migo_resin", - "blueprint_name": "build W mi-go resin wall", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_needs": { - "time": "1 d 3 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ [ [ "2x4", 12 ] ], [ [ "alien_pod_resin", 38 ] ], [ [ "nail", 30 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_east_migo_resin", - "description": "Lets build the east mi-go resin wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_east_migo_resin", - "blueprint_name": "build E mi-go resin wall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_west" }, { "id": "fbmk_smoking_area" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_needs": { - "time": "1 d 12 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ [ [ "2x4", 12 ] ], [ [ "nail", 30 ] ], [ [ "alien_pod_resin", 51 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_center_migo_resin", - "description": "Lets build the center of the mi-go resin dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_center_migo_resin", - "blueprint_name": "build center of the mi-go resin dining hall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_needs": { - "time": "1 d 17 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 55 ] ] ] } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_rammed_earth.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_rammed_earth.json deleted file mode 100644 index 79908d295aae..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_rammed_earth.json +++ /dev/null @@ -1,262 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_room_center_rammed_earth", - "description": "Lets start building the central kitchen rammed earth walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_rammed_earth", - "blueprint_name": "build the rammed earth central kitchen room", - "blueprint_requires": [ { "id": "fbmk_0" } ], - "blueprint_provides": [ { "id": "fbmk_center" } ], - "blueprint_excludes": [ { "id": "fbmk_center" } ], - "blueprint_needs": { - "time": "1 d 17 h 45 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 151 ] ], - [ [ "concrete", 6 ], [ "material_quicklime", 120 ], [ "material_sand", 120 ] ], - [ [ "material_soil", 600 ] ], - [ [ "nail", 334 ] ], - [ [ "pointy_stick", 12 ], [ "spear_wood", 12 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 300 ], [ "water_clean", 300 ] ], - [ [ "wood_panel", 11 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_room2_center_rammed_earth", - "description": "Lets finish the central kitchen rammed earth walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen2_rammed_earth", - "blueprint_name": "finish the rammed earth central kitchen room", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ { "id": "fbmk_center2" } ], - "blueprint_excludes": [ { "id": "fbmk_center2" } ], - "blueprint_needs": { - "time": "2 d 10 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 179 ] ], - [ [ "concrete", 9 ], [ "material_quicklime", 180 ], [ "material_sand", 180 ] ], - [ [ "material_soil", 900 ] ], - [ [ "nail", 398 ] ], - [ [ "pointy_stick", 18 ], [ "spear_wood", 18 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 450 ], [ "water_clean", 450 ] ], - [ [ "wood_panel", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_smoking_area_rammed_earth", - "description": "Lets get this rammed earth smoking area covered to protect the workers from the weather.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_smoking_area_rammed_earth", - "blueprint_name": "build a rammed earth roofed area for smoking racks", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_smoking_area" } ], - "blueprint_excludes": [ { "id": "fbmk_smoking_area" } ], - "blueprint_needs": { - "time": "1 d 23 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 179 ] ], - [ [ "concrete", 6 ], [ "material_quicklime", 120 ], [ "material_sand", 120 ] ], - [ [ "material_soil", 600 ] ], - [ [ "nail", 446 ] ], - [ [ "pointy_stick", 12 ], [ "spear_wood", 12 ] ], - [ [ "water", 300 ], [ "water_clean", 300 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_rammed_earth", - "description": "Lets build a rammed earth wall pantry west of the kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_rammed_earth", - "blueprint_name": "build a rammed earth pantry", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_room" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_room" } ], - "blueprint_needs": { - "time": "3 d 19 h 15 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 230 ] ], - [ [ "concrete", 15 ], [ "material_quicklime", 300 ], [ "material_sand", 300 ] ], - [ [ "material_soil", 1500 ] ], - [ [ "nail", 560 ] ], - [ [ "pointy_stick", 30 ], [ "spear_wood", 30 ] ], - [ [ "water", 750 ], [ "water_clean", 750 ] ], - [ [ "wood_panel", 25 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_west_rammed_earth", - "description": "Lets build the west rammed earth wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_west_rammed_earth", - "blueprint_name": "build W rammed earth wall", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_needs": { - "time": "1 d 18 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 148 ] ], - [ [ "concrete", 6 ], [ "material_quicklime", 120 ], [ "material_sand", 120 ] ], - [ [ "material_soil", 600 ] ], - [ [ "nail", 334 ] ], - [ [ "pointy_stick", 12 ], [ "spear_wood", 12 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 300 ], [ "water_clean", 300 ] ], - [ [ "wood_panel", 11 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_east_rammed_earth", - "description": "Lets build the east rammed earth wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_east_rammed_earth", - "blueprint_name": "build E rammed earth wall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_west" }, { "id": "fbmk_smoking_area" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_needs": { - "time": "2 d 4 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 193 ] ], - [ [ "concrete", 7 ], [ "material_quicklime", 140 ], [ "material_sand", 140 ] ], - [ [ "material_soil", 700 ] ], - [ [ "nail", 460 ] ], - [ [ "pointy_stick", 14 ], [ "spear_wood", 14 ] ], - [ [ "water", 350 ], [ "water_clean", 350 ] ], - [ [ "wood_panel", 17 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_center_rammed_earth", - "description": "Lets build the center of the rammed earth dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_center_rammed_earth", - "blueprint_name": "build center of the rammed earth dining hall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_needs": { - "time": "1 d 11 h 15 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 225 ] ], - [ [ "concrete", 2 ], [ "material_quicklime", 40 ], [ "material_sand", 40 ] ], - [ [ "material_soil", 200 ] ], - [ [ "nail", 534 ] ], - [ [ "pointy_stick", 4 ], [ "spear_wood", 4 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 100 ], [ "water_clean", 100 ] ], - [ [ "wood_panel", 24 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_rock.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_rock.json deleted file mode 100644 index d0f33fc6ac8e..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_rock.json +++ /dev/null @@ -1,220 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_room_center_rock", - "description": "Lets start building the central kitchen rock walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_rock", - "blueprint_name": "build the central kitchen room", - "blueprint_requires": [ { "id": "fbmk_0" } ], - "blueprint_provides": [ { "id": "fbmk_center" } ], - "blueprint_excludes": [ { "id": "fbmk_center" } ], - "blueprint_needs": { - "time": "1 d 20 h 35 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 59 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 126 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_room2_center_rock", - "description": "Lets finish the central kitchen rock walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen2_rock", - "blueprint_name": "finish the rock wall central kitchen room", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ { "id": "fbmk_center2" } ], - "blueprint_excludes": [ { "id": "fbmk_center2" } ], - "blueprint_needs": { - "time": "2 d 13 h 25 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 43 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 4 ] ], - [ [ "mortar_adobe", 18 ], [ "mortar_build", 18 ] ], - [ [ "nail", 102 ] ], - [ [ "pebble", 450 ] ], - [ [ "rock", 216 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_smoking_area_rock", - "description": "Lets get this rock wall smoking area covered to protect the workers from the weather.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_smoking_area_rock", - "blueprint_name": "build a rock wall roofed area for smoking racks", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_smoking_area" } ], - "blueprint_excludes": [ { "id": "fbmk_smoking_area" } ], - "blueprint_needs": { - "time": "2 d 10 h 25 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 179 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 446 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_rock", - "description": "Lets build a rock wall pantry west of the kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_rock", - "blueprint_name": "build a rock wall pantry", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_room" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_room" } ], - "blueprint_needs": { - "time": "4 d 1 h 40 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 30 ], [ "log", 4 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "mortar_adobe", 30 ], [ "mortar_build", 30 ] ], - [ [ "nail", 60 ] ], - [ [ "pebble", 750 ] ], - [ [ "rock", 360 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_west_rock", - "description": "Lets build the west rock wall of the rock wall dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_west_rock", - "blueprint_name": "build W rock wall", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_needs": { - "time": "1 d 20 h 20 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 56 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 126 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_east_rock", - "description": "Lets build the east rock wall of the rock wall dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_east_rock", - "blueprint_name": "build E rock wall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_west" }, { "id": "fbmk_smoking_area" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_needs": { - "time": "2 d 3 h 35 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 57 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "mortar_adobe", 14 ], [ "mortar_build", 14 ] ], - [ [ "nail", 120 ] ], - [ [ "pebble", 350 ] ], - [ [ "rock", 168 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_center_rock", - "description": "Lets build the center of the rock wall dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_center_rock", - "blueprint_name": "build center of the rock dining hall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_needs": { - "time": "19 h 15 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 29 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 4 ], [ "mortar_build", 4 ] ], - [ [ "nail", 66 ] ], - [ [ "pebble", 100 ] ], - [ [ "rock", 48 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_wad.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_wad.json deleted file mode 100644 index 7e87f526b36d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_wad.json +++ /dev/null @@ -1,307 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_room_center_wad", - "description": "Lets start building the central kitchen wattle and daub walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_wad", - "blueprint_name": "build the wattle and daub central kitchen room", - "blueprint_requires": [ { "id": "fbmk_0" } ], - "blueprint_provides": [ { "id": "fbmk_center" } ], - "blueprint_excludes": [ { "id": "fbmk_center" } ], - "blueprint_needs": { - "time": "1 d 1 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 181 ] ], - [ - [ "cattail_stalk", 60 ], - [ "dogbane", 60 ], - [ "material_sand", 150 ], - [ "pebble", 150 ], - [ "pine_bough", 60 ], - [ "straw_pile", 60 ], - [ "withered", 60 ] - ], - [ - [ "clay_lump", 60 ], - [ "material_limestone", 60 ], - [ "material_quicklime", 60 ], - [ "material_soil", 300 ] - ], - [ [ "nail", 244 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 75 ], [ "water_clean", 75 ] ], - [ [ "wood_panel", 11 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_room2_center_wad", - "description": "Lets finish the central kitchen wattle and daub walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen2_wad", - "blueprint_name": "finish the wattle and daub central kitchen room", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ { "id": "fbmk_center2" } ], - "blueprint_excludes": [ { "id": "fbmk_center2" } ], - "blueprint_needs": { - "time": "1 d 10 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 259 ] ], - [ - [ "cattail_stalk", 76 ], - [ "dogbane", 76 ], - [ "material_sand", 190 ], - [ "pebble", 190 ], - [ "pine_bough", 76 ], - [ "straw_pile", 76 ], - [ "withered", 76 ] - ], - [ - [ "clay_lump", 76 ], - [ "material_limestone", 76 ], - [ "material_quicklime", 76 ], - [ "material_soil", 380 ] - ], - [ [ "nail", 368 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 95 ], [ "water_clean", 95 ] ], - [ [ "wood_panel", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_smoking_area_wad", - "description": "Lets get this wattle and daub smoking area covered to protect the workers from the weather.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_smoking_area_wad", - "blueprint_name": "build a wattle and daub roofed area for smoking racks", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_smoking_area" } ], - "blueprint_excludes": [ { "id": "fbmk_smoking_area" } ], - "blueprint_needs": { - "time": "1 d 8 h 25 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 239 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ - [ "clay_lump", 48 ], - [ "material_limestone", 48 ], - [ "material_quicklime", 48 ], - [ "material_soil", 240 ] - ], - [ [ "nail", 446 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_wad", - "description": "Lets build a wattle and daub wall pantry west of the kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_wad", - "blueprint_name": "build a wattle and daub pantry", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_room" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_room" } ], - "blueprint_needs": { - "time": "2 d 3 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 360 ] ], - [ - [ "cattail_stalk", 128 ], - [ "dogbane", 128 ], - [ "material_sand", 320 ], - [ "pebble", 320 ], - [ "pine_bough", 128 ], - [ "straw_pile", 128 ], - [ "withered", 128 ] - ], - [ - [ "clay_lump", 128 ], - [ "material_limestone", 128 ], - [ "material_quicklime", 128 ], - [ "material_soil", 640 ] - ], - [ [ "nail", 500 ] ], - [ [ "water", 160 ], [ "water_clean", 160 ] ], - [ [ "wood_panel", 25 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_west_wad", - "description": "Lets build the west wattle and daub wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_west_wad", - "blueprint_name": "build W wattle and daub wall", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_needs": { - "time": "1 d 1 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 188 ] ], - [ - [ "cattail_stalk", 56 ], - [ "dogbane", 56 ], - [ "material_sand", 140 ], - [ "pebble", 140 ], - [ "pine_bough", 56 ], - [ "straw_pile", 56 ], - [ "withered", 56 ] - ], - [ - [ "clay_lump", 56 ], - [ "material_limestone", 56 ], - [ "material_quicklime", 56 ], - [ "material_soil", 280 ] - ], - [ [ "nail", 274 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 70 ], [ "water_clean", 70 ] ], - [ [ "wood_panel", 11 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_east_wad", - "description": "Lets build the east wattle and daub wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_east_wad", - "blueprint_name": "build E wattle and daub wall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_west" }, { "id": "fbmk_smoking_area" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_needs": { - "time": "1 d 8 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 233 ] ], - [ - [ "cattail_stalk", 68 ], - [ "dogbane", 68 ], - [ "material_sand", 170 ], - [ "pebble", 170 ], - [ "pine_bough", 68 ], - [ "straw_pile", 68 ], - [ "withered", 68 ] - ], - [ - [ "clay_lump", 68 ], - [ "material_limestone", 68 ], - [ "material_quicklime", 68 ], - [ "material_soil", 340 ] - ], - [ [ "nail", 370 ] ], - [ [ "water", 85 ], [ "water_clean", 85 ] ], - [ [ "wood_panel", 17 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_center_wad", - "description": "Lets build the center of the wattle and daub dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_center_wad", - "blueprint_name": "build center of the wattle and daub dining hall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_needs": { - "time": "1 d 5 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 235 ] ], - [ - [ "cattail_stalk", 20 ], - [ "dogbane", 20 ], - [ "material_sand", 50 ], - [ "pebble", 50 ], - [ "pine_bough", 20 ], - [ "straw_pile", 20 ], - [ "withered", 20 ] - ], - [ - [ "clay_lump", 20 ], - [ "material_limestone", 20 ], - [ "material_quicklime", 20 ], - [ "material_soil", 100 ] - ], - [ [ "nail", 504 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 25 ], [ "water_clean", 25 ] ], - [ [ "wood_panel", 24 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_wood.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_wood.json deleted file mode 100644 index 01600dd5f734..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_wood.json +++ /dev/null @@ -1,163 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_canteen_room_center_wood", - "description": "Lets start building the central kitchen wood panel walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen_wood", - "blueprint_name": "build the wood panel central kitchen room", - "blueprint_requires": [ { "id": "fbmk_0" } ], - "blueprint_provides": [ { "id": "fbmk_center" } ], - "blueprint_excludes": [ { "id": "fbmk_center" } ], - "blueprint_needs": { - "time": "17 h 35 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 119 ] ], [ [ "glass_sheet", 3 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 366 ] ], [ [ "wood_panel", 13 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_room2_center_wood", - "description": "Lets finish the central kitchen wood panel walls.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_canteen2_wood", - "blueprint_name": "finish the wood panel central kitchen room", - "blueprint_requires": [ { "id": "fbmk_center" } ], - "blueprint_provides": [ { "id": "fbmk_center2" } ], - "blueprint_excludes": [ { "id": "fbmk_center2" } ], - "blueprint_needs": { - "time": "20 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 133 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 462 ] ], [ [ "wood_panel", 20 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_smoking_area_wood", - "description": "Lets get this wood panel smoking area covered to protect the workers from the weather.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_smoking_area_wood", - "blueprint_name": "build a wood panel roofed area for smoking racks", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_smoking_area" } ], - "blueprint_excludes": [ { "id": "fbmk_smoking_area" } ], - "blueprint_needs": { - "time": "1 d 7 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 239 ] ], [ [ "nail", 686 ] ], [ [ "wood_panel", 34 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_pantry_wood", - "description": "Lets build a wood panel pantry west of the kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_pantry_wood", - "blueprint_name": "build a wood panel pantry", - "blueprint_requires": [ { "id": "fbmk_center2" } ], - "blueprint_provides": [ { "id": "fbmk_pantry_room" } ], - "blueprint_excludes": [ { "id": "fbmk_pantry_room" } ], - "blueprint_needs": { - "time": "1 d 6 h 10 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 180 ] ], [ [ "glass_sheet", 2 ] ], [ [ "nail", 660 ] ], [ [ "wood_panel", 30 ], [ "wood_sheet", 15 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_west_wood", - "description": "Lets build the west wood panel wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_west_wood", - "blueprint_name": "build W wood wall", - "blueprint_requires": [ { "id": "fbmk_pantry_room" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_west" } ], - "blueprint_needs": { - "time": "17 h 20 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 116 ] ], [ [ "glass_sheet", 2 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 366 ] ], [ [ "wood_panel", 13 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_east_wood", - "description": "Lets build the east wood panel wall of the dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_east_wood", - "blueprint_name": "build E wood wall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_west" }, { "id": "fbmk_smoking_area" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_needs": { - "time": "20 h 5 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 127 ] ], [ [ "glass_sheet", 3 ] ], [ [ "nail", 400 ] ], [ [ "wood_panel", 14 ], [ "wood_sheet", 7 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_canteen_dining_center_wood", - "description": "Lets build the center of the wood panel dining hall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmk_canteen_dining_center_wood", - "blueprint_name": "build center of the dining hall", - "blueprint_requires": [ { "id": "fbmk_canteen_dining_east" } ], - "blueprint_provides": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_excludes": [ { "id": "fbmk_canteen_dining_center" } ], - "blueprint_needs": { - "time": "10 h 15 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 49 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 146 ] ], [ [ "wood_panel", 5 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_common.json b/data/json/recipes/basecamps/recipe_modular_field_common.json deleted file mode 100644 index 2c2159b1c455..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_common.json +++ /dev/null @@ -1,1020 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_field_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 h", - "construction_blueprint": "fbmh_0", - "blueprint_provides": [ - { "id": "gathering" }, - { "id": "primitive_camp_recipes_1" }, - { "id": "fbmh_0" }, - { "id": "firewood" }, - { "id": "foraging" }, - { "id": "sorting" }, - { "id": "logging" } - ], - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_name": "basic survey", - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_mallroof_0", - "description": "We should survey the roof top and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 h", - "construction_blueprint": "fbmh_0", - "blueprint_provides": [ - { "id": "gathering" }, - { "id": "primitive_camp_recipes_1" }, - { "id": "fbmh_0" }, - { "id": "firewood" }, - { "id": "foraging" }, - { "id": "sorting" }, - { "id": "logging" }, - { "id": "fbm_no_dig" } - ], - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_name": "basic survey", - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_fireplace_northeast", - "description": "Now that we have some cover, we should build a fireplace in the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_fireplace_northeast", - "blueprint_name": "northeast fireplace", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_fire_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_fire_northeast" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "rock", 40 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_brazier_northeast", - "description": "Now that we have some cover, we should set up a brazier in the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "5 m", - "construction_blueprint": "fbmh_brazier_northeast", - "blueprint_name": "northeast brazier", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_fire_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_fire_northeast" } ], - "components": [ [ [ "brazier", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_stove_northeast", - "description": "Now that we have some cover, we should build a stove in the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_stove_northeast", - "blueprint_name": "northeast stove", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_fire_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_fire_northeast" } ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SAW_M" } ] ], "components": [ [ [ "metal_tank", 1 ] ], [ [ "pipe", 1 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_strawbed1_northeast", - "description": "A straw bed in the northeast shack will make sleeping easier.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_strawbed1_northeast", - "blueprint_name": "northeast straw bed", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed1_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_northeast" } ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_bed1_northeast", - "description": "A proper bed in the northeast shack will give one of us a place to sleep soundly.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_bed1_northeast", - "blueprint_name": "northeast bed", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed1_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_northeast" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 30 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 2 ] ], - [ [ "nail", 36 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_strawbed2_northeast", - "description": "Another straw bed in the northeast shack will make sleeping easier.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_strawbed2_northeast", - "blueprint_name": "northeast straw bed", - "blueprint_requires": [ { "id": "fbmh_bed1_northeast" }, { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed2_northeast" } ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_bed2_northeast", - "description": "Another proper bed in the northeast shack will give one of us a place to sleep soundly.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_bed2_northeast", - "blueprint_name": "northeast bed", - "blueprint_requires": [ { "id": "fbmh_bed1_northeast" }, { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed2_northeast" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 30 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 2 ] ], - [ [ "nail", 36 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_strawbed3_east", - "description": "A pair of straw beds in the east tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_strawbed3_east", - "blueprint_name": "east straw beds", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_bed3_east", - "description": "A pair of proper beds in the east tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_bed3_east", - "blueprint_name": "east beds", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_strawbed3_east", - "description": "A pair of straw beds in the east room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_strawbed3_east", - "blueprint_name": "east straw beds", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room_bed3_east", - "description": "A pair of proper beds in the east room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_bed3_east", - "blueprint_name": "east beds", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_strawbed3_southeast", - "description": "A pair of straw beds in the southeast tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_strawbed3_southeast", - "blueprint_name": "southeast straw beds", - "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_bed3_southeast", - "description": "A pair of proper beds in the southeast tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_bed3_southeast", - "blueprint_name": "southeast beds", - "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room_strawbed3_southeast", - "description": "A pair of straw beds in the southeast room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_strawbed3_southeast", - "blueprint_name": "southeast straw beds", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" }, { "id": "fbmh_tent_southeast" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room_bed3_southeast", - "description": "A pair of proper beds in the southeast room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_bed3_southeast", - "blueprint_name": "southeast beds", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" }, { "id": "fbmh_tent_southeast" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_strawbed3_northwest", - "description": "A pair of straw beds in the northwest building will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_strawbed3_northwest", - "blueprint_name": "northwest straw beds", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_bed3_northwest", - "description": "A pair of proper beds in the northwest building will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_bed3_northwest", - "blueprint_name": "northwest beds", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_strawbed3_west", - "description": "A pair of straw beds in the west tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_strawbed3_west", - "blueprint_name": "west straw beds", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_bed3_west", - "description": "A pair of proper beds in the west tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_bed3_west", - "blueprint_name": "west beds", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room_strawbed3_west", - "description": "A pair of straw beds in the west room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_strawbed3_west", - "blueprint_name": "west straw beds", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room_bed3_west", - "description": "A pair of proper beds in the west room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_bed3_west", - "blueprint_name": "west beds", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_strawbed3_southwest", - "description": "A pair of straw beds in the southwest tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_strawbed3_southwest", - "blueprint_name": "southwest straw beds", - "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_bed3_southwest", - "description": "A pair of proper beds in the southwest tent will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_tent_bed3_southwest", - "blueprint_name": "southwest beds", - "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room_strawbed3_southwest", - "description": "A pair of straw beds in the southwest room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_strawbed3_southwest", - "blueprint_name": "southwest straw beds", - "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" }, { "id": "fbmh_tent_southwest" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room_bed3_southwest", - "description": "A pair of proper beds in the southwest room will allow us to house two more people and expand the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room_bed3_southwest", - "blueprint_name": "southwest beds", - "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ], - "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" }, { "id": "fbmh_tent_southwest" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 2 ], [ "wood_panel", 4 ] ], - [ [ "nail", 72 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_kitchen_fireplace_center", - "description": "A fireplace, counter, and some pots and pans in the central building will allow us to cook simple recipes and organize hunting expeditions.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_kitchen_fireplace_center", - "blueprint_name": "central fireplace", - "blueprint_requires": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_provides": [ { "id": "trapping" }, { "id": "hunting" }, { "id": "kitchen" }, { "id": "kitchen_recipes_1" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "SAW_W" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 2 ] ], [ [ "nail", 8 ] ], [ [ "rock", 40 ] ], [ [ "wood_panel", 2 ], [ "wood_sheet", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_kitchen_butchery_center", - "description": "We need a butchery rack to maximize the harvest from our hunting and trapping efforts.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_kitchen_butchery_center", - "blueprint_name": "central butchery rack", - "blueprint_requires": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_provides": [ { "id": "trapping" }, { "id": "hunting" } ], - "blueprint_needs": { - "time": "45 m", - "skills": [ [ "fabrication", 2 ], [ "cooking", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "SAW_W" } ], [ { "id": "CUT" } ] ], - "components": [ - [ [ "rope_natural_short", 1, "LIST" ], [ "cordage", 2, "LIST" ], [ "wire", 8 ] ], - [ [ "pointy_stick", 2 ], [ "spike", 2 ] ], - [ [ "stick_long", 6 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_kitchen_toolrack_center", - "description": "A tool rack in the central building will give us a place to store tools.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_kitchen_toolrack_center", - "blueprint_name": "central tool rack", - "blueprint_requires": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_provides": [ { "id": "tool_storage" } ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 6 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 2 ] ], [ [ "nail", 16 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_kitchen_table_center", - "description": "Setting up some tables and chairs will make the central building into a dining area, and we can also use them as a workspace to organize the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_kitchen_table_center", - "blueprint_name": "central dining hall", - "blueprint_requires": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ], - "blueprint_provides": [ { "id": "relaying" }, { "id": "walls" }, { "id": "recruiting" }, { "id": "scouting" }, { "id": "patrolling" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 24 ] ], [ [ "wood_sheet", 2 ], [ "wood_panel", 2 ] ], [ [ "nail", 48 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_kitchen_table_south", - "description": "Setting up some tables and chairs will make the central building into a dining area, and we can also use them as a workspace to organize the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_kitchen_table_south", - "blueprint_name": "south dining hall", - "blueprint_requires": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ], - "blueprint_provides": [ { "id": "relaying" }, { "id": "walls" }, { "id": "recruiting" }, { "id": "scouting" }, { "id": "patrolling" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 24 ] ], [ [ "wood_sheet", 2 ], [ "wood_panel", 2 ] ], [ [ "nail", 48 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_kitchen_stove_south", - "description": "A wood stove, counter, and some pots and pans in the south half of the central building will allow us to cook simple recipes and organize hunting expeditions. The stove will be more efficient than a fireplace.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_kitchen_stove_south", - "blueprint_name": "south wood stove", - "blueprint_resources": [ "fake_stove" ], - "blueprint_requires": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_provides": [ { "id": "trapping" }, { "id": "hunting" }, { "id": "kitchen" }, { "id": "kitchen_recipes_1" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "SAW_M" } ], [ { "id": "SAW_W" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 2 ] ], - [ [ "metal_tank", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "pipe", 1 ] ], - [ [ "wood_panel", 2 ], [ "wood_sheet", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_well_north", - "description": "Digging a well will give us easy access to water.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_well_north", - "blueprint_name": "north water well", - "blueprint_provides": [ { "id": "water_well" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_needs": { - "time": "13 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "mechanics", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 8 ] ], [ [ "pipe", 6 ] ], [ [ "rock", 40 ] ], [ [ "well_pump", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_root_cellar_north", - "description": "Digging a root cellar will give us a way to preserve food.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_root_cellar_north", - "blueprint_name": "north root cellar", - "blueprint_provides": [ { "id": "pantry" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_needs": { - "time": "4 h 40 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 6 ], [ "stick", 6 ], [ "stick_long", 3 ] ], - [ [ "brick", 40 ], [ "rock", 40 ] ], - [ [ "straw_pile", 12 ], [ "withered", 12 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_radio_tower_north", - "description": "We could build a radio tower to improve the range of our radios.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "24 h", - "construction_blueprint": "fbmh_radio_tower_north", - "blueprint_name": "north radio tower", - "blueprint_provides": [ { "id": "fbmh_radio_tower_north" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "qualities": [ - { "id": "HAMMER", "level": 2 }, - { "id": "SAW_M", "level": 1 }, - { "id": "WRENCH", "level": 1 }, - { "id": "SCREW", "level": 1 } - ], - "components": [ - [ - [ "wind_turbine", 4 ], - [ "xl_wind_turbine", 1 ], - [ "solar_panel", 4 ], - [ "reinforced_solar_panel", 4 ], - [ "solar_panel_v2", 2 ], - [ "reinforced_solar_panel_v2", 2 ] - ], - [ [ "storage_battery", 1 ], [ "medium_storage_battery", 5 ], [ "small_storage_battery", 100 ] ], - [ [ "sheet_metal", 2 ], [ "wire", 8 ] ], - [ [ "pipe", 24 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_radio_console_north", - "description": "Adding a console to control the radio tower will help with recruiting more survivors.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "electronics", - "difficulty": 6, - "autolearn": false, - "never_learn": true, - "time": "24 h", - "construction_blueprint": "fbmh_radio_console_north", - "blueprint_name": "north radio console", - "blueprint_provides": [ { "id": "fbmh_radio_console_north" }, { "id": "radio" } ], - "blueprint_requires": [ { "id": "fbmh_radio_tower_north" } ], - "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SCREW", "level": 1 } ], - "components": [ - [ [ "processor", 2 ] ], - [ [ "RAM", 2 ] ], - [ [ "large_lcd_screen", 1 ] ], - [ [ "e_scrap", 8 ] ], - [ [ "frame", 1 ] ], - [ [ "circuit", 4 ] ], - [ [ "power_supply", 2 ] ], - [ [ "amplifier", 2 ] ], - [ [ "cable", 80 ] ], - [ [ "motor_small", 1 ], [ "motor_tiny", 2 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_new_farm_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 m", - "construction_blueprint": "empty", - "blueprint_name": "basic survey", - "blueprint_requires": [ { "id": "not_an_upgrade" } ] - }, - { - "type": "recipe", - "result": "faction_base_new_blacksmith_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 m", - "construction_blueprint": "empty", - "blueprint_name": "basic survey", - "blueprint_requires": [ { "id": "not_an_upgrade" } ] - }, - { - "type": "recipe", - "result": "faction_base_new_garage_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 m", - "construction_blueprint": "empty", - "blueprint_name": "basic survey", - "blueprint_requires": [ { "id": "not_an_upgrade" } ] - }, - { - "type": "recipe", - "result": "faction_base_new_kitchen_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 m", - "construction_blueprint": "empty", - "blueprint_name": "basic survey", - "blueprint_requires": [ { "id": "not_an_upgrade" } ] - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_defenses.json b/data/json/recipes/basecamps/recipe_modular_field_defenses.json deleted file mode 100644 index 6884033e0eb9..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_defenses.json +++ /dev/null @@ -1,154 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_north", - "description": "Digging a trench along the north edge of the camp would provide some defense and generate building materials.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_trench_north", - "blueprint_name": "north trench", - "blueprint_provides": [ { "id": "fbmh_trench_north" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" } ], - "blueprint_needs": { - "time": "1 d 21 h", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_south", - "description": "Digging a trench along the south edge of the camp would provide some defense and generate building materials.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_trench_south", - "blueprint_name": "south trench", - "blueprint_provides": [ { "id": "fbmh_trench_south" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" } ], - "blueprint_needs": { - "time": "1 d 21 h", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_northeast", - "description": "Digging a trench along the northeast corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the east side of the camp, we would only need to dig the trench long enough to reach the buildings.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "never_learn": true, - "construction_blueprint": "fbmh_trench_corner_northeast", - "blueprint_name": "northeast trench", - "blueprint_provides": [ { "id": "fbmh_trench_northeast" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_northeast" }, { "id": "fbmh_trench_east" } ], - "blueprint_needs": { - "time": "12 h 30 m", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_northwest", - "description": "Digging a trench along the northwest corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the west side of the camp, we would only need to dig the trench long enough to reach the buildings.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_trench_corner_northwest", - "blueprint_name": "northwest trench", - "blueprint_provides": [ { "id": "fbmh_trench_northwest" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_northwest" }, { "id": "fbmh_trench_west" } ], - "blueprint_needs": { - "time": "12 h 30 m", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_southeast", - "description": "Digging a trench along the southeast corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the east side of the camp, we would only need to dig the trench long enough to reach the buildings.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_trench_corner_southeast", - "blueprint_name": "southeast trench", - "blueprint_provides": [ { "id": "fbmh_trench_southeast" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southeast" }, { "id": "fbmh_trench_east" } ], - "blueprint_needs": { - "time": "12 h 30 m", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_southwest", - "description": "Digging a trench along the southwest corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the west side of the camp, we would only need to dig the trench long enough to reach the buildings.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_trench_corner_southwest", - "blueprint_name": "southwest trench", - "blueprint_provides": [ { "id": "fbmh_trench_southwest" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southwest" }, { "id": "fbmh_trench_west" } ], - "blueprint_needs": { - "time": "12 h 30 m", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_east", - "description": "Digging a trench along the east edge of the camp would provide some defense and generate building materials. We'll need to run the trench the length of the camp if we don't have solid buildings all along the east side.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_trench_east", - "blueprint_name": "east trench", - "blueprint_provides": [ { "id": "fbmh_trench_east" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southeast" }, { "id": "fbmh_trench_northeast" } ], - "blueprint_needs": { - "time": "2 d 22 h", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_trench_west", - "description": "Digging a trench along the west edge of the camp would provide some defense and generate building materials. We'll need to run the trench the length of the camp if we don't have solid buildings all along the west side.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_trench_west", - "blueprint_name": "west trench", - "blueprint_provides": [ { "id": "fbmh_trench_west" } ], - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southwest" }, { "id": "fbmh_trench_northwest" } ], - "blueprint_needs": { - "time": "2 d 22 h", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ ] } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_metal.json b/data/json/recipes/basecamps/recipe_modular_field_metal.json deleted file mode 100644 index 4db1918c0a50..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_metal.json +++ /dev/null @@ -1,693 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_room0_metal_northeast", - "description": "We need some shelter, so build half of a metal shack with a metal roof on the northeast side of the camp", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room0_metal_northeast", - "blueprint_name": "northeast shack", - "blueprint_requires": [ { "id": "fbmh_0" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast" } ], - "blueprint_needs": { - "time": "20 h", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 600 ], [ "oxy_torch", 120 ], [ "toolset", 900 ], [ "welder", 600 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "steel_plate", 24 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room1_metal_northeast", - "description": "We should use metal to expand the shelter so we have space for another bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room1_metal_northeast", - "blueprint_name": "expand northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "19 h 45 m", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 550 ], [ "oxy_torch", 110 ], [ "toolset", 825 ], [ "welder", 550 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 15 ], [ "log", 2 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ], [ [ "steel_plate", 22 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room2_metal_northeast", - "description": "We should use metal to finish the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room2_metal_northeast", - "blueprint_name": "finish northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "1 d 4 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 700 ], [ "oxy_torch", 140 ], [ "toolset", 1050 ], [ "welder", 700 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 3 ] ], [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], [ [ "steel_plate", 30 ] ], [ [ "spike", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_metal_east", - "description": "We should expand our housing by putting up a metal building on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_metal_east", - "blueprint_name": "east shack", - "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" } ], - "blueprint_needs": { - "time": "3 d 20 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2500 ], [ "oxy_torch", 500 ], [ "toolset", 3750 ], [ "welder", 2500 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 104 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_metal_east", - "description": "We should expand our housing by adding a metal room on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_metal_east", - "blueprint_name": "east room", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "3 d 12 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2300 ], [ "oxy_torch", 460 ], [ "toolset", 3450 ], [ "welder", 2300 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 96 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_metal_southeast", - "description": "We should expand our housing by putting up a metal building on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_metal_southeast", - "blueprint_name": "southeast shack", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" } ], - "blueprint_needs": { - "time": "3 d 20 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2500 ], [ "oxy_torch", 500 ], [ "toolset", 3750 ], [ "welder", 2500 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 104 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_metal_southeast", - "description": "We should expand our housing by adding a metal room on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_metal_southeast", - "blueprint_name": "southeast room", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "3 d 12 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2300 ], [ "oxy_torch", 460 ], [ "toolset", 3450 ], [ "welder", 2300 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 96 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_metal_northwest", - "description": "We should expand our housing by putting up a metal building on the northwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_metal_northwest", - "blueprint_name": "northwest shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_northwest" } ], - "blueprint_needs": { - "time": "2 d 19 h 45 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1850 ], [ "oxy_torch", 370 ], [ "toolset", 2775 ], [ "welder", 1850 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 3 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], - [ [ "steel_plate", 76 ] ], - [ [ "spike", 8 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_metal_west", - "description": "We should expand our housing by putting up a metal building on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_metal_west", - "blueprint_name": "west shack", - "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" } ], - "blueprint_needs": { - "time": "3 d 20 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2500 ], [ "oxy_torch", 500 ], [ "toolset", 3750 ], [ "welder", 2500 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 104 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_metal_west", - "description": "We should expand our housing by adding a metal room on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_metal_west", - "blueprint_name": "west room", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ], - "blueprint_needs": { - "time": "3 d 12 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2300 ], [ "oxy_torch", 460 ], [ "toolset", 3450 ], [ "welder", 2300 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 96 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_metal_soutwest", - "description": "We should expand our housing by putting up a metal building on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_metal_southwest", - "blueprint_name": "southwest shack", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" } ], - "blueprint_needs": { - "time": "3 d 20 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2500 ], [ "oxy_torch", 500 ], [ "toolset", 3750 ], [ "welder", 2500 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 104 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_metal_southwest", - "description": "We should expand our housing by adding a metal room on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_metal_southwest", - "blueprint_name": "southwest room", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "3 d 12 h 15 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2300 ], [ "oxy_torch", 460 ], [ "toolset", 3450 ], [ "welder", 2300 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 30 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 96 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_ne_metal_center", - "description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_ne_metal_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" } ], - "blueprint_needs": { - "time": "1 d 19 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1200 ], [ "oxy_torch", 240 ], [ "toolset", 1800 ], [ "welder", 1200 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 3 ] ], [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], [ [ "steel_plate", 50 ] ], [ [ "spike", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_ne_metal_center", - "description": "A central building can act as a core and dining hall. We should build out from the east room with metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_ne_metal_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "1 d 9 h", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1050 ], [ "oxy_torch", 210 ], [ "toolset", 1575 ], [ "welder", 1050 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "steel_plate", 42 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_nw_metal_center", - "description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_nw_metal_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" } ], - "blueprint_needs": { - "time": "1 d 19 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1100 ], [ "oxy_torch", 220 ], [ "toolset", 1650 ], [ "welder", 1100 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 6 ] ], [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], [ [ "steel_plate", 48 ] ], [ [ "spike", 16 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_nw_metal_center", - "description": "A central building can act as a core and dining hall. We should build out from the west room with metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_nw_metal_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "1 d 9 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 950 ], [ "oxy_torch", 190 ], [ "toolset", 1425 ], [ "welder", 950 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 3 ] ], [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], [ [ "steel_plate", 40 ] ], [ [ "spike", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_metal_center", - "description": "A central building can act as a core and dining hall. We should build between the east and west rooms with metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_metal_center", - "blueprint_name": "central building north half", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "2 d 18 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2000 ], [ "oxy_torch", 400 ], [ "toolset", 3000 ], [ "welder", 2000 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 3 ] ], [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], [ [ "steel_plate", 82 ] ], [ [ "spike", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_se_metal_south", - "description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_se_metal_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" } ], - "blueprint_needs": { - "time": "1 d 19 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1100 ], [ "oxy_torch", 220 ], [ "toolset", 1650 ], [ "welder", 1100 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 6 ] ], [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], [ [ "steel_plate", 48 ] ], [ [ "spike", 16 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_se_metal_south", - "description": "A central building can act as a core and dining hall. We should build out from the southeast room with metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_se_metal_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ], - "blueprint_needs": { - "time": "1 d 9 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 950 ], [ "oxy_torch", 190 ], [ "toolset", 1425 ], [ "welder", 950 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 3 ] ], [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], [ [ "steel_plate", 40 ] ], [ [ "spike", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_sw_metal_south", - "description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_sw_metal_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" } ], - "blueprint_needs": { - "time": "1 d 19 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1200 ], [ "oxy_torch", 240 ], [ "toolset", 1800 ], [ "welder", 1200 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 3 ] ], [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], [ [ "steel_plate", 50 ] ], [ [ "spike", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_sw_metal_south", - "description": "A central building can act as a core and dining hall. We should build out from the southwest room with metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_sw_metal_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ], - "blueprint_needs": { - "time": "1 d 9 h", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1050 ], [ "oxy_torch", 210 ], [ "toolset", 1575 ], [ "welder", 1050 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "steel_plate", 42 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_metal_south", - "description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with metal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_metal_south", - "blueprint_name": "central building south half", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ - { "id": "fbmh_se_south" }, - { "id": "fbmh_sw_south" }, - { "id": "fbmh_tent_southeast" }, - { "id": "fbmh_tent_southwest" } - ], - "blueprint_needs": { - "time": "2 d 18 h", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2000 ], [ "oxy_torch", 400 ], [ "toolset", 3000 ], [ "welder", 2000 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ [ [ "hinge", 3 ] ], [ [ "scrap", 48 ], [ "steel_chunk", 16 ] ], [ [ "steel_plate", 82 ] ], [ [ "spike", 8 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_migo_resin.json b/data/json/recipes/basecamps/recipe_modular_field_migo_resin.json deleted file mode 100644 index e50dfadd5516..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_migo_resin.json +++ /dev/null @@ -1,429 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_room0_migo_resin_northeast", - "description": "We need some shelter, so build half of a mi-go resin shack with a sod roof on the northeast side of the camp", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room0_migo_resin_northeast", - "blueprint_name": "northeast shack", - "blueprint_requires": [ { "id": "fbmh_0" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast" } ], - "blueprint_needs": { - "time": "8 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 16 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room1_migo_resin_northeast", - "description": "We should use mi-go resin to expand the shelter so we have space for another bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room1_migo_resin_northeast", - "blueprint_name": "expand northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "11 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 17 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room2_migo_resin_northeast", - "description": "We should use mi-go resin to finish the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room2_migo_resin_northeast", - "blueprint_name": "finish northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 16 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_migo_resin_east", - "description": "We should expand our housing by putting up a mi-go resin building on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_migo_resin_east", - "blueprint_name": "east shack", - "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" } ], - "blueprint_needs": { - "time": "1 d 14 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 71 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_migo_resin_east", - "description": "We should expand our housing by adding a mi-go resin room on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_migo_resin_east", - "blueprint_name": "east room", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "1 d 19 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 73 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_migo_resin_southeast", - "description": "We should expand our housing by putting up a mi-go resin building on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_migo_resin_southeast", - "blueprint_name": "southeast shack", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" } ], - "blueprint_needs": { - "time": "1 d 14 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 71 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_migo_resin_southeast", - "description": "We should expand our housing by adding a mi-go resin room on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skills_required": [ [ "survival", 3 ], [ "tailor", 1 ] ], - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_migo_resin_southeast", - "blueprint_name": "southeast room", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "1 d 18 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 71 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_migo_resin_northwest", - "description": "We should expand our housing by putting up a mi-go resin building on the northwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_migo_resin_northwest", - "blueprint_name": "northwest shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_northwest" } ], - "blueprint_needs": { - "time": "1 d 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 49 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_migo_resin_west", - "description": "We should expand our housing by putting up a mi-go resin building on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_migo_resin_west", - "blueprint_name": "west shack", - "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" } ], - "blueprint_needs": { - "time": "1 d 14 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 71 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_migo_resin_west", - "description": "We should expand our housing by adding a mi-go resin room on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_migo_resin_west", - "blueprint_name": "west room", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ], - "blueprint_needs": { - "time": "1 d 19 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 73 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_migo_resin_southwest", - "description": "We should expand our housing by putting up a mi-go resin building on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_migo_resin_southwest", - "blueprint_name": "southwest shack", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" } ], - "blueprint_needs": { - "time": "1 d 14 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 71 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_migo_resin_southwest", - "description": "We should expand our housing by adding a mi-go resin room on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_migo_resin_southwest", - "blueprint_name": "southwest room", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "1 d 18 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 71 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_ne_migo_resin_center", - "description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_ne_migo_resin_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" } ], - "blueprint_needs": { - "time": "20 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_ne_migo_resin_center", - "description": "A central building can act as a core and dining hall. We should build out from the east room with mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_ne_migo_resin_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_nw_migo_resin_center", - "description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_nw_migo_resin_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" } ], - "blueprint_needs": { - "time": "22 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_nw_migo_resin_center", - "description": "A central building can act as a core and dining hall. We should build out from the west room with mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_nw_migo_resin_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "1 d 1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_migo_resin_center", - "description": "A central building can act as a core and dining hall. We should build between the east and west rooms with mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_migo_resin_center", - "blueprint_name": "central building north half", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "2 d 1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 72 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_se_migo_resin_south", - "description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_se_migo_resin_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" } ], - "blueprint_needs": { - "time": "22 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_se_migo_resin_south", - "description": "A central building can act as a core and dining hall. We should build out from the southeast room with mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_se_migo_resin_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ], - "blueprint_needs": { - "time": "1 d 1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_sw_migo_resin_south", - "description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_sw_migo_resin_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" } ], - "blueprint_needs": { - "time": "20 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_sw_migo_resin_south", - "description": "A central building can act as a core and dining hall. We should build out from the southwest room with mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_sw_migo_resin_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 36 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_migo_resin_south", - "description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with mi-go resin.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_migo_resin_south", - "blueprint_name": "central building south half", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ - { "id": "fbmh_se_south" }, - { "id": "fbmh_sw_south" }, - { "id": "fbmh_tent_southeast" }, - { "id": "fbmh_tent_southwest" } - ], - "blueprint_needs": { - "time": "2 d 1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 72 ] ] ] } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_rammed_earth.json b/data/json/recipes/basecamps/recipe_modular_field_rammed_earth.json deleted file mode 100644 index 4c46020c562b..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_rammed_earth.json +++ /dev/null @@ -1,728 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_room0_rammed_earth_northeast", - "description": "We need some shelter, so build half of a rammed earth shack with a sod roof on the northeast side of the camp", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room0_rammed_earth_northeast", - "blueprint_name": "northeast shack", - "blueprint_requires": [ { "id": "fbmh_0" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast" } ], - "blueprint_needs": { - "time": "1 d 1 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "log", 8 ] ], - [ [ "material_soil", 560 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room1_rammed_earth_northeast", - "description": "We should use rammed earth to expand the shelter so we have space for another bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room1_rammed_earth_northeast", - "blueprint_name": "expand northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "log", 12 ] ], - [ [ "2x4", 20 ], [ "stick", 20 ], [ "stick_long", 10 ] ], - [ [ "birchbark", 60 ], [ "pine_bough", 60 ] ], - [ [ "concrete", 3 ], [ "material_quicklime", 60 ], [ "material_sand", 60 ] ], - [ [ "material_soil", 500 ] ], - [ [ "nail", 30 ] ], - [ [ "pointy_stick", 6 ], [ "spear_wood", 6 ] ], - [ [ "water", 150 ], [ "water_clean", 150 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room2_rammed_earth_northeast", - "description": "We should use rammed earth to finish the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room2_rammed_earth_northeast", - "blueprint_name": "finish northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "1 d 7 h 15 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 18 ] ], - [ [ "concrete", 7 ], [ "material_quicklime", 140 ], [ "material_sand", 140 ] ], - [ [ "material_soil", 700 ] ], - [ [ "nail", 24 ] ], - [ [ "pointy_stick", 14 ], [ "spear_wood", 14 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 350 ], [ "water_clean", 350 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_rammed_earth_east", - "description": "We should expand our housing by putting up a rammed earth building on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_rammed_earth_east", - "blueprint_name": "east shack", - "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" } ], - "blueprint_needs": { - "time": "4 d 12 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 115 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ [ "concrete", 17 ], [ "material_quicklime", 340 ], [ "material_sand", 340 ] ], - [ [ "log", 32 ] ], - [ [ "material_soil", 2340 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 34 ], [ "spear_wood", 34 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 850 ], [ "water_clean", 850 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_rammed_earth_east", - "description": "We should expand our housing by adding a rammed earth room on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_rammed_earth_east", - "blueprint_name": "east room", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "4 d 7 h 45 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 131 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ [ "concrete", 14 ], [ "material_quicklime", 280 ], [ "material_sand", 280 ] ], - [ [ "log", 40 ] ], - [ [ "material_soil", 2200 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 28 ], [ "spear_wood", 28 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 700 ], [ "water_clean", 700 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_rammed_earth_southeast", - "description": "We should expand our housing by putting up a rammed earth building on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_rammed_earth_southeast", - "blueprint_name": "southeast shack", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" } ], - "blueprint_needs": { - "time": "4 d 12 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 115 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ [ "concrete", 17 ], [ "material_quicklime", 340 ], [ "material_sand", 340 ] ], - [ [ "log", 32 ] ], - [ [ "material_soil", 2340 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 34 ], [ "spear_wood", 34 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 850 ], [ "water_clean", 850 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_rammed_earth_southeast", - "description": "We should expand our housing by adding a rammed earth room on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skills_required": [ [ "survival", 3 ], [ "tailor", 1 ] ], - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_rammed_earth_southeast", - "blueprint_name": "southeast room", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "4 d 3 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 131 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ [ "concrete", 13 ], [ "material_quicklime", 260 ], [ "material_sand", 260 ] ], - [ [ "log", 40 ] ], - [ [ "material_soil", 2100 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 26 ], [ "spear_wood", 26 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 650 ], [ "water_clean", 650 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_rammed_earth_northwest", - "description": "We should expand our housing by putting up a rammed earth building on the northwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_rammed_earth_northwest", - "blueprint_name": "northwest shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_northwest" } ], - "blueprint_needs": { - "time": "3 d 8 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 69 ] ], - [ [ "birchbark", 108 ], [ "pine_bough", 108 ] ], - [ [ "concrete", 14 ], [ "material_quicklime", 280 ], [ "material_sand", 280 ] ], - [ [ "log", 18 ] ], - [ [ "material_soil", 1760 ] ], - [ [ "nail", 54 ] ], - [ [ "pointy_stick", 28 ], [ "spear_wood", 28 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 700 ], [ "water_clean", 700 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_rammed_earth_west", - "description": "We should expand our housing by putting up a rammed earth building on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_rammed_earth_west", - "blueprint_name": "west shack", - "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" } ], - "blueprint_needs": { - "time": "4 d 12 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 115 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ [ "concrete", 17 ], [ "material_quicklime", 340 ], [ "material_sand", 340 ] ], - [ [ "log", 32 ] ], - [ [ "material_soil", 2340 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 34 ], [ "spear_wood", 34 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 850 ], [ "water_clean", 850 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_rammed_earth_west", - "description": "We should expand our housing by adding a rammed earth room on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_rammed_earth_west", - "blueprint_name": "west room", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ], - "blueprint_needs": { - "time": "4 d 7 h 45 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 131 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ [ "concrete", 14 ], [ "material_quicklime", 280 ], [ "material_sand", 280 ] ], - [ [ "log", 40 ] ], - [ [ "material_soil", 2200 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 28 ], [ "spear_wood", 28 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 700 ], [ "water_clean", 700 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_rammed_earth_southwest", - "description": "We should expand our housing by putting up a rammed earth building on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_rammed_earth_southwest", - "blueprint_name": "southwest shack", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" } ], - "blueprint_needs": { - "time": "4 d 12 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 115 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ [ "concrete", 17 ], [ "material_quicklime", 340 ], [ "material_sand", 340 ] ], - [ [ "log", 32 ] ], - [ [ "material_soil", 2340 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 34 ], [ "spear_wood", 34 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 850 ], [ "water_clean", 850 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_rammed_earth_southwest", - "description": "We should expand our housing by adding a rammed earth room on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_rammed_earth_southwest", - "blueprint_name": "southwest room", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "4 d 3 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 131 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ [ "concrete", 13 ], [ "material_quicklime", 260 ], [ "material_sand", 260 ] ], - [ [ "log", 40 ] ], - [ [ "material_soil", 2100 ] ], - [ [ "nail", 78 ] ], - [ [ "pointy_stick", 26 ], [ "spear_wood", 26 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 650 ], [ "water_clean", 650 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_ne_rammed_earth_center", - "description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_ne_rammed_earth_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" } ], - "blueprint_needs": { - "time": "2 d 3 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ [ "concrete", 7 ], [ "material_quicklime", 140 ], [ "material_sand", 140 ] ], - [ [ "log", 20 ] ], - [ [ "material_soil", 1100 ] ], - [ [ "nail", 24 ] ], - [ [ "pointy_stick", 14 ], [ "spear_wood", 14 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 350 ], [ "water_clean", 350 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_ne_rammed_earth_center", - "description": "A central building can act as a core and dining hall. We should build out from the east room with rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_ne_rammed_earth_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "1 d 18 h 45 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 60 ], [ "stick", 60 ], [ "stick_long", 30 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ [ "concrete", 3 ], [ "material_quicklime", 60 ], [ "material_sand", 60 ] ], - [ [ "log", 30 ] ], - [ [ "material_soil", 900 ] ], - [ [ "pointy_stick", 6 ], [ "spear_wood", 6 ] ], - [ [ "water", 150 ], [ "water_clean", 150 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_nw_rammed_earth_center", - "description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_nw_rammed_earth_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" } ], - "blueprint_needs": { - "time": "2 d 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 76 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ [ "concrete", 6 ], [ "material_quicklime", 120 ], [ "material_sand", 120 ] ], - [ [ "log", 20 ] ], - [ [ "material_soil", 1000 ] ], - [ [ "nail", 48 ] ], - [ [ "pointy_stick", 12 ], [ "spear_wood", 12 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 300 ], [ "water_clean", 300 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_nw_rammed_earth_center", - "description": "A central building can act as a core and dining hall. We should build out from the west room with rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_nw_rammed_earth_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "1 d 16 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 78 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ [ "concrete", 2 ], [ "material_quicklime", 40 ], [ "material_sand", 40 ] ], - [ [ "log", 30 ] ], - [ [ "material_soil", 800 ] ], - [ [ "nail", 24 ] ], - [ [ "pointy_stick", 4 ], [ "spear_wood", 4 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 100 ], [ "water_clean", 100 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_rammed_earth_center", - "description": "A central building can act as a core and dining hall. We should build between the east and west rooms with rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_rammed_earth_center", - "blueprint_name": "central building north half", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "3 d 10 h 45 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 138 ] ], - [ [ "birchbark", 360 ], [ "pine_bough", 360 ] ], - [ [ "concrete", 5 ], [ "material_quicklime", 100 ], [ "material_sand", 100 ] ], - [ [ "log", 60 ] ], - [ [ "material_soil", 1700 ] ], - [ [ "nail", 24 ] ], - [ [ "pointy_stick", 10 ], [ "spear_wood", 10 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 250 ], [ "water_clean", 250 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_se_rammed_earth_south", - "description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_se_rammed_earth_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" } ], - "blueprint_needs": { - "time": "2 d 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 76 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ [ "concrete", 6 ], [ "material_quicklime", 120 ], [ "material_sand", 120 ] ], - [ [ "log", 20 ] ], - [ [ "material_soil", 1000 ] ], - [ [ "nail", 48 ] ], - [ [ "pointy_stick", 12 ], [ "spear_wood", 12 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 300 ], [ "water_clean", 300 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_se_rammed_earth_south", - "description": "A central building can act as a core and dining hall. We should build out from the southeast room with rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_se_rammed_earth_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ], - "blueprint_needs": { - "time": "1 d 16 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 78 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ [ "concrete", 2 ], [ "material_quicklime", 40 ], [ "material_sand", 40 ] ], - [ [ "log", 30 ] ], - [ [ "material_soil", 800 ] ], - [ [ "nail", 24 ] ], - [ [ "pointy_stick", 4 ], [ "spear_wood", 4 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 100 ], [ "water_clean", 100 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_sw_rammed_earth_south", - "description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_sw_rammed_earth_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" } ], - "blueprint_needs": { - "time": "2 d 3 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ [ "concrete", 7 ], [ "material_quicklime", 140 ], [ "material_sand", 140 ] ], - [ [ "log", 20 ] ], - [ [ "material_soil", 1100 ] ], - [ [ "nail", 24 ] ], - [ [ "pointy_stick", 14 ], [ "spear_wood", 14 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 350 ], [ "water_clean", 350 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_sw_rammed_earth_south", - "description": "A central building can act as a core and dining hall. We should build out from the southwest room with rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_sw_rammed_earth_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ], - "blueprint_needs": { - "time": "1 d 18 h 45 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 60 ], [ "stick", 60 ], [ "stick_long", 30 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ [ "concrete", 3 ], [ "material_quicklime", 60 ], [ "material_sand", 60 ] ], - [ [ "log", 30 ] ], - [ [ "material_soil", 900 ] ], - [ [ "pointy_stick", 6 ], [ "spear_wood", 6 ] ], - [ [ "water", 150 ], [ "water_clean", 150 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_rammed_earth_south", - "description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with rammed earth.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_rammed_earth_south", - "blueprint_name": "central building south half", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ - { "id": "fbmh_se_south" }, - { "id": "fbmh_sw_south" }, - { "id": "fbmh_tent_southeast" }, - { "id": "fbmh_tent_southwest" } - ], - "blueprint_needs": { - "time": "3 d 10 h 45 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 138 ] ], - [ [ "birchbark", 360 ], [ "pine_bough", 360 ] ], - [ [ "concrete", 5 ], [ "material_quicklime", 100 ], [ "material_sand", 100 ] ], - [ [ "log", 60 ] ], - [ [ "material_soil", 1700 ] ], - [ [ "nail", 24 ] ], - [ [ "pointy_stick", 10 ], [ "spear_wood", 10 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 250 ], [ "water_clean", 250 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_tent.json b/data/json/recipes/basecamps/recipe_modular_field_tent.json deleted file mode 100644 index b8c484073e7a..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_tent.json +++ /dev/null @@ -1,110 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_northeast", - "description": "We need some shelter, so set up a tent on the northeast side of the camp.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "3 h", - "construction_blueprint": "fbmh_tent_northeast", - "blueprint_name": "northeast tent", - "blueprint_requires": [ { "id": "fbmh_0" } ], - "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast" } ], - "components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_east", - "description": "We should expand our housing by putting up a tent on the east side, though doing so will mean we need more materials to build the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "3 h", - "construction_blueprint": "fbmh_tent_east", - "blueprint_name": "east tent", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_tent_east" } ], - "blueprint_excludes": [ { "id": "fbmh_east" } ], - "components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_southeast", - "description": "We should expand our housing by putting up a tent on the southeast side, though doing so will mean we need more materials to build the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "3 h", - "construction_blueprint": "fbmh_tent_southeast", - "blueprint_name": "southeast tent", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_tent_southeast" } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" } ], - "components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_northwest", - "description": "We should expand our housing by putting up a tent on the northwest side, though doing so will mean we need more materials to build the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "3 h", - "construction_blueprint": "fbmh_tent_northwest", - "blueprint_name": "northwest tent", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 }, { "id": "fbmh_tent_northwest" } ], - "blueprint_excludes": [ { "id": "fbmh_northwest" } ], - "components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_west", - "description": "We should expand our housing by putting up a tent on the west side, though doing so will mean we need more materials to build the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "3 h", - "construction_blueprint": "fbmh_tent_west", - "blueprint_name": "west tent", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 }, { "id": "fbmh_tent_west" } ], - "blueprint_excludes": [ { "id": "fbmh_west" } ], - "components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_tent_southwest", - "description": "We should expand our housing by putting up a tent on the southwest side, though doing so will mean we need more materials to build the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "3 h", - "construction_blueprint": "fbmh_tent_southwest", - "blueprint_name": "southwest tent", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 }, { "id": "fbmh_tent_southwest" } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" } ], - "components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ], - "check_blueprint_needs": false - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_wad.json b/data/json/recipes/basecamps/recipe_modular_field_wad.json deleted file mode 100644 index a4f746df197a..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_wad.json +++ /dev/null @@ -1,886 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_room0_wad_northeast", - "description": "We need some shelter, so build half of a wattle-and-daub shack with a sod roof on the northeast side of the camp", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room0_wad_northeast", - "blueprint_name": "northeast shack", - "blueprint_requires": [ { "id": "fbmh_0" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast" } ], - "blueprint_needs": { - "time": "14 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 56 ], [ "stick", 56 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ - [ "cattail_stalk", 32 ], - [ "dogbane", 32 ], - [ "material_sand", 80 ], - [ "pebble", 80 ], - [ "pine_bough", 32 ], - [ "straw_pile", 32 ], - [ "withered", 32 ] - ], - [ [ "material_soil", 320 ] ], - [ [ "log", 8 ] ], - [ [ "water", 40 ], [ "water_clean", 40 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room1_wad_northeast", - "description": "We should use wattle-and-daub to expand the shelter so we have space for another bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room1_wad_northeast", - "blueprint_name": "expand northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "15 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 55 ], [ "stick", 55 ] ], - [ [ "birchbark", 60 ], [ "pine_bough", 60 ] ], - [ - [ "cattail_stalk", 28 ], - [ "dogbane", 28 ], - [ "material_sand", 70 ], - [ "pebble", 70 ], - [ "pine_bough", 28 ], - [ "straw_pile", 28 ], - [ "withered", 28 ] - ], - [ [ "material_soil", 340 ] ], - [ [ "log", 10 ] ], - [ [ "water", 35 ], [ "water_clean", 35 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room2_wad_northeast", - "description": "We should use wattle-and-daub to finish the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room2_wad_northeast", - "blueprint_name": "finish northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "13 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 88 ] ], - [ - [ "cattail_stalk", 56 ], - [ "dogbane", 56 ], - [ "material_sand", 140 ], - [ "pebble", 140 ], - [ "pine_bough", 56 ], - [ "straw_pile", 56 ], - [ "withered", 56 ] - ], - [ - [ "clay_lump", 56 ], - [ "material_limestone", 56 ], - [ "material_quicklime", 56 ], - [ "material_soil", 280 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 70 ], [ "water_clean", 70 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wad_east", - "description": "We should expand our housing by putting up a wattle-and-daub building on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wad_east", - "blueprint_name": "east shack", - "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" } ], - "blueprint_needs": { - "time": "2 d 16 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 275 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ - [ "cattail_stalk", 140 ], - [ "dogbane", 140 ], - [ "material_sand", 350 ], - [ "pebble", 350 ], - [ "pine_bough", 140 ], - [ "straw_pile", 140 ], - [ "withered", 140 ] - ], - [ [ "material_soil", 1340 ] ], - [ [ "log", 32 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 175 ], [ "water_clean", 175 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wad_east", - "description": "We should expand our housing by adding a wattle-and-daub room on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wad_east", - "blueprint_name": "east room", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "2 d 19 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 261 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ - [ "cattail_stalk", 116 ], - [ "dogbane", 116 ], - [ "material_sand", 290 ], - [ "pebble", 290 ], - [ "pine_bough", 116 ], - [ "straw_pile", 116 ], - [ "withered", 116 ] - ], - [ [ "material_soil", 1380 ] ], - [ [ "log", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 145 ], [ "water_clean", 145 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wad_southeast", - "description": "We should expand our housing by putting up a wattle-and-daub building on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wad_southeast", - "blueprint_name": "southeast shack", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" } ], - "blueprint_needs": { - "time": "2 d 16 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 275 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ - [ "cattail_stalk", 140 ], - [ "dogbane", 140 ], - [ "material_sand", 350 ], - [ "pebble", 350 ], - [ "pine_bough", 140 ], - [ "straw_pile", 140 ], - [ "withered", 140 ] - ], - [ [ "material_soil", 1340 ] ], - [ [ "log", 32 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 175 ], [ "water_clean", 175 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wad_southeast", - "description": "We should expand our housing by adding a wattle-and-daub room on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skills_required": [ [ "survival", 3 ], [ "tailor", 1 ] ], - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wad_southeast", - "blueprint_name": "southeast room", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "2 d 17 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 251 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ - [ "cattail_stalk", 108 ], - [ "dogbane", 108 ], - [ "material_sand", 270 ], - [ "pebble", 270 ], - [ "pine_bough", 108 ], - [ "straw_pile", 108 ], - [ "withered", 108 ] - ], - [ [ "material_soil", 1340 ] ], - [ [ "log", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 135 ], [ "water_clean", 135 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wad_northwest", - "description": "We should expand our housing by putting up a wattle-and-daub building on the northwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wad_northwest", - "blueprint_name": "northwest shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_northwest" } ], - "blueprint_needs": { - "time": "1 d 19 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 199 ] ], - [ [ "birchbark", 108 ], [ "pine_bough", 108 ] ], - [ - [ "cattail_stalk", 116 ], - [ "dogbane", 116 ], - [ "material_sand", 290 ], - [ "pebble", 290 ], - [ "pine_bough", 116 ], - [ "straw_pile", 116 ], - [ "withered", 116 ] - ], - [ [ "material_soil", 940 ] ], - [ [ "log", 18 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 145 ], [ "water_clean", 145 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wad_west", - "description": "We should expand our housing by putting up a wattle-and-daub building on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wad_west", - "blueprint_name": "west shack", - "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" } ], - "blueprint_needs": { - "time": "2 d 16 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 275 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ - [ "cattail_stalk", 140 ], - [ "dogbane", 140 ], - [ "material_sand", 350 ], - [ "pebble", 350 ], - [ "pine_bough", 140 ], - [ "straw_pile", 140 ], - [ "withered", 140 ] - ], - [ [ "material_soil", 1340 ] ], - [ [ "log", 32 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 175 ], [ "water_clean", 175 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wad_west", - "description": "We should expand our housing by adding a wattle-and-daub room on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wad_west", - "blueprint_name": "west room", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ], - "blueprint_needs": { - "time": "2 d 19 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 261 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ - [ "cattail_stalk", 116 ], - [ "dogbane", 116 ], - [ "material_sand", 290 ], - [ "pebble", 290 ], - [ "pine_bough", 116 ], - [ "straw_pile", 116 ], - [ "withered", 116 ] - ], - [ [ "material_soil", 1380 ] ], - [ [ "log", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 145 ], [ "water_clean", 145 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wad_southwest", - "description": "We should expand our housing by putting up a wattle-and-daub building on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wad_southwest", - "blueprint_name": "southwest shack", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" } ], - "blueprint_needs": { - "time": "2 d 16 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 275 ] ], - [ [ "birchbark", 192 ], [ "pine_bough", 192 ] ], - [ - [ "cattail_stalk", 140 ], - [ "dogbane", 140 ], - [ "material_sand", 350 ], - [ "pebble", 350 ], - [ "pine_bough", 140 ], - [ "straw_pile", 140 ], - [ "withered", 140 ] - ], - [ [ "material_soil", 1340 ] ], - [ [ "log", 32 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 175 ], [ "water_clean", 175 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wad_southwest", - "description": "We should expand our housing by adding a wattle-and-daub room on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wad_southwest", - "blueprint_name": "southwest room", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "2 d 17 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 251 ] ], - [ [ "birchbark", 240 ], [ "pine_bough", 240 ] ], - [ - [ "cattail_stalk", 108 ], - [ "dogbane", 108 ], - [ "material_sand", 270 ], - [ "pebble", 270 ], - [ "pine_bough", 108 ], - [ "straw_pile", 108 ], - [ "withered", 108 ] - ], - [ [ "material_soil", 1340 ] ], - [ [ "log", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 135 ], [ "water_clean", 135 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_ne_wad_center", - "description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_ne_wad_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" } ], - "blueprint_needs": { - "time": "1 d 9 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 128 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ - [ "cattail_stalk", 56 ], - [ "dogbane", 56 ], - [ "material_sand", 140 ], - [ "pebble", 140 ], - [ "pine_bough", 56 ], - [ "straw_pile", 56 ], - [ "withered", 56 ] - ], - [ [ "material_soil", 680 ] ], - [ [ "log", 20 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 70 ], [ "water_clean", 70 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_ne_wad_center", - "description": "A central building can act as a core and dining hall. We should build out from the east room with wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_ne_wad_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "1 d 11 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 90 ], [ "stick", 90 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ - [ "cattail_stalk", 24 ], - [ "dogbane", 24 ], - [ "material_sand", 60 ], - [ "pebble", 60 ], - [ "pine_bough", 24 ], - [ "straw_pile", 24 ], - [ "withered", 24 ] - ], - [ [ "material_soil", 720 ] ], - [ [ "log", 30 ] ], - [ [ "water", 30 ], [ "water_clean", 30 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_nw_wad_center", - "description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_nw_wad_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" } ], - "blueprint_needs": { - "time": "1 d 9 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 136 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ [ "material_soil", 640 ] ], - [ [ "log", 20 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_nw_wad_center", - "description": "A central building can act as a core and dining hall. We should build out from the west room with wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_nw_wad_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "1 d 10 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 98 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ - [ "cattail_stalk", 16 ], - [ "dogbane", 16 ], - [ "material_sand", 40 ], - [ "pebble", 40 ], - [ "pine_bough", 16 ], - [ "straw_pile", 16 ], - [ "withered", 16 ] - ], - [ [ "material_soil", 680 ] ], - [ [ "log", 30 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 20 ], [ "water_clean", 20 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_wad_center", - "description": "A central building can act as a core and dining hall. We should build between the east and west rooms with wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_wad_center", - "blueprint_name": "central building north half", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "2 d 21 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 188 ] ], - [ [ "birchbark", 360 ], [ "pine_bough", 360 ] ], - [ - [ "cattail_stalk", 40 ], - [ "dogbane", 40 ], - [ "material_sand", 100 ], - [ "pebble", 100 ], - [ "pine_bough", 40 ], - [ "straw_pile", 40 ], - [ "withered", 40 ] - ], - [ [ "material_soil", 1400 ] ], - [ [ "log", 60 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 50 ], [ "water_clean", 50 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_se_wad_south", - "description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_se_wad_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" } ], - "blueprint_needs": { - "time": "1 d 9 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 136 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ [ "material_soil", 640 ] ], - [ [ "log", 20 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_se_wad_south", - "description": "A central building can act as a core and dining hall. We should build out from the southeast room with wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_se_wad_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ], - "blueprint_needs": { - "time": "1 d 10 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 98 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ - [ "cattail_stalk", 16 ], - [ "dogbane", 16 ], - [ "material_sand", 40 ], - [ "pebble", 40 ], - [ "pine_bough", 16 ], - [ "straw_pile", 16 ], - [ "withered", 16 ] - ], - [ [ "material_soil", 680 ] ], - [ [ "log", 30 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 20 ], [ "water_clean", 20 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_sw_wad_south", - "description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_sw_wad_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" } ], - "blueprint_needs": { - "time": "1 d 9 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 128 ] ], - [ [ "birchbark", 120 ], [ "pine_bough", 120 ] ], - [ - [ "cattail_stalk", 56 ], - [ "dogbane", 56 ], - [ "material_sand", 140 ], - [ "pebble", 140 ], - [ "pine_bough", 56 ], - [ "straw_pile", 56 ], - [ "withered", 56 ] - ], - [ [ "material_soil", 680 ] ], - [ [ "log", 20 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 70 ], [ "water_clean", 70 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_sw_wad_south", - "description": "A central building can act as a core and dining hall. We should build out from the southwest room with wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_sw_wad_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ], - "blueprint_needs": { - "time": "1 d 11 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 90 ], [ "stick", 90 ] ], - [ [ "birchbark", 180 ], [ "pine_bough", 180 ] ], - [ - [ "cattail_stalk", 24 ], - [ "dogbane", 24 ], - [ "material_sand", 60 ], - [ "pebble", 60 ], - [ "pine_bough", 24 ], - [ "straw_pile", 24 ], - [ "withered", 24 ] - ], - [ [ "material_soil", 720 ] ], - [ [ "log", 30 ] ], - [ [ "water", 30 ], [ "water_clean", 30 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_wad_south", - "description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with wattle-and-daub.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_wad_south", - "blueprint_name": "central building south half", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ - { "id": "fbmh_se_south" }, - { "id": "fbmh_sw_south" }, - { "id": "fbmh_tent_southeast" }, - { "id": "fbmh_tent_southwest" } - ], - "blueprint_needs": { - "time": "2 d 21 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 188 ] ], - [ [ "birchbark", 360 ], [ "pine_bough", 360 ] ], - [ - [ "cattail_stalk", 40 ], - [ "dogbane", 40 ], - [ "material_sand", 100 ], - [ "pebble", 100 ], - [ "pine_bough", 40 ], - [ "straw_pile", 40 ], - [ "withered", 40 ] - ], - [ [ "material_soil", 1400 ] ], - [ [ "log", 60 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 50 ], [ "water_clean", 50 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_field_wood.json b/data/json/recipes/basecamps/recipe_modular_field_wood.json deleted file mode 100644 index cb92f3df8058..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_field_wood.json +++ /dev/null @@ -1,513 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_hub_room0_wood_northeast", - "description": "We need some shelter, so build half of a wood panel shack with a wooden roof on the northeast side of the camp", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room0_wood_northeast", - "blueprint_name": "northeast shack", - "blueprint_requires": [ { "id": "fbmh_0" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast" } ], - "blueprint_needs": { - "time": "6 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 40 ] ], [ [ "nail", 160 ] ], [ [ "wood_panel", 8 ], [ "wood_sheet", 4 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room1_wood_northeast", - "description": "We should use wood panel to expand the shelter so we have space for another bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room1_wood_northeast", - "blueprint_name": "expand northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northeast" } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "7 h 5 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 45 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 150 ] ], [ [ "wood_panel", 6 ], [ "wood_sheet", 3 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room2_wood_northeast", - "description": "We should use wood panel to finish the northeast shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room2_wood_northeast", - "blueprint_name": "finish northeast shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "12 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 84 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 316 ] ], [ [ "wood_panel", 15 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wood_east", - "description": "We should expand our housing by putting up a wood panel building on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wood_east", - "blueprint_name": "east shack", - "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" } ], - "blueprint_needs": { - "time": "1 d 8 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 213 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 782 ] ], [ [ "wood_panel", 36 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wood_east", - "description": "We should expand our housing by adding a wood panel room on the east side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wood_east", - "blueprint_name": "east room", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ], - "blueprint_needs": { - "time": "1 d 5 h 5 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 183 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 662 ] ], [ [ "wood_panel", 30 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wood_southeast", - "description": "We should expand our housing by putting up a wood panel building on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wood_southeast", - "blueprint_name": "southeast shack", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" } ], - "blueprint_needs": { - "time": "1 d 8 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 213 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 782 ] ], [ [ "wood_panel", 36 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wood_southeast", - "description": "We should expand our housing by adding a wood panel room on the southeast side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wood_southeast", - "blueprint_name": "southeast room", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "1 d 3 h 35 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 173 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 622 ] ], [ [ "wood_panel", 28 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wood_northwest", - "description": "We should expand our housing by putting up a wood panel building on the northwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wood_northwest", - "blueprint_name": "northwest shack", - "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ], - "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_northwest" } ], - "blueprint_needs": { - "time": "1 d 1 h 45 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 169 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 626 ] ], [ [ "wood_panel", 29 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wood_west", - "description": "We should expand our housing by putting up a wood panel building on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wood_west", - "blueprint_name": "west shack", - "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" } ], - "blueprint_needs": { - "time": "1 d 8 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 213 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 782 ] ], [ [ "wood_panel", 36 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wood_west", - "description": "We should expand our housing by adding a wood panel room on the west side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wood_west", - "blueprint_name": "west room", - "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ], - "blueprint_needs": { - "time": "1 d 5 h 5 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 183 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 662 ] ], [ [ "wood_panel", 30 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_shack4_wood_southwest", - "description": "We should expand our housing by putting up a wood panel building on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_shack4_wood_southwest", - "blueprint_name": "southwest shack", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" } ], - "blueprint_needs": { - "time": "1 d 8 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 213 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 782 ] ], [ [ "wood_panel", 36 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_room4_wood_southwest", - "description": "We should expand our housing by adding a wood panel room on the southwest side, which we can also use as part of the central building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_room4_wood_southwest", - "blueprint_name": "southwest room", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "1 d 3 h 35 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 173 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 622 ] ], [ [ "wood_panel", 28 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_ne_wood_center", - "description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_ne_wood_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_tent_east" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" } ], - "blueprint_needs": { - "time": "13 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 84 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 316 ] ], [ [ "wood_panel", 15 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_ne_wood_center", - "description": "A central building can act as a core and dining hall. We should build out from the east room with wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_ne_wood_center", - "blueprint_name": "central building NE corner", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ], - "blueprint_needs": { - "time": "7 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 30 ] ], [ [ "nail", 120 ] ], [ [ "wood_panel", 6 ], [ "wood_sheet", 3 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_nw_wood_center", - "description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_nw_wood_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_tent_west" } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" } ], - "blueprint_needs": { - "time": "13 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 88 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 312 ] ], [ [ "wood_panel", 14 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_nw_wood_center", - "description": "A central building can act as a core and dining hall. We should build out from the west room with wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_nw_wood_center", - "blueprint_name": "central building NW corner", - "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "7 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 34 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 116 ] ], [ [ "wood_panel", 5 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_wood_center", - "description": "A central building can act as a core and dining hall. We should build between the east and west rooms with wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_wood_center", - "blueprint_name": "central building north half", - "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ], - "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ], - "blueprint_needs": { - "time": "14 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 64 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 236 ] ], [ [ "wood_panel", 11 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_se_wood_south", - "description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_se_wood_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" } ], - "blueprint_needs": { - "time": "13 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 88 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 312 ] ], [ [ "wood_panel", 14 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_se_wood_south", - "description": "A central building can act as a core and dining hall. We should build out from the southeast room with wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_se_wood_south", - "blueprint_name": "central building SE corner", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ], - "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ], - "blueprint_needs": { - "time": "7 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 34 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 116 ] ], [ [ "wood_panel", 5 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_shack_sw_wood_south", - "description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_shack_sw_wood_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" } ], - "blueprint_needs": { - "time": "13 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 84 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 316 ] ], [ [ "wood_panel", 15 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_sw_wood_south", - "description": "A central building can act as a core and dining hall. We should build out from the southwest room with wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_sw_wood_south", - "blueprint_name": "central building SW corner", - "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ], - "blueprint_needs": { - "time": "7 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 30 ] ], [ [ "nail", 120 ] ], [ [ "wood_panel", 6 ], [ "wood_sheet", 3 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_hub_core_wood_south", - "description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with wood panel.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmh_core_wood_south", - "blueprint_name": "central building south half", - "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ], - "blueprint_excludes": [ - { "id": "fbmh_se_south" }, - { "id": "fbmh_sw_south" }, - { "id": "fbmh_tent_southeast" }, - { "id": "fbmh_tent_southwest" } - ], - "blueprint_needs": { - "time": "14 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 64 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 236 ] ], [ [ "wood_panel", 11 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_firestation1.json b/data/json/recipes/basecamps/recipe_modular_firestation1.json deleted file mode 100644 index 6071c5f24333..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_firestation1.json +++ /dev/null @@ -1,720 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_firestation_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 h", - "construction_blueprint": "fbmc_firestation1_0", - "blueprint_provides": [ - { "id": "gathering" }, - { "id": "primitive_camp_recipes_1" }, - { "id": "fbmc_firestation1_0" }, - { "id": "firewood" }, - { "id": "foraging" }, - { "id": "sorting" }, - { "id": "logging" } - ], - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_name": "basic survey", - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_kitchen1", - "description": "Now that we have some cover, we should reorganize that dining area into our kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "time": "1 h", - "construction_blueprint": "fbmc_firestation1_kitchen1_cleared", - "blueprint_name": "prepare the kitchen area", - "blueprint_requires": [ { "id": "fbmc_firestation1_0" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_kitchen" }, { "id": "tool_storage" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_kitchen" } ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_well", - "description": "We should build a well, put it near that winch. This will make our future here more secure.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_well", - "blueprint_name": "build a well", - "blueprint_requires": [ { "id": "fbmc_firestation1_0" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_well" } ], - "blueprint_needs": { - "time": "13 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "mechanics", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 8 ] ], [ [ "pipe", 6 ] ], [ [ "rock", 40 ] ], [ [ "well_pump", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_radio", - "description": "Let's set up a radio tower to improve our recruitment efforts, we'll repurpose that terminal for it.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_radio_console", - "blueprint_name": "build a radio tower and console", - "blueprint_requires": [ { "id": "fbmc_firestation1_well" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_radio" }, { "id": "recruiting" }, { "id": "radio" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_radio" } ], - "blueprint_needs": { - "time": "2 d", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M" } ], [ { "id": "SCREW" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ - [ "wind_turbine", 4 ], - [ "xl_wind_turbine", 1 ], - [ "solar_panel", 4 ], - [ "reinforced_solar_panel", 4 ], - [ "solar_panel_v2", 2 ], - [ "reinforced_solar_panel_v2", 2 ] - ], - [ [ "storage_battery", 1 ], [ "medium_storage_battery", 5 ], [ "small_storage_battery", 100 ] ], - [ [ "sheet_metal", 2 ], [ "wire", 8 ] ], - [ [ "pipe", 24 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 2 ] ], - [ [ "large_lcd_screen", 1 ] ], - [ [ "e_scrap", 8 ] ], - [ [ "frame", 1 ] ], - [ [ "circuit", 4 ] ], - [ [ "power_supply", 2 ] ], - [ [ "amplifier", 2 ] ], - [ [ "cable", 80 ] ], - [ [ "motor_small", 1 ], [ "motor_tiny", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_kitchen2_pantry", - "description": "Now that we have some cover, we should add some storage and a root cellar in our kitchen area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "time": "2 h", - "construction_blueprint": "fbmc_firestation1_kitchen2_storage", - "blueprint_name": "add storage and root cellar", - "blueprint_requires": [ { "id": "fbmc_firestation1_kitchen" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_kitchen" }, { "id": "pantry" }, { "id": "sorting" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_kitchen", "amount": 2 } ], - "check_blueprint_needs": false, - "components": [ [ [ "rock", 40 ], [ "brick", 40 ] ], [ [ "2x4", 6 ], [ "stick", 6 ] ], [ [ "withered", 12 ], [ "straw_pile", 12 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_farm", - "description": "Let's break up some pavement so we can farm.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "time": "24 h", - "construction_blueprint": "fbmc_firestation1_farm", - "blueprint_name": "break up driveway", - "blueprint_requires": [ { "id": "fbmc_firestation1_kitchen", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_farm" }, { "id": "farming" }, { "id": "reseeding" }, { "id": "farm_recipes_1" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_farm" } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ] ], - "check_blueprint_needs": false, - "blueprint_resources": [ "pickaxe" ], - "components": [ [ [ "pickaxe", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_fence", - "description": "Let's build a privacy fence around the garden.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_garden_fence1", - "blueprint_name": "build a privacy fence", - "blueprint_requires": [ { "id": "fbmc_firestation1_farm" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_fence" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_fence" } ], - "blueprint_needs": { - "time": "8 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "pointy_stick", 32 ], [ "spear_wood", 32 ] ], [ [ "2x4", 128 ] ], [ [ "nail", 320 ] ], [ [ "hinge", 4 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation_fireplace", - "description": "Now that we have some cover, we should build a fireplace for cooking and grab a pot. Let's put it in that dining area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_fireplace", - "blueprint_name": "build a fireplace", - "blueprint_requires": [ { "id": "fbmc_firestation1_kitchen", "amount": 1 } ], - "blueprint_provides": [ - { "id": "fbmc_firestation1_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "rock", 40 ] ] ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_brazier", - "description": "Now that we have some cover, we should set up a brazier for cooking, and grab a pot. Let's put it in that dining area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "5 m", - "construction_blueprint": "fbmc_firestation1_brazier", - "blueprint_name": "build a brazier", - "blueprint_requires": [ { "id": "fbmc_firestation1_kitchen", "amount": 1 } ], - "blueprint_provides": [ - { "id": "fbmc_firestation1_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "components": [ [ [ "brazier", 1 ] ], [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_stove", - "description": "Now that we have some cover, we should build a stove for cooking and grab a pot. Let's put it in that dining area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_stove", - "blueprint_name": "build a wood stove", - "blueprint_requires": [ { "id": "fbmc_firestation1_kitchen", "amount": 1 } ], - "blueprint_provides": [ - { "id": "fbmc_firestation1_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SAW_M" } ] ], "components": [ [ [ "metal_tank", 1 ] ], [ [ "pipe", 1 ] ] ] } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_smoking", - "description": "Let's build some smokers and a charcoal kiln for food preservation.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_smoking_kiln", - "blueprint_name": "build smoking racks and charcoal kiln", - "blueprint_requires": [ { "id": "fbmc_firestation1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_smoking" }, { "id": "kitchen_recipes_2" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_smoking" } ], - "blueprint_resources": [ "fake_char_smoker", "fake_char_kiln" ], - "blueprint_needs": { - "time": "5 h", - "skills": [ [ "fabrication", 3 ], [ "cooking", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 32 ], [ "stick", 32 ], [ "stick_long", 16 ] ], [ [ "material_soil", 2 ] ], [ [ "rock", 56 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_butchery", - "description": "Let's make a butchery area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_butchery_rack", - "blueprint_name": "build butchery area", - "blueprint_requires": [ { "id": "fbmc_firestation1_smoking" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_butchery" }, { "id": "kitchen_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_butchery" } ], - "blueprint_needs": { - "time": "1 h 15 m", - "skills": [ [ "fabrication", 2 ], [ "cooking", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 4 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "stick_long", 6 ] ], - [ [ "rope_natural_short", 1, "LIST" ], [ "cordage", 2, "LIST" ], [ "wire", 8 ] ], - [ [ "pointy_stick", 2 ], [ "spike", 2 ] ] - ] - } - }, - "components": [ [ [ "knife_butcher", 1 ], [ "knife_steak", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_vat", - "description": "Let's add a vat for fermenting.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_fermenting_vat", - "blueprint_name": "build fermenting vats", - "blueprint_requires": [ { "id": "fbmc_firestation1_butchery" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_vat" }, { "id": "fermenting" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_vat" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "cooking", 3 ], [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 28 ] ], [ [ "nail", 24 ] ], [ [ "sheet_metal_small", 24 ] ], [ [ "water_faucet", 2 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_garage1.", - "description": "Let's gather some tools so we can work on cars.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_garage_area", - "blueprint_name": "add tools for garage", - "blueprint_requires": [ { "id": "fbmc_firestation1_0" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_garage" }, { "id": "dismantling" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_garage" } ], - "blueprint_resources": [ "wrench", "hacksaw", "pliers", "hammer", "screwdriver" ], - "blueprint_needs": { }, - "components": [ - [ [ "wrench", 1 ] ], - [ [ "hacksaw", 1 ] ], - [ [ "pliers", 1 ] ], - [ [ "hammer", 1 ] ], - [ [ "screwdriver", 1 ] ], - [ [ "manual_mechanics", 1 ] ] - ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_living_area", - "description": "Let's expand our living areas, we'll use that far vehicle bay.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_living_area", - "blueprint_name": "build the living quarters walls", - "blueprint_requires": [ { "id": "fbmc_firestation1_0" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_quarters" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_quarters" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 70 ] ], [ [ "hinge", 10 ] ], [ [ "nail", 180 ] ], [ [ "wood_panel", 5 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_living_area2", - "description": "Let's furnish the southwest bedroom.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_bedroom_sw", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_firestation1_quarters" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_bedroom_sw" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_bedroom_sw" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_living_area3", - "description": "Let's furnish the northwest bedroom.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_bedroom_nw", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_firestation1_quarters" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_bedroom_nw" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_bedroom_nw" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_living_area4", - "description": "Let's furnish the southeast bedroom.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_bedroom_se", - "blueprint_name": "furnish the SE bedroom", - "blueprint_requires": [ { "id": "fbmc_firestation1_quarters" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_bedroom_se" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_bedroom_se" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_living_area5", - "description": "Let's furnish the northeast bedroom.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_bedroom_ne", - "blueprint_name": "furnish the NE bedroom", - "blueprint_requires": [ { "id": "fbmc_firestation1_quarters" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_bedroom_ne" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_bedroom_ne" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_living_area6", - "description": "Let's furnish the common area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_quarters_common", - "blueprint_name": "furnish the common area furniture", - "blueprint_requires": [ { "id": "fbmc_firestation1_quarters" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_quarters_common" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_quarters_common" } ], - "blueprint_needs": { - "time": "12 h", - "skills": [ [ "fabrication", 4 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 110 ] ], - [ [ "wood_sheet", 6 ], [ "wood_panel", 9 ] ], - [ [ "nail", 166 ] ], - [ [ "blanket", 5 ], [ "down_blanket", 5 ], [ "fur_blanket", 5 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_forge", - "description": "Let's build a charcoal fabrication workshop.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_forge", - "blueprint_name": "build a charcoal metalworking forge", - "blueprint_requires": [ { "id": "fbmc_firestation1_smoking" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_forge" }, { "id": "blacksmith_recipes_1" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_forge" } ], - "blueprint_resources": [ "fake_forge", "hammer" ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { "tools": [ ], "qualities": [ ], "components": [ [ [ "material_soil", 3 ] ], [ [ "rock", 40 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_grid_forge", - "description": "Let's build an electric fabrication workshop.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_grid_forge", - "blueprint_name": "build a grid metalworking forge", - "blueprint_requires": [ { "id": "fbmc_firestation1_smoking" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_forge" }, { "id": "blacksmith_recipes_1" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_forge" } ], - "blueprint_resources": [ "fake_gridforge", "hammer" ], - "blueprint_needs": { - "time": "30 m", - "skills": [ [ "electronics", 1 ] ], - "inline": { - "tools": [ [ [ "fake_gridsolderingiron", 20 ], [ "soldering_iron", 20 ], [ "toolset", 20 ] ] ], - "qualities": [ [ { "id": "SCREW" } ] ], - "components": [ [ [ "cable", 5 ] ], [ [ "forge", 1 ] ], [ [ "power_supply", 1 ] ], [ [ "solder_wire", 20 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_anvil", - "description": "Let's an an anvil and crucible to increase our crafting options.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_forge2", - "blueprint_name": "add an anvil and crucible", - "blueprint_requires": [ { "id": "fbmc_firestation1_forge" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_anvil" }, { "id": "blacksmith_recipes_2" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_anvil" } ], - "blueprint_resources": [ "anvil", "crucible" ], - "check_blueprint_needs": false, - "components": [ [ [ "anvil", 1 ] ], [ [ "crucible", 1 ], [ "crucible_clay", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_pottery", - "description": "Let's build pottery kiln and get the tools we'll need for glassworking.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_forge3", - "blueprint_name": "build a pottery kiln", - "blueprint_requires": [ { "id": "fbmc_firestation1_anvil" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_pottery" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_pottery" } ], - "blueprint_resources": [ "anvil", "crucible" ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "clay_lump", 12 ], [ "material_cement", 50 ], [ "mortar_adobe", 1 ], [ "mortar_build", 1 ] ], - [ [ "rock", 40 ] ], - [ [ "water", 2 ], [ "water_clean", 2 ] ] - ] - } - }, - "components": [ [ [ "glassblowing_book", 1 ] ], [ [ "glasses_safety", 1 ] ], [ [ "chemistry_set", 1 ] ], [ [ "pipe", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_forgetools", - "description": "We need some tools for metal working.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "20 m", - "construction_blueprint": "fbmc_firestation1_forge4", - "blueprint_name": "place advanced tools", - "blueprint_requires": [ { "id": "fbmc_firestation1_pottery" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_tools" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_tools" } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "blueprint_needs": { }, - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "swage", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_workbench", - "description": "Let's get a nice workbench built to improve our work. Place it next to the anvil.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_workbench", - "blueprint_name": "build a workbench", - "blueprint_requires": [ { "id": "fbmc_firestation1_tools" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_workbench" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_workbench" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "pipe", 16 ] ], [ [ "sheet_metal", 4 ] ], [ [ "sheet_metal_small", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_bellows", - "description": "Let's add a bellows and barrel for quenching the steel, we'll need more tools too.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_bellows", - "blueprint_name": "build a bellows and barrel", - "blueprint_requires": [ { "id": "fbmc_firestation1_workbench" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_bellows" }, { "id": "blacksmith_recipes_6" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_bellows" } ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "leather", 12 ] ], [ [ "scrap", 20 ] ], [ [ "wire", 8 ] ] ] - } - }, - "components": [ [ [ "hammer_sledge", 1 ] ], [ [ "30gal_drum", 1 ] ], [ [ "knife_combat", 1 ], [ "copper_knife", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_firestation1_drophammer", - "description": "Let's build a drop hammer for some mass production.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_firestation1_drophammer", - "blueprint_name": "build a drop hammer.", - "blueprint_requires": [ { "id": "fbmc_firestation1_bellows" } ], - "blueprint_provides": [ { "id": "fbmc_firestation1_drophammer" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmc_firestation1_drophammer" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER" } ] ], - "components": [ [ [ "metal_tank", 2 ] ], [ [ "water_faucet", 2 ] ], [ [ "anvil", 1 ] ], [ [ "chain", 4 ] ], [ [ "pipe", 3 ] ] ] - } - }, - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ] - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_common.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_common.json deleted file mode 100644 index d8dad82019e6..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_common.json +++ /dev/null @@ -1,109 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_livestock_0", - "description": "Survey land for a livestock area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_livestock_0", - "blueprint_name": "Livestock survey", - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_provides": [ { "id": "fbml_0" } ] - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_yard_chickenwire_east", - "description": "We could use a fence to contain our chickens and other birds, so build a chickenwire fence on the east side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_yard_chickenwire_east", - "blueprint_name": "east coop yard", - "blueprint_requires": [ { "id": "fbml_northeast" } ], - "blueprint_provides": [ { "id": "fbml_east" } ], - "blueprint_excludes": [ { "id": "fbml_east" } ], - "blueprint_needs": { - "time": "15 h 45 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 80 ] ], [ [ "nail", 320 ] ], [ [ "wire", 160 ] ], [ [ "hinge", 2 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_pasture0_splitrail", - "description": "We could use paddock for the stable, so build a split-rail fence on the north side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_pasture0_splitrail_north", - "blueprint_name": "north paddock", - "blueprint_requires": [ { "id": "fbml_northwest" } ], - "blueprint_provides": [ { "id": "fbml_north" } ], - "blueprint_excludes": [ { "id": "fbml_north" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "pointy_stick", 12 ], [ "spear_wood", 12 ] ], [ [ "2x4", 25 ] ], [ [ "nail", 112 ] ], [ [ "hinge", 2 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_pasture1_splitrail", - "description": "We could use paddock for the stable, so build a split-rail fence in the center of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_pasture1_splitrail_center", - "blueprint_name": "center paddock", - "blueprint_requires": [ { "id": "fbml_north" } ], - "blueprint_provides": [ { "id": "fbml_center" } ], - "blueprint_excludes": [ { "id": "fbml_center" } ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "pointy_stick", 4 ], [ "spear_wood", 4 ] ], [ [ "2x4", 8 ] ], [ [ "nail", 40 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_pasture2_splitrail", - "description": "We could use paddock for the stable, so build a split-rail fence to close off the south end of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_pasture2_splitrail_south", - "blueprint_name": "center paddock", - "blueprint_requires": [ { "id": "fbml_center" } ], - "blueprint_provides": [ { "id": "fbml_south" } ], - "blueprint_excludes": [ { "id": "fbml_south" } ], - "blueprint_needs": { - "time": "5 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "pointy_stick", 20 ], [ "spear_wood", 20 ] ], [ [ "2x4", 42 ] ], [ [ "nail", 184 ] ], [ [ "hinge", 4 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_log.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_log.json deleted file mode 100644 index 4ba0bdb3e198..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_log.json +++ /dev/null @@ -1,159 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_log_northeast", - "description": "We could use a coop to contain our chickens and other birds, so build a log shack with a roof on the northeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_log_northeast", - "blueprint_name": "northeast coop", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_northeast" }, { "id": "chicken_coop" } ], - "blueprint_excludes": [ { "id": "fbml_northeast" } ], - "blueprint_needs": { - "time": "2 d 14 h 45 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 246 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 72 ] ], - [ [ "nail", 360 ] ], - [ [ "wire", 20 ] ], - [ [ "wood_panel", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_shack_log_southeast", - "description": "We could use a storage room for feed, animal gear and tools, so build a log shack with a roof on the southeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_shack_log_southeast", - "blueprint_name": "southeast storage room", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_southeast" } ], - "blueprint_excludes": [ { "id": "fbml_southeast" } ], - "blueprint_needs": { - "time": "2 d 1 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 208 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 44 ] ], - [ [ "nail", 324 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "wood_panel", 10 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable0_log_southwest", - "description": "We could use a stable for larger livestock, so build a log shack with a roof on the southwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable0_log_southwest", - "blueprint_name": "southwest stable", - "blueprint_requires": [ { "id": "faction_base_livestock_0" } ], - "blueprint_provides": [ { "id": "fbml_southwest" }, { "id": "stables" } ], - "blueprint_excludes": [ { "id": "fbml_southwest" } ], - "blueprint_needs": { - "time": "2 d 9 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 251 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 60 ] ], - [ [ "nail", 432 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "wood_panel", 17 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable1_log_west", - "description": "We could use an expansion for the stable, so build 2 more stalls on the west side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable1_log_west", - "blueprint_name": "west stable", - "blueprint_requires": [ { "id": "fbml_southwest" } ], - "blueprint_provides": [ { "id": "fbml_west" } ], - "blueprint_excludes": [ { "id": "fbml_west" } ], - "blueprint_needs": { - "time": "2 d 6 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 256 ] ], - [ [ "hinge", 4 ] ], - [ [ "log", 52 ] ], - [ [ "nail", 464 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable2_log_northwest", - "description": "We could use an expansion for the stable, so build 2 more stalls on the northwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable2_log_northwest", - "blueprint_name": "northwest stable", - "blueprint_requires": [ { "id": "fbml_west" } ], - "blueprint_provides": [ { "id": "fbml_northwest" } ], - "blueprint_excludes": [ { "id": "fbml_northwest" } ], - "blueprint_needs": { - "time": "2 d 8 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 254 ] ], - [ [ "hinge", 4 ] ], - [ [ "log", 56 ] ], - [ [ "nail", 444 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "wood_panel", 18 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_metal.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_metal.json deleted file mode 100644 index a4380417e119..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_metal.json +++ /dev/null @@ -1,180 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_metal_northeast", - "description": "We could use a coop to contain our chickens and other birds, so build a metal sheet shack with a roof on the northeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_metal_northeast", - "blueprint_name": "northeast coop", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_northeast" }, { "id": "chicken_coop" } ], - "blueprint_excludes": [ { "id": "fbml_northeast" } ], - "blueprint_needs": { - "time": "3 d 8 h 45 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1800 ], [ "oxy_torch", 360 ], [ "toolset", 2700 ], [ "welder", 1800 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 138 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 360 ] ], - [ [ "steel_plate", 72 ] ], - [ [ "wire", 20 ] ], - [ [ "wood_panel", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_shack_metal_southeast", - "description": "We could use a storage room for feed, animal gear and tools, so build a metal sheet shack with a roof on the southeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_shack_metal_southeast", - "blueprint_name": "southeast storage room", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_southeast" } ], - "blueprint_excludes": [ { "id": "fbml_southeast" } ], - "blueprint_needs": { - "time": "2 d 12 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1100 ], [ "oxy_torch", 220 ], [ "toolset", 1650 ], [ "welder", 1100 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 142 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 324 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "steel_plate", 44 ] ], - [ [ "wood_panel", 10 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable0_metal_southwest", - "description": "We could use a stable for larger livestock, so build a metal sheet shack with a roof on the southwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable0_metal_southwest", - "blueprint_name": "southwest stable", - "blueprint_requires": [ { "id": "faction_base_livestock_0" } ], - "blueprint_provides": [ { "id": "fbml_southwest" }, { "id": "stables" } ], - "blueprint_excludes": [ { "id": "fbml_southwest" } ], - "blueprint_needs": { - "time": "3 d 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1500 ], [ "oxy_torch", 300 ], [ "toolset", 2250 ], [ "welder", 1500 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 161 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 432 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "steel_plate", 60 ] ], - [ [ "wood_panel", 17 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable1_metal_west", - "description": "We could use an expansion for the stable, so build 2 more stalls on the west side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable1_metal_west", - "blueprint_name": "west stable", - "blueprint_requires": [ { "id": "fbml_southwest" } ], - "blueprint_provides": [ { "id": "fbml_west" } ], - "blueprint_excludes": [ { "id": "fbml_west" } ], - "blueprint_needs": { - "time": "2 d 19 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1300 ], [ "oxy_torch", 260 ], [ "toolset", 1950 ], [ "welder", 1300 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 178 ] ], - [ [ "hinge", 4 ] ], - [ [ "nail", 464 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "steel_plate", 52 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable2_metal_northwest", - "description": "We could use an expansion for the stable, so build 2 more stalls on the northwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable2_metal_northwest", - "blueprint_name": "northwest stable", - "blueprint_requires": [ { "id": "fbml_west" } ], - "blueprint_provides": [ { "id": "fbml_northwest" } ], - "blueprint_excludes": [ { "id": "fbml_northwest" } ], - "blueprint_needs": { - "time": "2 d 22 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1400 ], [ "oxy_torch", 280 ], [ "toolset", 2100 ], [ "welder", 1400 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 170 ] ], - [ [ "hinge", 4 ] ], - [ [ "nail", 444 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "steel_plate", 56 ] ], - [ [ "wood_panel", 18 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_migo_resin.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_migo_resin.json deleted file mode 100644 index c944c9e0bb21..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_migo_resin.json +++ /dev/null @@ -1,140 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_migo_resin_northeast", - "description": "We could use a coop to contain our chickens and other birds, so build a mi-go resin shack with a roof on the northeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_migo_resin_northeast", - "blueprint_name": "northeast coop", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_northeast" }, { "id": "chicken_coop" } ], - "blueprint_excludes": [ { "id": "fbml_northeast" } ], - "blueprint_needs": { - "time": "1 d 10 h 45 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ [ [ "2x4", 10 ] ], [ [ "nail", 40 ] ], [ [ "wire", 20 ] ], [ [ "hinge", 2 ] ], [ [ "alien_pod_resin", 68 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_shack_migo_resin_southeast", - "description": "We could use a storage room for feed, animal gear and tools, so build a mi-go resin shack with a roof on the southeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_shack_migo_resin_southeast", - "blueprint_name": "southeast storage room", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_southeast" } ], - "blueprint_excludes": [ { "id": "fbml_southeast" } ], - "blueprint_needs": { - "time": "1 d 10 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 34 ] ], - [ [ "alien_pod_resin", 44 ] ], - [ [ "nail", 208 ] ], - [ [ "wood_panel", 21 ], [ "wood_sheet", 11 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable0_migo_resin_southwest", - "description": "We could use a stable for larger livestock, so build a mi-go resin shack with a roof on the southwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable0_migo_resin_southwest", - "blueprint_name": "southwest stable", - "blueprint_requires": [ { "id": "faction_base_livestock_0" } ], - "blueprint_provides": [ { "id": "fbml_southwest" }, { "id": "stables" } ], - "blueprint_excludes": [ { "id": "fbml_southwest" } ], - "blueprint_needs": { - "time": "1 d 12 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 25 ] ], - [ [ "nail", 92 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "hinge", 2 ] ], - [ [ "alien_pod_resin", 64 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable1_migo_resin_west", - "description": "We could use an expansion for the stable, so build 2 more stalls on the west side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable1_migo_resin_west", - "blueprint_name": "west stable", - "blueprint_requires": [ { "id": "fbml_southwest" } ], - "blueprint_provides": [ { "id": "fbml_west" } ], - "blueprint_excludes": [ { "id": "fbml_west" } ], - "blueprint_needs": { - "time": "1 d 14 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 26 ] ], - [ [ "nail", 84 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "hinge", 4 ] ], - [ [ "alien_pod_resin", 64 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable2_migo_resin_northwest", - "description": "We could use an expansion for the stable, so build 2 more stalls on the northwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable2_migo_resin_northwest", - "blueprint_name": "northwest stable", - "blueprint_requires": [ { "id": "fbml_west" } ], - "blueprint_provides": [ { "id": "fbml_northwest" } ], - "blueprint_excludes": [ { "id": "fbml_northwest" } ], - "blueprint_needs": { - "time": "1 d 13 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 26 ] ], - [ [ "nail", 84 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "hinge", 4 ] ], - [ [ "alien_pod_resin", 64 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_rammed_earth.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_rammed_earth.json deleted file mode 100644 index 5830be252c7d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_rammed_earth.json +++ /dev/null @@ -1,189 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_rammed_earth_northeast", - "description": "We could use a coop to contain our chickens and other birds, so build a rammed earth shack with a roof on the northeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_rammed_earth_northeast", - "blueprint_name": "northeast coop", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_northeast" }, { "id": "chicken_coop" } ], - "blueprint_excludes": [ { "id": "fbml_northeast" } ], - "blueprint_needs": { - "time": "3 d 22 h 15 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 138 ] ], - [ [ "concrete", 18 ], [ "material_quicklime", 360 ], [ "material_sand", 360 ] ], - [ [ "hinge", 2 ] ], - [ [ "material_soil", 1800 ] ], - [ [ "nail", 360 ] ], - [ [ "pointy_stick", 36 ], [ "spear_wood", 36 ] ], - [ [ "water", 900 ], [ "water_clean", 900 ] ], - [ [ "wire", 20 ] ], - [ [ "wood_panel", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_shack_rammed_earth_southeast", - "description": "We could use a storage room for feed, animal gear and tools, so build a rammed earth shack with a roof on the southeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_shack_rammed_earth_southeast", - "blueprint_name": "southeast storage room", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_southeast" } ], - "blueprint_excludes": [ { "id": "fbml_southeast" } ], - "blueprint_needs": { - "time": "2 d 20 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 176 ] ], - [ [ "concrete", 11 ], [ "material_quicklime", 220 ], [ "material_sand", 220 ] ], - [ [ "material_soil", 1100 ] ], - [ [ "nail", 512 ] ], - [ [ "pointy_stick", 22 ], [ "spear_wood", 22 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 550 ], [ "water_clean", 550 ] ], - [ [ "wood_panel", 29 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable0_rammed_earth_southwest", - "description": "We could use a stable for larger livestock, so build a rammed earth shack with a roof on the southwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable0_rammed_earth_southwest", - "blueprint_name": "southwest stable", - "blueprint_requires": [ { "id": "faction_base_livestock_0" } ], - "blueprint_provides": [ { "id": "fbml_southwest" }, { "id": "stables" } ], - "blueprint_excludes": [ { "id": "fbml_southwest" } ], - "blueprint_needs": { - "time": "3 d 11 h 45 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 161 ] ], - [ [ "concrete", 15 ], [ "material_quicklime", 300 ], [ "material_sand", 300 ] ], - [ [ "hinge", 2 ] ], - [ [ "material_soil", 1500 ] ], - [ [ "nail", 432 ] ], - [ [ "pointy_stick", 38 ], [ "spear_wood", 38 ] ], - [ [ "water", 750 ], [ "water_clean", 750 ] ], - [ [ "wood_panel", 17 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable1_rammed_earth_west", - "description": "We could use an expansion for the stable, so build 2 more stalls on the west side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable1_rammed_earth_west", - "blueprint_name": "west stable", - "blueprint_requires": [ { "id": "fbml_southwest" } ], - "blueprint_provides": [ { "id": "fbml_west" } ], - "blueprint_excludes": [ { "id": "fbml_west" } ], - "blueprint_needs": { - "time": "3 d 5 h 15 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 178 ] ], - [ [ "concrete", 13 ], [ "material_quicklime", 260 ], [ "material_sand", 260 ] ], - [ [ "hinge", 4 ] ], - [ [ "material_soil", 1300 ] ], - [ [ "nail", 464 ] ], - [ [ "pointy_stick", 34 ], [ "spear_wood", 34 ] ], - [ [ "water", 650 ], [ "water_clean", 650 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable2_rammed_earth_northwest", - "description": "We could use an expansion for the stable, so build 2 more stalls on the northwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable2_rammed_earth_northwest", - "blueprint_name": "northwest stable", - "blueprint_requires": [ { "id": "fbml_west" } ], - "blueprint_provides": [ { "id": "fbml_northwest" } ], - "blueprint_excludes": [ { "id": "fbml_northwest" } ], - "blueprint_needs": { - "time": "3 d 8 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 170 ] ], - [ [ "concrete", 14 ], [ "material_quicklime", 280 ], [ "material_sand", 280 ] ], - [ [ "hinge", 4 ] ], - [ [ "material_soil", 1400 ] ], - [ [ "nail", 444 ] ], - [ [ "pointy_stick", 36 ], [ "spear_wood", 36 ] ], - [ [ "water", 700 ], [ "water_clean", 700 ] ], - [ [ "wood_panel", 18 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_rock.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_rock.json deleted file mode 100644 index 1cb37e5ded0d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_rock.json +++ /dev/null @@ -1,169 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_rock_northeast", - "description": "We could use a coop to contain our chickens and other birds, so build a stone shack with a roof on the northeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_rock_northeast", - "blueprint_name": "northeast coop", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_northeast" }, { "id": "chicken_coop" } ], - "blueprint_excludes": [ { "id": "fbml_northeast" } ], - "blueprint_needs": { - "time": "5 d 5 h 45 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 138 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 36 ], [ "mortar_build", 36 ] ], - [ [ "nail", 360 ] ], - [ [ "pebble", 900 ] ], - [ [ "rock", 432 ] ], - [ [ "wire", 20 ] ], - [ [ "wood_panel", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_shack_rock_southeast", - "description": "We could use a storage room for feed, animal gear and tools, so build a stone shack with a roof on the southeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_shack_rock_southeast", - "blueprint_name": "southeast storage room", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_southeast" } ], - "blueprint_excludes": [ { "id": "fbml_southeast" } ], - "blueprint_needs": { - "time": "3 d 16 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 142 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 22 ], [ "mortar_build", 22 ] ], - [ [ "nail", 324 ] ], - [ [ "pebble", 550 ] ], - [ [ "pipe", 60 ] ], - [ [ "rock", 264 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "wood_panel", 10 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable0_rock_southwest", - "description": "We could use a stable for larger livestock, so build a stone shack with a roof on the southwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable0_rock_southwest", - "blueprint_name": "southwest stable", - "blueprint_requires": [ { "id": "faction_base_livestock_0" } ], - "blueprint_provides": [ { "id": "fbml_southwest" }, { "id": "stables" } ], - "blueprint_excludes": [ { "id": "fbml_southwest" } ], - "blueprint_needs": { - "time": "4 d 14 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 161 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 30 ], [ "mortar_build", 30 ] ], - [ [ "nail", 432 ] ], - [ [ "pebble", 750 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "rock", 360 ] ], - [ [ "wood_panel", 17 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable1_rock_west", - "description": "We could use an expansion for the stable, so build 2 more stalls on the west side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable1_rock_west", - "blueprint_name": "west stable", - "blueprint_requires": [ { "id": "fbml_southwest" } ], - "blueprint_provides": [ { "id": "fbml_west" } ], - "blueprint_excludes": [ { "id": "fbml_west" } ], - "blueprint_needs": { - "time": "4 d 4 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 178 ] ], - [ [ "hinge", 4 ] ], - [ [ "mortar_adobe", 26 ], [ "mortar_build", 26 ] ], - [ [ "nail", 464 ] ], - [ [ "pebble", 650 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "rock", 312 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable2_rock_northwest", - "description": "We could use an expansion for the stable, so build 2 more stalls on the northwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable2_rock_northwest", - "blueprint_name": "northwest stable", - "blueprint_requires": [ { "id": "fbml_west" } ], - "blueprint_provides": [ { "id": "fbml_northwest" } ], - "blueprint_excludes": [ { "id": "fbml_northwest" } ], - "blueprint_needs": { - "time": "4 d 9 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 170 ] ], - [ [ "hinge", 4 ] ], - [ [ "mortar_adobe", 28 ], [ "mortar_build", 28 ] ], - [ [ "nail", 444 ] ], - [ [ "pebble", 700 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "rock", 336 ] ], - [ [ "wood_panel", 18 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_wad.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_wad.json deleted file mode 100644 index 5f299a5712ec..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_wad.json +++ /dev/null @@ -1,241 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_wad_northeast", - "description": "We could use a coop to contain our chickens and other birds, so build a wattle and daub shack with a roof on the northeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_wad_northeast", - "blueprint_name": "northeast coop", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_northeast" }, { "id": "chicken_coop" } ], - "blueprint_excludes": [ { "id": "fbml_northeast" } ], - "blueprint_needs": { - "time": "1 d 23 h 45 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 318 ] ], - [ - [ "cattail_stalk", 144 ], - [ "dogbane", 144 ], - [ "material_sand", 360 ], - [ "pebble", 360 ], - [ "pine_bough", 144 ], - [ "straw_pile", 144 ], - [ "withered", 144 ] - ], - [ - [ "clay_lump", 144 ], - [ "material_limestone", 144 ], - [ "material_quicklime", 144 ], - [ "material_soil", 720 ] - ], - [ [ "hinge", 2 ] ], - [ [ "nail", 360 ] ], - [ [ "water", 180 ], [ "water_clean", 180 ] ], - [ [ "wire", 20 ] ], - [ [ "wood_panel", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_shack_wad_southeast", - "description": "We could use a storage room for feed, animal gear and tools, so build a wattle and daub shack with a roof on the southeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_shack_wad_southeast", - "blueprint_name": "southeast storage room", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_southeast" } ], - "blueprint_excludes": [ { "id": "fbml_southeast" } ], - "blueprint_needs": { - "time": "1 d 14 h 20 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 246 ] ], - [ - [ "cattail_stalk", 104 ], - [ "dogbane", 104 ], - [ "material_sand", 260 ], - [ "pebble", 260 ], - [ "pine_bough", 104 ], - [ "straw_pile", 104 ], - [ "withered", 104 ] - ], - [ - [ "clay_lump", 104 ], - [ "material_limestone", 104 ], - [ "material_quicklime", 104 ], - [ "material_soil", 520 ] - ], - [ [ "nail", 392 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 130 ], [ "water_clean", 130 ] ], - [ [ "wood_panel", 29 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable0_wad_southwest", - "description": "We could use a stable for larger livestock, so build a wattle and daub shack with a roof on the southwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable0_wad_southwest", - "blueprint_name": "southwest stable", - "blueprint_requires": [ { "id": "faction_base_livestock_0" } ], - "blueprint_provides": [ { "id": "fbml_southwest" }, { "id": "stables" } ], - "blueprint_excludes": [ { "id": "fbml_southwest" } ], - "blueprint_needs": { - "time": "1 d 21 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 311 ] ], - [ - [ "cattail_stalk", 120 ], - [ "dogbane", 120 ], - [ "material_sand", 300 ], - [ "pebble", 300 ], - [ "pine_bough", 120 ], - [ "straw_pile", 120 ], - [ "withered", 120 ] - ], - [ - [ "clay_lump", 120 ], - [ "material_limestone", 120 ], - [ "material_quicklime", 120 ], - [ "material_soil", 600 ] - ], - [ [ "hinge", 2 ] ], - [ [ "nail", 432 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 150 ], [ "water_clean", 150 ] ], - [ [ "wood_panel", 17 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable1_wad_west", - "description": "We could use an expansion for the stable, so build 2 more stalls on the west side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable1_wad_west", - "blueprint_name": "west stable", - "blueprint_requires": [ { "id": "fbml_southwest" } ], - "blueprint_provides": [ { "id": "fbml_west" } ], - "blueprint_excludes": [ { "id": "fbml_west" } ], - "blueprint_needs": { - "time": "1 d 19 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 308 ] ], - [ - [ "cattail_stalk", 104 ], - [ "dogbane", 104 ], - [ "material_sand", 260 ], - [ "pebble", 260 ], - [ "pine_bough", 104 ], - [ "straw_pile", 104 ], - [ "withered", 104 ] - ], - [ - [ "clay_lump", 104 ], - [ "material_limestone", 104 ], - [ "material_quicklime", 104 ], - [ "material_soil", 520 ] - ], - [ [ "hinge", 4 ] ], - [ [ "nail", 464 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 130 ], [ "water_clean", 130 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable2_wad_northwest", - "description": "We could use an expansion for the stable, so build 2 more stalls on the northwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable2_wad_northwest", - "blueprint_name": "northwest stable", - "blueprint_requires": [ { "id": "fbml_west" } ], - "blueprint_provides": [ { "id": "fbml_northwest" } ], - "blueprint_excludes": [ { "id": "fbml_northwest" } ], - "blueprint_needs": { - "time": "1 d 20 h 20 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 310 ] ], - [ - [ "cattail_stalk", 112 ], - [ "dogbane", 112 ], - [ "material_sand", 280 ], - [ "pebble", 280 ], - [ "pine_bough", 112 ], - [ "straw_pile", 112 ], - [ "withered", 112 ] - ], - [ - [ "clay_lump", 112 ], - [ "material_limestone", 112 ], - [ "material_quicklime", 112 ], - [ "material_soil", 560 ] - ], - [ [ "hinge", 4 ] ], - [ [ "nail", 444 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 140 ], [ "water_clean", 140 ] ], - [ [ "wood_panel", 18 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_wood.json b/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_wood.json deleted file mode 100644 index 002e8799f970..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_livestock/recipe_modular_livestock_wood.json +++ /dev/null @@ -1,143 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_livestock_coop_wood_northeast", - "description": "We could use a coop to contain our chickens and other birds, so build a wood panel shack with a roof on the northeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_coop_wood_northeast", - "blueprint_name": "northeast coop", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_northeast" }, { "id": "chicken_coop" } ], - "blueprint_excludes": [ { "id": "fbml_northeast" } ], - "blueprint_needs": { - "time": "1 d 20 h 45 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 318 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 1080 ] ], [ [ "wire", 20 ] ], [ [ "wood_panel", 52 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_shack_wood_southeast", - "description": "We could use a storage room for feed, animal gear and tools, so build a wood panel shack with a roof on the southeast side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_shack_wood_southeast", - "blueprint_name": "southeast storage room", - "blueprint_requires": [ { "id": "fbml_0" } ], - "blueprint_provides": [ { "id": "fbml_southeast" } ], - "blueprint_excludes": [ { "id": "fbml_southeast" } ], - "blueprint_needs": { - "time": "1 d 14 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 252 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 764 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "wood_panel", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable0_wood_southwest", - "description": "We could use a stable for larger livestock, so build a wood panel shack with a roof on the southwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable0_wood_southwest", - "blueprint_name": "southwest stable", - "blueprint_requires": [ { "id": "faction_base_livestock_0" } ], - "blueprint_provides": [ { "id": "fbml_southwest" }, { "id": "stables" } ], - "blueprint_excludes": [ { "id": "fbml_southwest" } ], - "blueprint_needs": { - "time": "1 d 18 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 311 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 1032 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "wood_panel", 47 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable1_wood_west", - "description": "We could use an expansion for the stable, so build 2 more stalls on the west side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable1_wood_west", - "blueprint_name": "west stable", - "blueprint_requires": [ { "id": "fbml_southwest" } ], - "blueprint_provides": [ { "id": "fbml_west" } ], - "blueprint_excludes": [ { "id": "fbml_west" } ], - "blueprint_needs": { - "time": "1 d 17 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 308 ] ], - [ [ "hinge", 4 ] ], - [ [ "nail", 984 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "wood_panel", 45 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_livestock_stable2_wood_northwest", - "description": "We could use an expansion for the stable, so build 2 more stalls on the northwest side of the livestock field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbml_stable2_wood_northwest", - "blueprint_name": "northwest stable", - "blueprint_requires": [ { "id": "fbml_west" } ], - "blueprint_provides": [ { "id": "fbml_northwest" } ], - "blueprint_excludes": [ { "id": "fbml_northwest" } ], - "blueprint_needs": { - "time": "1 d 18 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 310 ] ], - [ [ "hinge", 4 ] ], - [ [ "nail", 1004 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "wood_panel", 46 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_common.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_common.json deleted file mode 100644 index bc4b583a3692..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_common.json +++ /dev/null @@ -1,71 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_saltworks_0", - "description": "Survey land for a saltworks area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_saltworks_0", - "blueprint_name": "Saltworks survey", - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_provides": [ { "id": "fbmsw_0" } ] - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery1_southwest", - "description": "We could uprade the workspace in the brewery to add a still, wood stove and work table.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery1_southwest", - "blueprint_name": "SW brewery still", - "blueprint_requires": [ { "id": "fbmsw_southwest" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest1_still" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest1_still" } ], - "blueprint_needs": { - "time": "2 h 56 m", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M" } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 7 ] ], - [ [ "metal_tank", 1 ] ], - [ [ "nail", 14 ] ], - [ [ "pipe", 13 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "still", 1 ] ], - [ [ "wood_panel", 1 ], [ "wood_sheet", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery2_southwest", - "description": "We could use fill out the space with extra kegs and storage racks.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery2_southwest", - "blueprint_name": "SW brewery kegs", - "blueprint_requires": [ { "id": "fbmsw_southwest1_still" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest2_kegs" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest2_kegs" } ], - "blueprint_needs": { - "time": "7 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ [ [ "pipe", 12 ] ], [ [ "sheet_metal", 5 ] ], [ [ "2x4", 54 ] ], [ [ "nail", 42 ] ], [ [ "water_faucet", 3 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_log.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_log.json deleted file mode 100644 index a42a133714ae..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_log.json +++ /dev/null @@ -1,115 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_saltpan_log_northeast", - "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a log building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_saltpan_log_northeast", - "blueprint_name": "NE log wall saltpan", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], - "blueprint_needs": { - "time": "4 d 40 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 266 ] ], - [ [ "birchbark", 228 ], [ "pine_bough", 228 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 118 ] ], - [ [ "material_soil", 760 ] ], - [ [ "nail", 156 ] ], - [ [ "wood_panel", 6 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shack_log_southeast", - "description": "We could use a storage room for chemicals and tools, so build a log shack with a roof on the southeast side of the saltworks field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_shack_log_southeast", - "blueprint_name": "SE log wall storage room", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], - "blueprint_needs": { - "time": "2 d 9 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 176 ] ], - [ [ "birchbark", 96 ], [ "pine_bough", 96 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 60 ] ], - [ [ "material_soil", 320 ] ], - [ [ "nail", 164 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery0_log_southwest", - "description": "We could take advantage of the designation of this area to build a log brewery.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery0_log_southwest", - "blueprint_name": "SW log wall brewery", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], - "blueprint_needs": { - "time": "4 d 16 h", - "skills": [ [ "fabrication", 4 ], [ "cooking", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 298 ] ], - [ [ "birchbark", 288 ], [ "pine_bough", 288 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 132 ] ], - [ [ "material_soil", 960 ] ], - [ [ "nail", 122 ] ], - [ [ "pipe", 36 ] ], - [ [ "sheet_metal", 7 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_metal.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_metal.json deleted file mode 100644 index 0a5bf1154300..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_metal.json +++ /dev/null @@ -1,116 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_saltpan_metal_northeast", - "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a metal shed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_saltpan_metal_northeast", - "blueprint_name": "NE metal wall saltpan", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], - "blueprint_needs": { - "time": "3 d 6 h 40 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2000 ], [ "oxy_torch", 400 ], [ "toolset", 3000 ], [ "welder", 2000 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 70 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 156 ] ], - [ [ "steel_plate", 80 ] ], - [ [ "wood_panel", 6 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shack_metal_southeast", - "description": "We could use a storage room for chemicals and tools, so build a metal shack with a roof on the southeast side of the saltworks field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_shack_metal_southeast", - "blueprint_name": "SE metal wall storage room", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], - "blueprint_needs": { - "time": "2 d 4 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1100 ], [ "oxy_torch", 220 ], [ "toolset", 1650 ], [ "welder", 1100 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 78 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 164 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "steel_plate", 44 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery0_metal_southwest", - "description": "We could take advantage of the designation of this area to build a metal wall brewery.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery0_metal_southwest", - "blueprint_name": "SW metal wall brewery", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], - "blueprint_needs": { - "time": "3 d 13 h", - "skills": [ [ "cooking", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 2100 ], [ "oxy_torch", 420 ], [ "toolset", 3150 ], [ "welder", 2100 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 76 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 122 ] ], - [ [ "pipe", 36 ] ], - [ [ "sheet_metal", 7 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "steel_plate", 84 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_migo_resin.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_migo_resin.json deleted file mode 100644 index d78a30ef6bc8..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_migo_resin.json +++ /dev/null @@ -1,92 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_saltpan_migo_resin_northeast", - "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in an adobe hut.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_saltpan_migo_resin_northeast", - "blueprint_name": "NE migo resin saltpan", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], - "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], - "blueprint_needs": { - "time": "1 d 21 h 25 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ] ], - "components": [ [ [ "2x4", 11 ] ], [ [ "alien_pod_resin", 79 ] ], [ [ "nail", 30 ] ], [ [ "wood_panel", 5 ], [ "wood_sheet", 3 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shack_migo_resin_southeast", - "description": "We could use a storage room for chemicals and tools, so build an adobe shack with a roof on the southeast side of the saltworks field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_shack_migo_resin_southeast", - "blueprint_name": "SE migo resin storage room", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 4 ] ], - [ [ "alien_pod_resin", 32 ] ], - [ [ "nail", 8 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "wood_panel", 1 ], [ "wood_sheet", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery0_migo_resin_southwest", - "description": "We could take advantage of the designation of this area to build an migo resin brewery.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery0_migo_resin_southwest", - "blueprint_name": "SW migo resin brewery", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], - "blueprint_needs": { - "time": "2 d 5 h", - "skills": [ [ "cooking", 3 ], [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M", "level": 2 } ], - [ { "id": "SAW_W" } ], - [ { "id": "SMOOTH" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 32 ] ], - [ [ "alien_pod_resin", 86 ] ], - [ [ "nail", 26 ] ], - [ [ "pipe", 36 ] ], - [ [ "sheet_metal", 7 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "water_faucet", 2 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_rammed_earth.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_rammed_earth.json deleted file mode 100644 index 1a163c27cd47..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_rammed_earth.json +++ /dev/null @@ -1,125 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_saltpan_rammed_earth_northeast", - "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in an adobe hut.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_saltpan_rammed_earth_northeast", - "blueprint_name": "NE rammed earth saltpan", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], - "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], - "blueprint_needs": { - "time": "4 d 13 h 10 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 210 ] ], - [ [ "concrete", 20 ], [ "material_quicklime", 400 ], [ "material_sand", 400 ] ], - [ [ "material_soil", 2000 ] ], - [ [ "nail", 484 ] ], - [ [ "pointy_stick", 40 ], [ "spear_wood", 40 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 1000 ], [ "water_clean", 1000 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shack_rammed_earth_southeast", - "description": "We could use a storage room for chemicals and tools, so build an adobe shack with a roof on the southeast side of the saltworks field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_shack_rammed_earth_southeast", - "blueprint_name": "SE rammed earth storage room", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], - "blueprint_needs": { - "time": "2 d 12 h 45 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 98 ] ], - [ [ "concrete", 11 ], [ "material_quicklime", 220 ], [ "material_sand", 220 ] ], - [ [ "material_soil", 1100 ] ], - [ [ "nail", 192 ] ], - [ [ "pipe", 60 ] ], - [ [ "pointy_stick", 22 ], [ "spear_wood", 22 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "water", 550 ], [ "water_clean", 550 ] ], - [ [ "wood_panel", 3 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery0_rammed_earth_southwest", - "description": "We could take advantage of the designation of this area to build an rammed earth brewery.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery0_rammed_earth_southwest", - "blueprint_name": "SW rammed earth brewery", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], - "blueprint_needs": { - "time": "4 d 23 h 45 m", - "skills": [ [ "fabrication", 3 ], [ "cooking", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 240 ] ], - [ [ "concrete", 21 ], [ "material_quicklime", 420 ], [ "material_sand", 420 ] ], - [ [ "material_soil", 2100 ] ], - [ [ "nail", 510 ] ], - [ [ "pipe", 36 ] ], - [ [ "pointy_stick", 42 ], [ "spear_wood", 42 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "sheet_metal", 7 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "water", 1050 ], [ "water_clean", 1050 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 20 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_stone.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_stone.json deleted file mode 100644 index f5e51adf2cce..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_stone.json +++ /dev/null @@ -1,115 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_saltpan_rock_northeast", - "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a stone building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_saltpan_rock_northeast", - "blueprint_name": "NE stone wall saltpan", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], - "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], - "blueprint_needs": { - "time": "5 d 8 h 40 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 70 ] ], - [ [ "glass_sheet", 3 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 40 ], [ "mortar_build", 40 ] ], - [ [ "nail", 156 ] ], - [ [ "pebble", 1000 ] ], - [ [ "rock", 480 ] ], - [ [ "wood_panel", 6 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shack_rock_southeast", - "description": "We could use a storage room for chemicals and tools, so build a stone wall shack with a roof on the southeast side of the saltworks field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_shack_rock_southeast", - "blueprint_name": "SE stone wall storage room", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], - "blueprint_needs": { - "time": "3 d 8 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 78 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 22 ], [ "mortar_build", 22 ] ], - [ [ "nail", 164 ] ], - [ [ "pebble", 550 ] ], - [ [ "pipe", 60 ] ], - [ [ "rock", 264 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery0_rock_southwest", - "description": "We could take advantage of the designation of this area to build a stone brewery.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery0_rock_southwest", - "blueprint_name": "SW stone wall brewery", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], - "blueprint_needs": { - "time": "5 d 17 h 30 m", - "skills": [ [ "fabrication", 6 ], [ "cooking", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 76 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 42 ], [ "mortar_build", 42 ] ], - [ [ "nail", 122 ] ], - [ [ "pebble", 1050 ] ], - [ [ "pipe", 36 ] ], - [ [ "rock", 504 ] ], - [ [ "sheet_metal", 7 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wad.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wad.json deleted file mode 100644 index 0d389bf84734..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wad.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_saltpan_wad_northeast", - "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in an adobe hut.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_saltpan_wad_northeast", - "blueprint_name": "NE wattle and daub saltpan", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], - "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], - "blueprint_needs": { - "time": "2 d 8 h 15 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 380 ] ], - [ - [ "cattail_stalk", 172 ], - [ "dogbane", 172 ], - [ "material_sand", 430 ], - [ "pebble", 430 ], - [ "pine_bough", 172 ], - [ "straw_pile", 172 ], - [ "withered", 172 ] - ], - [ - [ "clay_lump", 172 ], - [ "material_limestone", 172 ], - [ "material_quicklime", 172 ], - [ "material_soil", 860 ] - ], - [ [ "nail", 394 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 215 ], [ "water_clean", 215 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shack_wad_southeast", - "description": "We could use a storage room for chemicals and tools, so build an adobe shack with a roof on the southeast side of the saltworks field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_shack_wad_southeast", - "blueprint_name": "SE wattle and daub storage room", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], - "blueprint_needs": { - "time": "1 d 6 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 168 ] ], - [ - [ "cattail_stalk", 104 ], - [ "dogbane", 104 ], - [ "material_sand", 260 ], - [ "pebble", 260 ], - [ "pine_bough", 104 ], - [ "straw_pile", 104 ], - [ "withered", 104 ] - ], - [ - [ "clay_lump", 104 ], - [ "material_limestone", 104 ], - [ "material_quicklime", 104 ], - [ "material_soil", 520 ] - ], - [ [ "nail", 72 ] ], - [ [ "pipe", 60 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "water", 130 ], [ "water_clean", 130 ] ], - [ [ "wood_panel", 3 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery0_wad_southwest", - "description": "We could take advantage of the designation of this area to build an wattle and daub brewery.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery0_wad_southwest", - "blueprint_name": "SW wattle and daub brewery", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], - "blueprint_needs": { - "time": "2 d 16 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ], [ "cooking", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 430 ] ], - [ - [ "cattail_stalk", 176 ], - [ "dogbane", 176 ], - [ "material_sand", 440 ], - [ "pebble", 440 ], - [ "pine_bough", 176 ], - [ "straw_pile", 176 ], - [ "withered", 176 ] - ], - [ - [ "clay_lump", 176 ], - [ "material_limestone", 176 ], - [ "material_quicklime", 176 ], - [ "material_soil", 880 ] - ], - [ [ "nail", 450 ] ], - [ [ "pipe", 36 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "sheet_metal", 7 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "water", 220 ], [ "water_clean", 220 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 20 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wood.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wood.json deleted file mode 100644 index f717d5b849e0..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wood.json +++ /dev/null @@ -1,94 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_saltpan_wood_northeast", - "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a wooden shed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_saltpan_wood_northeast", - "blueprint_name": "NE wood panel saltpan", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], - "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], - "blueprint_needs": { - "time": "1 d 17 h 50 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 270 ] ], [ [ "glass_sheet", 3 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 956 ] ], [ [ "wood_panel", 46 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shack_wood_southeast", - "description": "We could use a storage room for chemicals and tools, so build a wood panel shack with a roof on the southeast side of the saltworks field.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_shack_wood_southeast", - "blueprint_name": "SE wood panel storage room", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southeast" } ], - "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], - "blueprint_needs": { - "time": "1 d 7 h 50 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 188 ] ], - [ [ "glass_sheet", 4 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 604 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "wood_panel", 24 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_brewery0_wood_southwest", - "description": "We could take advantage of the designation of this area to build a wooden brewery.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmsw_brewery0_wood_southwest", - "blueprint_name": "SW wood panel brewery", - "blueprint_requires": [ { "id": "fbmsw_0" } ], - "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], - "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], - "blueprint_needs": { - "time": "1 d 23 h", - "skills": [ [ "cooking", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 286 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 962 ] ], - [ [ "pipe", 36 ] ], - [ [ "sheet_metal", 7 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 43 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json deleted file mode 100644 index f6ecd2dbc427..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json +++ /dev/null @@ -1,726 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_shelter_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 h", - "construction_blueprint": "fbmc_shelter_0", - "blueprint_provides": [ - { "id": "gathering" }, - { "id": "primitive_camp_recipes_1" }, - { "id": "fbmc_shelter_0" }, - { "id": "firewood" }, - { "id": "foraging" }, - { "id": "sorting" }, - { "id": "logging" } - ], - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_name": "basic survey", - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_fireplace", - "description": "We should build a fireplace for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_fireplace", - "blueprint_name": "build a fireplace", - "blueprint_requires": [ { "id": "fbmc_shelter_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], [ [ "nail", 8 ] ], [ [ "rock", 40 ] ] ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_brazier", - "description": "We should build a brazier for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "5 m", - "construction_blueprint": "fbmc_shelter_brazier", - "blueprint_name": "build a brazier", - "blueprint_requires": [ { "id": "fbmc_shelter_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "30 m", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], [ [ "nail", 8 ] ] ] - } - }, - "components": [ [ [ "brazier", 1 ] ], [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_stove", - "description": "We should build a wood stove for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_stove", - "blueprint_name": "build a wood stove", - "blueprint_requires": [ { "id": "fbmc_shelter_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "SAW_M" } ], [ { "id": "SAW_W" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 4 ] ], - [ [ "metal_tank", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "pipe", 1 ] ], - [ [ "wood_panel", 1 ], [ "wood_sheet", 1 ] ] - ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_well", - "description": "We should build a well, put it near the terminal. This will make our future here more secure.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_well", - "blueprint_name": "build a well", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_well" } ], - "blueprint_needs": { - "time": "13 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "mechanics", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 8 ] ], [ [ "pipe", 6 ] ], [ [ "rock", 40 ] ], [ [ "well_pump", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_standard_SE", - "description": "Let's furnish the southeast bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_standard_SE", - "blueprint_name": "furnish the SE bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_se" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_se" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_standard_E", - "description": "Let's furnish the east bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_standard_E", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" }, { "id": "fbmc_shelter_beds_se" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_e" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_e" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_straw_SE", - "description": "Let's furnish the southeast bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_straw_SE", - "blueprint_name": "furnish the SE bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_se" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_se" } ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "straw_pile", 32 ], [ "withered", 32 ], [ "pine_bough", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_straw_E", - "description": "Let's furnish the east bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_straw_E", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" }, { "id": "fbmc_shelter_beds_se" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_e" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_e" } ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "straw_pile", 32 ], [ "withered", 32 ], [ "pine_bough", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_makeshift_SE", - "description": "Let's furnish the southeast bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_makeshift_SE", - "blueprint_name": "furnish the SE bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_se" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_se" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 32 ] ], - [ [ "sheet", 8 ], [ "blanket", 4 ], [ "down_blanket", 4 ], [ "fur_blanket", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_makeshift_E", - "description": "Let's furnish the east bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_makeshift_E", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" }, { "id": "fbmc_shelter_beds_se" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_e" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_e" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 32 ] ], - [ [ "sheet", 8 ], [ "blanket", 4 ], [ "down_blanket", 4 ], [ "fur_blanket", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_standard_SW", - "description": "Let's furnish the southwest bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_standard_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" }, { "id": "fbmc_shelter_beds_e" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_sw" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_standard_W", - "description": "Let's furnish the west bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_standard_W", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" }, { "id": "fbmc_shelter_beds_sw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_w" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_w" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_standard_NW", - "description": "Let's furnish the north west bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_standard_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom5" }, { "id": "fbmc_shelter_beds_w" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_nw" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_nw" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_straw_SW", - "description": "Let's furnish the southwest bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_straw_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" }, { "id": "fbmc_shelter_beds_e" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_sw" } ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "straw_pile", 32 ], [ "withered", 32 ], [ "pine_bough", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_straw_W", - "description": "Let's furnish the west bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_straw_W", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" }, { "id": "fbmc_shelter_beds_sw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_w" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_w" } ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "straw_pile", 32 ], [ "withered", 32 ], [ "pine_bough", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_beds_straw_NW", - "description": "Let's furnish the north west bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "empty_but_shouldnt_be", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom5" }, { "id": "fbmc_shelter_beds_w" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_nw" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_nw" } ], - "blueprint_needs": { } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_makeshift_SW", - "description": "Let's furnish the southwest bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "empty_but_shouldnt_be", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" }, { "id": "fbmc_shelter_beds_e" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_sw" } ], - "blueprint_needs": { } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_makeshift_W", - "description": "Let's furnish the west bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_makeshift_W", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" }, { "id": "fbmc_shelter_beds_sw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_w" }, { "id": "bed" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_w" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 32 ] ], - [ [ "sheet", 8 ], [ "blanket", 4 ], [ "down_blanket", 4 ], [ "fur_blanket", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_beds_makeshift_NW", - "description": "Let's furnish the north west bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_beds_makeshift_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom5" }, { "id": "fbmc_shelter_beds_w" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_beds_nw" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_beds_nw" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 32 ] ], - [ [ "sheet", 8 ], [ "blanket", 4 ], [ "down_blanket", 4 ], [ "fur_blanket", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_diningroom", - "description": "Let's make a dining area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_dining", - "blueprint_name": "furnish the dining room", - "blueprint_requires": [ { "id": "fbmc_shelter_beds_se" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_dining" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_dining" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 48 ] ], [ [ "wood_sheet", 4 ], [ "wood_panel", 4 ] ], [ [ "nail", 96 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_livingroom", - "description": "Let's make a living room area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_livingroom", - "blueprint_name": "furnish the living room", - "blueprint_requires": [ { "id": "fbmc_shelter_beds_se" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_livingroom" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_livingroom" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 76 ] ], - [ [ "wood_sheet", 4 ], [ "wood_panel", 6 ] ], - [ [ "nail", 94 ] ], - [ [ "blanket", 5 ], [ "down_blanket", 5 ], [ "fur_blanket", 5 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_pantry", - "description": "Let's build some pantry storage.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_pantry", - "blueprint_name": "build some wooden racks", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_pantry" }, { "id": "pantry" }, { "id": "sorting" }, { "id": "tool_storage" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_pantry" } ], - "blueprint_needs": { - "time": "6 h 40 m", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 30 ] ], [ [ "wood_sheet", 10 ], [ "wood_panel", 20 ] ], [ [ "nail", 200 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_craftspot", - "description": "Let's build a work bench.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_craftspot", - "blueprint_name": "build a work bench", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_craftspot" }, { "id": "tool_storage" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_craftspot" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "pipe", 16 ] ], [ [ "sheet_metal", 4 ] ], [ [ "sheet_metal_small", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_radio", - "description": "Let's set up a radio tower to improve our recruitment efforts.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_radio_console", - "blueprint_name": "build a radio tower and console", - "blueprint_requires": [ { "id": "fbmc_shelter_well" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_radio" }, { "id": "recruiting" }, { "id": "radio" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_radio" } ], - "blueprint_needs": { - "time": "2 d", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M" } ], [ { "id": "SCREW" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ - [ "wind_turbine", 4 ], - [ "xl_wind_turbine", 1 ], - [ "solar_panel", 4 ], - [ "reinforced_solar_panel", 4 ], - [ "solar_panel_v2", 2 ], - [ "reinforced_solar_panel_v2", 2 ] - ], - [ [ "storage_battery", 1 ], [ "medium_storage_battery", 5 ], [ "small_storage_battery", 100 ] ], - [ [ "sheet_metal", 2 ], [ "wire", 8 ] ], - [ [ "pipe", 24 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 2 ] ], - [ [ "large_lcd_screen", 1 ] ], - [ [ "e_scrap", 8 ] ], - [ [ "frame", 1 ] ], - [ [ "circuit", 4 ] ], - [ [ "power_supply", 2 ] ], - [ [ "amplifier", 2 ] ], - [ [ "cable", 80 ] ], - [ [ "motor_small", 1 ], [ "motor_tiny", 2 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_log.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_log.json deleted file mode 100644 index f89523875904..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_log.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom1_log", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_se_log", - "blueprint_name": "build SE log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_needs": { - "time": "16 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 50 ] ], [ [ "hinge", 2 ] ], [ [ "log", 24 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom2_log", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_e_log", - "blueprint_name": "build E log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_needs": { - "time": "16 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 50 ] ], [ [ "hinge", 2 ] ], [ [ "log", 24 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom3_log", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_SW_log", - "blueprint_name": "build SW log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 68 ] ], [ [ "hinge", 2 ] ], [ [ "log", 36 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom4_log", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_W_log", - "blueprint_name": "build W log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_needs": { - "time": "16 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 50 ] ], [ [ "hinge", 2 ] ], [ [ "log", 24 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom5_log", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_NW_log", - "blueprint_name": "build NW log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 26 ] ], [ [ "hinge", 2 ] ], [ [ "log", 8 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_rock.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_rock.json deleted file mode 100644 index 1de665165678..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_rock.json +++ /dev/null @@ -1,157 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom1_rock", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_se_rock", - "blueprint_name": "build SE rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_needs": { - "time": "1 d 13 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom2_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_e_rock", - "blueprint_name": "build E rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_needs": { - "time": "1 d 13 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom3_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_SW_rock", - "blueprint_name": "build SW rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_needs": { - "time": "2 d 7 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 18 ], [ "mortar_build", 18 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 450 ] ], - [ [ "rock", 216 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom4_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_W_rock", - "blueprint_name": "build W rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_needs": { - "time": "1 d 13 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom5_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_NW_rock", - "blueprint_name": "build NW rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_needs": { - "time": "13 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 4 ], [ "mortar_build", 4 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 100 ] ], - [ [ "rock", 48 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_standard.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_standard.json deleted file mode 100644 index ab180724511f..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_standard.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom1", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_se", - "blueprint_name": "build SE standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom2", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_e", - "blueprint_name": "build E standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom3", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_SW", - "blueprint_name": "build SW standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom4", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_W", - "blueprint_name": "build W standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom5", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_NW", - "blueprint_name": "build NW standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wad.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wad.json deleted file mode 100644 index c81d501c9044..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wad.json +++ /dev/null @@ -1,212 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom1_wad", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_se_wad", - "blueprint_name": "build SE wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 78 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ - [ "clay_lump", 48 ], - [ "material_limestone", 48 ], - [ "material_quicklime", 48 ], - [ "material_soil", 240 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom2_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_e_wad", - "blueprint_name": "build E wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 78 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ - [ "clay_lump", 48 ], - [ "material_limestone", 48 ], - [ "material_quicklime", 48 ], - [ "material_soil", 240 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom3_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_SW_wad", - "blueprint_name": "build SW wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_needs": { - "time": "16 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 108 ] ], - [ - [ "cattail_stalk", 72 ], - [ "dogbane", 72 ], - [ "material_sand", 180 ], - [ "pebble", 180 ], - [ "pine_bough", 72 ], - [ "straw_pile", 72 ], - [ "withered", 72 ] - ], - [ - [ "clay_lump", 72 ], - [ "material_limestone", 72 ], - [ "material_quicklime", 72 ], - [ "material_soil", 360 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 90 ], [ "water_clean", 90 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom4_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_W_wad", - "blueprint_name": "build W wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 78 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ - [ "clay_lump", 48 ], - [ "material_limestone", 48 ], - [ "material_quicklime", 48 ], - [ "material_soil", 240 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom5_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_NW_wad", - "blueprint_name": "build NW wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_needs": { - "time": "4 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 38 ] ], - [ - [ "cattail_stalk", 16 ], - [ "dogbane", 16 ], - [ "material_sand", 40 ], - [ "pebble", 40 ], - [ "pine_bough", 16 ], - [ "straw_pile", 16 ], - [ "withered", 16 ] - ], - [ [ "clay_lump", 16 ], [ "material_limestone", 16 ], [ "material_quicklime", 16 ], [ "material_soil", 80 ] ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 20 ], [ "water_clean", 20 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wood.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wood.json deleted file mode 100644 index cd4182680446..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wood.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom1_wood", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_se_wood", - "blueprint_name": "build SE wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_needs": { - "time": "10 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 74 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 276 ] ], [ [ "wood_panel", 13 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom2_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_e_wood", - "blueprint_name": "build E wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_needs": { - "time": "10 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 74 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 276 ] ], [ [ "wood_panel", 13 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom3_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_SW_wood", - "blueprint_name": "build SW wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_needs": { - "time": "15 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 104 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 396 ] ], [ [ "wood_panel", 19 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom4_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_W_wood", - "blueprint_name": "build W wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_needs": { - "time": "10 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 74 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 276 ] ], [ [ "wood_panel", 13 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_bedroom5_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_bedroom_NW_wood", - "blueprint_name": "build NW wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_bedroom5" } ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 34 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 116 ] ], [ [ "wood_panel", 5 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json deleted file mode 100644 index d4b2d9d32b05..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json +++ /dev/null @@ -1,924 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_shelter_1_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 h", - "construction_blueprint": "fbmc_shelter_1_0", - "blueprint_provides": [ - { "id": "gathering" }, - { "id": "primitive_camp_recipes_1" }, - { "id": "fbmc_shelter_1_0" }, - { "id": "firewood" }, - { "id": "foraging" }, - { "id": "sorting" }, - { "id": "logging" } - ], - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_name": "basic survey", - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_fireplace", - "description": "We should build a fireplace for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_fireplace", - "blueprint_name": "build a fireplace", - "blueprint_requires": [ { "id": "fbmc_shelter_1_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_1_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], [ [ "nail", 8 ] ], [ [ "rock", 40 ] ] ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_brazier", - "description": "We should build a brazier for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "5 m", - "construction_blueprint": "fbmc_shelter_1_brazier", - "blueprint_name": "build a brazier", - "blueprint_requires": [ { "id": "fbmc_shelter_1_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_1_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "30 m", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], [ [ "nail", 8 ] ] ] - } - }, - "components": [ [ [ "brazier", 1 ] ], [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_stove", - "description": "We should build a wood stove for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_stove", - "blueprint_name": "build a wood stove", - "blueprint_requires": [ { "id": "fbmc_shelter_1_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_1_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "SAW_M" } ], [ { "id": "SAW_W" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 4 ] ], - [ [ "metal_tank", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "pipe", 1 ] ], - [ [ "wood_panel", 1 ], [ "wood_sheet", 1 ] ] - ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_well", - "description": "We should build a well, put it near the terminal. This will make our future here more secure.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_well", - "blueprint_name": "build a well", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_well" } ], - "blueprint_needs": { - "time": "13 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "mechanics", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 8 ] ], [ [ "pipe", 6 ] ], [ [ "rock", 40 ] ], [ [ "well_pump", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_standard_NW", - "description": "Let's furnish the southeast bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_standard_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_nw" }, { "id": "bed", "amount": 1 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_nw" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_standard_W1", - "description": "Let's furnish the west bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_W1", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" }, { "id": "fbmc_shelter_1_bed_nw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w1" }, { "id": "bed", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w1" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_standard_W2", - "description": "Let's furnish the west bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_W2", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" }, { "id": "fbmc_shelter_1_bedroom_w1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w2" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w2" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_standard_W3", - "description": "Let's furnish the west bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_W3", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" }, { "id": "fbmc_shelter_1_bedroom_w2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w3" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_straw_NW", - "description": "Let's furnish the southeast bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_straw_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_nw" }, { "id": "bed", "amount": 1 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_nw" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_straw_W1", - "description": "Let's furnish the west bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_straw_W1", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" }, { "id": "fbmc_shelter_1_bed_nw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w1" }, { "id": "bed", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w1" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_straw_W2", - "description": "Let's furnish the west bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_straw_W2", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" }, { "id": "fbmc_shelter_1_bedroom_w1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w2" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w2" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_straw_W3", - "description": "Let's furnish the west bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_straw_W3", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" }, { "id": "fbmc_shelter_1_bedroom_w2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w3" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_makeshift_NW", - "description": "Let's furnish the southeast bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_makeshift_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_nw" }, { "id": "bed", "amount": 1 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_nw" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 8 ] ], - [ [ "nail", 12 ] ], - [ [ "sheet", 4 ], [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_makeshift_W1", - "description": "Let's furnish the west bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_makeshift_W1", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" }, { "id": "fbmc_shelter_1_bed_nw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w1" }, { "id": "bed", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w1" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 8 ] ], - [ [ "nail", 12 ] ], - [ [ "sheet", 4 ], [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_makeshift_W2", - "description": "Let's furnish the west bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_makeshift_W2", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" }, { "id": "fbmc_shelter_1_bedroom_w1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w2" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w2" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 8 ] ], - [ [ "nail", 12 ] ], - [ [ "sheet", 4 ], [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_makeshift_W3", - "description": "Let's furnish the west bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_makeshift_W3", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" }, { "id": "fbmc_shelter_1_bedroom_w2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w3" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 8 ] ], - [ [ "nail", 12 ] ], - [ [ "sheet", 4 ], [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_standard_SW", - "description": "Let's furnish the southwest bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_standard_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_sw" } ], - "blueprint_needs": { - "time": "3 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 28 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 28 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_straw_SW", - "description": "Let's furnish the southwest bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_straw_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_sw" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 12 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "straw_pile", 16 ], [ "withered", 16 ], [ "pine_bough", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_makeshift_SW", - "description": "Let's furnish the southwest bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_makeshift_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_sw" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 12 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 20 ] ], - [ [ "sheet", 4 ], [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_standard_S1", - "description": "Let's furnish the southern bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_standard_S1", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_sw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s1" }, { "id": "bed", "amount": 7 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s1" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 52 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 48 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_straw_S1", - "description": "Let's furnish the southern bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_straw_S1", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_sw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s1" }, { "id": "bed", "amount": 7 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s1" } ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "straw_pile", 32 ], [ "withered", 32 ], [ "pine_bough", 32 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_makeshift_S1", - "description": "Let's furnish the southern bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_makeshift_S1", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_sw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s1" }, { "id": "bed", "amount": 7 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s1" } ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 20 ] ], - [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], - [ [ "nail", 32 ] ], - [ [ "sheet", 8 ], [ "blanket", 4 ], [ "down_blanket", 4 ], [ "fur_blanket", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_standard_S2", - "description": "Let's furnish the southern bedroom with regular beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_standard_S2", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_s1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s2" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 48 ] ], - [ [ "nail", 40 ] ], - [ [ "mattress", 4 ], [ "down_mattress", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_straw_S2", - "description": "Let's furnish the southern bedroom with straw beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_straw_S2", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_s1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s2" } ], - "blueprint_needs": { - "time": "4 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "lock", 2 ] ], - [ [ "pine_bough", 32 ], [ "straw_pile", 32 ], [ "withered", 32 ] ], - [ [ "pipe", 16 ] ], - [ [ "sheet_metal", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_beds_makeshift_S2", - "description": "Let's furnish the southern bedroom with makeshift beds.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bed_makeshift_S2", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_s1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s2" } ], - "blueprint_needs": { - "time": "5 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 16 ] ], - [ [ "lock", 2 ] ], - [ [ "2x4", 16 ] ], - [ [ "nail", 24 ] ], - [ [ "sheet", 8 ], [ "blanket", 4 ], [ "down_blanket", 4 ], [ "fur_blanket", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_diningroom", - "description": "Let's make a dining area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_dining", - "blueprint_name": "furnish the dining room", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_dining" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_dining" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 48 ] ], [ [ "wood_sheet", 4 ], [ "wood_panel", 4 ] ], [ [ "nail", 96 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_livingroom", - "description": "Let's make a living room area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_livingroom", - "blueprint_name": "furnish the living room", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_livingroom" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_livingroom" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 60 ] ], - [ [ "wood_sheet", 6 ], [ "wood_panel", 9 ] ], - [ [ "nail", 102 ] ], - [ [ "blanket", 3 ], [ "down_blanket", 3 ], [ "fur_blanket", 3 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_pantry", - "description": "Let's build some pantry storage.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_pantry", - "blueprint_name": "build some wooden racks", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_pantry" }, { "id": "pantry" }, { "id": "sorting" }, { "id": "tool_storage" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_pantry" } ], - "blueprint_needs": { - "time": "9 h 20 m", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 42 ] ], [ [ "wood_sheet", 14 ], [ "wood_panel", 28 ] ], [ [ "nail", 280 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_craftspot", - "description": "Let's build a work bench.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_craftspot", - "blueprint_name": "build a work bench", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_craftspot" }, { "id": "tool_storage" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_craftspot" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "oxy_torch", 30 ], [ "toolset", 225 ], [ "welder", 150 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "pipe", 24 ] ], [ [ "sheet_metal", 6 ] ], [ [ "sheet_metal_small", 12 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_radio", - "description": "Let's set up a radio tower to improve our recruitment efforts.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_radio_console", - "blueprint_name": "build a radio tower and console", - "blueprint_requires": [ { "id": "fbmc_shelter_1_well" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_radio" }, { "id": "recruiting" }, { "id": "radio" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_radio" } ], - "blueprint_needs": { - "time": "2 d", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M" } ], [ { "id": "SCREW" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ - [ "wind_turbine", 4 ], - [ "xl_wind_turbine", 1 ], - [ "solar_panel", 4 ], - [ "reinforced_solar_panel", 4 ], - [ "solar_panel_v2", 2 ], - [ "reinforced_solar_panel_v2", 2 ] - ], - [ [ "storage_battery", 1 ], [ "medium_storage_battery", 5 ], [ "small_storage_battery", 100 ] ], - [ [ "sheet_metal", 2 ], [ "wire", 8 ] ], - [ [ "pipe", 24 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 2 ] ], - [ [ "large_lcd_screen", 1 ] ], - [ [ "e_scrap", 8 ] ], - [ [ "frame", 1 ] ], - [ [ "circuit", 4 ] ], - [ [ "power_supply", 2 ] ], - [ [ "amplifier", 2 ] ], - [ [ "cable", 80 ] ], - [ [ "motor_small", 1 ], [ "motor_tiny", 2 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_log.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_log.json deleted file mode 100644 index 504a173610d7..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_log.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom1_log", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_NW_log", - "blueprint_name": "build NW log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom2_log", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W1_log", - "blueprint_name": "build W log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom3_log", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W2", - "blueprint_name": "build W log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom5_log", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_SW_log", - "blueprint_name": "build SW log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_needs": { - "time": "16 h 40 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 50 ] ], [ [ "hinge", 2 ] ], [ [ "log", 24 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom6_log", - "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_S_log", - "blueprint_name": "build S log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_needs": { - "time": "18 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 64 ] ], [ [ "hinge", 4 ] ], [ [ "log", 24 ] ], [ [ "nail", 72 ] ], [ [ "wood_panel", 2 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_rock.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_rock.json deleted file mode 100644 index 7e753d04770d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_rock.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom1_rock", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_NW_rock", - "blueprint_name": "build NW rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_needs": { - "time": "1 d 1 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom2_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W1_rock", - "blueprint_name": "build W rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_needs": { - "time": "1 d 1 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom3_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W2", - "blueprint_name": "build W rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom5_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_SW_rock", - "blueprint_name": "build SW rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_needs": { - "time": "1 d 13 h 40 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom6_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_S_rock", - "blueprint_name": "build S rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_needs": { - "time": "1 d 15 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 28 ] ], - [ [ "hinge", 4 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 72 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_standard.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_standard.json deleted file mode 100644 index 6324d33d4882..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_standard.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom1", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_NW", - "blueprint_name": "build NW standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom2", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W1", - "blueprint_name": "build W standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom3", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W2", - "blueprint_name": "build W standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom5", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_standard_bedroom_SW", - "blueprint_name": "build SW standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_needs": { - "time": "1 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom6", - "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_S", - "blueprint_name": "build S standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 28 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 72 ] ], [ [ "wood_panel", 2 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wad.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wad.json deleted file mode 100644 index 90936d6defdc..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wad.json +++ /dev/null @@ -1,197 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom1_wad", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_NW_wad", - "blueprint_name": "build NW wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_needs": { - "time": "8 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ - [ "cattail_stalk", 32 ], - [ "dogbane", 32 ], - [ "material_sand", 80 ], - [ "pebble", 80 ], - [ "pine_bough", 32 ], - [ "straw_pile", 32 ], - [ "withered", 32 ] - ], - [ - [ "clay_lump", 32 ], - [ "material_limestone", 32 ], - [ "material_quicklime", 32 ], - [ "material_soil", 160 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 40 ], [ "water_clean", 40 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom2_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W1_wad", - "blueprint_name": "build W wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_needs": { - "time": "8 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ - [ "cattail_stalk", 32 ], - [ "dogbane", 32 ], - [ "material_sand", 80 ], - [ "pebble", 80 ], - [ "pine_bough", 32 ], - [ "straw_pile", 32 ], - [ "withered", 32 ] - ], - [ - [ "clay_lump", 32 ], - [ "material_limestone", 32 ], - [ "material_quicklime", 32 ], - [ "material_soil", 160 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 40 ], [ "water_clean", 40 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom3_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W2", - "blueprint_name": "build W wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom5_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_SW_wad", - "blueprint_name": "build SW wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_needs": { - "time": "11 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 78 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ - [ "clay_lump", 48 ], - [ "material_limestone", 48 ], - [ "material_quicklime", 48 ], - [ "material_soil", 240 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom6_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_S_wad", - "blueprint_name": "build S wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_needs": { - "time": "13 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 96 ] ], - [ - [ "cattail_stalk", 48 ], - [ "dogbane", 48 ], - [ "material_sand", 120 ], - [ "pebble", 120 ], - [ "pine_bough", 48 ], - [ "straw_pile", 48 ], - [ "withered", 48 ] - ], - [ - [ "clay_lump", 48 ], - [ "material_limestone", 48 ], - [ "material_quicklime", 48 ], - [ "material_soil", 240 ] - ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 60 ], [ "water_clean", 60 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wood.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wood.json deleted file mode 100644 index 4f728c95fe0e..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wood.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom1_wood", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_NW_wood", - "blueprint_name": "build NW wood bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 54 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 196 ] ], [ [ "wood_panel", 9 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom2_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W1_wood", - "blueprint_name": "build W wood bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 54 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 196 ] ], [ [ "wood_panel", 9 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom3_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_W2", - "blueprint_name": "build W wood bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom5_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_SW_wood", - "blueprint_name": "build SW wood bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_needs": { - "time": "10 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 74 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 276 ] ], [ [ "wood_panel", 13 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bedroom6_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_1_bedroom_S_wood", - "blueprint_name": "build S wood bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], - "blueprint_needs": { - "time": "12 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 88 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 312 ] ], [ [ "wood_panel", 14 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_common.json b/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_common.json deleted file mode 100644 index 10a66b3632c9..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_common.json +++ /dev/null @@ -1,1274 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_shelter_2_0", - "description": "We should survey the base site and set up a bulletin board.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "1 h", - "construction_blueprint": "fbmc_shelter_2_0", - "blueprint_provides": [ - { "id": "gathering" }, - { "id": "primitive_camp_recipes_1" }, - { "id": "fbmc_shelter_2_0" }, - { "id": "firewood" }, - { "id": "foraging" }, - { "id": "sorting" }, - { "id": "logging" } - ], - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_name": "basic survey", - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_fireplace", - "description": "We should build a fireplace for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_fireplace", - "blueprint_name": "build a fireplace", - "blueprint_requires": [ { "id": "fbmc_shelter_2_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_2_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 8 ] ], [ [ "rock", 40 ] ], [ [ "wood_panel", 1 ], [ "wood_sheet", 1 ] ] ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_brazier", - "description": "We should build a brazier for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "5 m", - "construction_blueprint": "fbmc_shelter_2_brazier", - "blueprint_name": "build a brazier", - "blueprint_requires": [ { "id": "fbmc_shelter_2_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_2_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "30 m", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], [ [ "nail", 8 ] ] ] - } - }, - "components": [ [ [ "brazier", 1 ] ], [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_stove", - "description": "We should build a wood stove for cooking and grab a pot. Let's set up near the working terminal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_stove", - "blueprint_name": "build a wood stove", - "blueprint_requires": [ { "id": "fbmc_shelter_2_0" } ], - "blueprint_provides": [ - { "id": "fbmc_shelter_2_fire" }, - { "id": "trapping" }, - { "id": "hunting" }, - { "id": "kitchen" }, - { "id": "kitchen_recipes_1" } - ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_resources": [ "fake_fireplace", "pot" ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M" } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 4 ] ], - [ [ "metal_tank", 1 ] ], - [ [ "nail", 8 ] ], - [ [ "pipe", 1 ] ], - [ [ "wood_panel", 1 ], [ "wood_sheet", 1 ] ] - ] - } - }, - "components": [ [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_well", - "description": "We should build a well, across from the terminal. This will make our future here more secure.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_well", - "blueprint_name": "build a well", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_well" } ], - "blueprint_needs": { - "time": "13 h 30 m", - "skills": [ [ "fabrication", 4 ], [ "mechanics", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 8 ] ], [ [ "pipe", 6 ] ], [ [ "rock", 40 ] ], [ [ "well_pump", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bed_standard_NW", - "description": "Let's furnish the northwest bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_nw" }, { "id": "bed", "amount": 1 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_nw" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_W1", - "description": "Let's furnish the west bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_W1", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" }, { "id": "fbmc_shelter_2_bed_nw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w1" }, { "id": "bed", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w1" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_W2", - "description": "Let's furnish the west bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_W2", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" }, { "id": "fbmc_shelter_2_bedroom_w1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w2" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w2" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_W3", - "description": "Let's furnish the west bedroom with regular a bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_W3", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w4" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w4" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bed_straw_NW", - "description": "Let's furnish the southeast bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_nw" }, { "id": "bed", "amount": 1 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_nw" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_W1", - "description": "Let's furnish the west bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_W1", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" }, { "id": "fbmc_shelter_2_bed_nw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w1" }, { "id": "bed", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w1" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_W2", - "description": "Let's furnish the west bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_W2", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" }, { "id": "fbmc_shelter_2_bedroom_w1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w2" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w2" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_W3", - "description": "Let's furnish the west bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_W3", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w4" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w4" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bed_makeshift_NW", - "description": "Let's furnish the southeast bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_NW", - "blueprint_name": "furnish the NW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_nw" }, { "id": "bed", "amount": 1 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_nw" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_makeshift_W1", - "description": "Let's furnish the west bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_W1", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" }, { "id": "fbmc_shelter_2_bed_nw" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w1" }, { "id": "bed", "amount": 2 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w1" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_makeshift_W2", - "description": "Let's furnish the west bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_W2", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" }, { "id": "fbmc_shelter_2_bedroom_w1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w2" }, { "id": "bed", "amount": 3 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w2" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_makeshift_W3", - "description": "Let's furnish the west bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_W3", - "blueprint_name": "furnish the W bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom_w4" }, { "id": "bed", "amount": 4 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom_w4" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bed_standard_SW", - "description": "Let's furnish the southwest bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_sw" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 8 ] ], - [ [ "lock", 1 ] ], - [ [ "2x4", 24 ] ], - [ [ "nail", 20 ] ], - [ [ "mattress", 2 ], [ "down_mattress", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bed_straw_SW", - "description": "Let's furnish the southwest bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_sw" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bed_makeshift_SW", - "description": "Let's furnish the southwest bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_SW", - "blueprint_name": "furnish the SW bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_sw" }, { "id": "bed", "amount": 5 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_sw" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_S1", - "description": "Let's furnish the southern bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_S1", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_s1" }, { "id": "bed", "amount": 6 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_s1" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 24 ] ], - [ [ "down_mattress", 2 ], [ "mattress", 2 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 20 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_S1", - "description": "Let's furnish the southern bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_S1", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_s1" }, { "id": "bed", "amount": 6 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_s1" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_makeshift_S1", - "description": "Let's furnish the southern bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_S1", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_s1" }, { "id": "bed", "amount": 6 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_s1" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_S2", - "description": "Let's furnish the southern bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_S2", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_s2" }, { "id": "bed", "amount": 7 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_s2" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 24 ] ], - [ [ "down_mattress", 2 ], [ "mattress", 2 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 20 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_S2", - "description": "Let's furnish the southern bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_S2", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_s2" }, { "id": "bed", "amount": 7 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_s2" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_makeshift_S2", - "description": "Let's furnish the southern bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_S2", - "blueprint_name": "furnish the S bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_s2" }, { "id": "bed", "amount": 7 } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_s2" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_E1", - "description": "Let's furnish the eastern bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_E1", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e1" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 24 ] ], - [ [ "down_mattress", 2 ], [ "mattress", 2 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 20 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_E1", - "description": "Let's furnish the eastern bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_E1", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e1" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_makeshift_E1", - "description": "Let's furnish the eastern bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_E1", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e1" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_E2", - "description": "Let's furnish the eastern bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_E2", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e2" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 24 ] ], - [ [ "down_mattress", 2 ], [ "mattress", 2 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 20 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_E2", - "description": "Let's furnish the eastern bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_E2", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e2" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_makeshift_E2", - "description": "Let's furnish the eastern bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_E2", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e2" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_E3", - "description": "Let's furnish the eastern bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_E3", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e3" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 24 ] ], - [ [ "down_mattress", 2 ], [ "mattress", 2 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 20 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_E3", - "description": "Let's furnish the eastern bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_E3", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e3" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_makeshift_E3", - "description": "Let's furnish the eastern bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_E3", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e3" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_standard_E4", - "description": "Let's furnish the eastern bedroom with a regular bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_standard_E4", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e4" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 24 ] ], - [ [ "down_mattress", 2 ], [ "mattress", 2 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 20 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_beds_straw_E4", - "description": "Let's furnish the eastern bedroom with a straw bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_straw_E4", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e4" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ], [ "stick", 8 ], [ "stick_long", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "pine_bough", 16 ], [ "straw_pile", 16 ], [ "withered", 16 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_1_bed_makeshift_E4", - "description": "Let's furnish the eastern bedroom with a makeshift bed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bed_makeshift_E4", - "blueprint_name": "furnish the E bedroom", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bed_e4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bed_e4" } ], - "blueprint_needs": { - "time": "2 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 8 ] ], - [ [ "blanket", 2 ], [ "down_blanket", 2 ], [ "fur_blanket", 2 ], [ "sheet", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "nail", 12 ] ], - [ [ "pipe", 8 ] ], - [ [ "sheet_metal", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_diningroom", - "description": "Let's make a dining area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_dining", - "blueprint_name": "furnish the dining room", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_dining" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_dining" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 48 ] ], [ [ "wood_sheet", 4 ], [ "wood_panel", 4 ] ], [ [ "nail", 96 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_livingroom", - "description": "Let's make a living room area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_livingroom", - "blueprint_name": "furnish the living room", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_livingroom" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_livingroom" } ], - "blueprint_needs": { - "time": "6 h 15 m", - "skills": [ [ "mechanics", 0 ], [ "fabrication", 4 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M" } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 48 ] ], - [ [ "blanket", 3 ], [ "down_blanket", 3 ], [ "fur_blanket", 3 ] ], - [ [ "metal_tank", 1 ] ], - [ [ "nail", 68 ] ], - [ [ "pipe", 1 ] ], - [ [ "wood_panel", 5 ], [ "wood_sheet", 3 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_pantry", - "description": "Let's build some pantry storage.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_pantry", - "blueprint_name": "build some wooden racks", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_pantry" }, { "id": "pantry" }, { "id": "sorting" }, { "id": "tool_storage" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_pantry" } ], - "blueprint_needs": { - "time": "8 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 36 ] ], [ [ "nail", 240 ] ], [ [ "wood_panel", 24 ], [ "wood_sheet", 12 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_craftspot", - "description": "Let's build a work bench.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_craftspot", - "blueprint_name": "build a work bench", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_craftspot" }, { "id": "tool_storage" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_craftspot" } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "pipe", 16 ] ], [ [ "sheet_metal", 4 ] ], [ [ "sheet_metal_small", 8 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_radio", - "description": "Let's set up a radio tower to improve our recruitment efforts.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_radio_console", - "blueprint_name": "build a radio tower and console", - "blueprint_requires": [ { "id": "fbmc_shelter_2_well" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_radio" }, { "id": "recruiting" }, { "id": "radio" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_radio" } ], - "blueprint_needs": { - "time": "2 d", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M" } ], [ { "id": "SCREW" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ - [ "wind_turbine", 4 ], - [ "xl_wind_turbine", 1 ], - [ "solar_panel", 4 ], - [ "reinforced_solar_panel", 4 ], - [ "solar_panel_v2", 2 ], - [ "reinforced_solar_panel_v2", 2 ] - ], - [ [ "storage_battery", 1 ], [ "medium_storage_battery", 5 ], [ "small_storage_battery", 100 ] ], - [ [ "sheet_metal", 2 ], [ "wire", 8 ] ], - [ [ "pipe", 24 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 2 ] ], - [ [ "large_lcd_screen", 1 ] ], - [ [ "e_scrap", 8 ] ], - [ [ "frame", 1 ] ], - [ [ "circuit", 4 ] ], - [ [ "power_supply", 2 ] ], - [ [ "amplifier", 2 ] ], - [ [ "cable", 80 ] ], - [ [ "motor_small", 1 ], [ "motor_tiny", 2 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_log.json b/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_log.json deleted file mode 100644 index 9fe971510162..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_log.json +++ /dev/null @@ -1,232 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom1_log", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_NW_log", - "blueprint_name": "build NW log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom2_log", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W1_log", - "blueprint_name": "build W log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom3_log", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W2_log", - "blueprint_name": "build W log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_needs": { - "time": "9 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 32 ] ], [ [ "hinge", 2 ] ], [ [ "log", 12 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom4_log", - "description": "Let's build some living quarters so we can expand. We will enclose the west side of the stairs.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W3_log", - "blueprint_name": "build W log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 68 ] ], [ [ "hinge", 2 ] ], [ [ "log", 36 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom5_log", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_SW_log", - "blueprint_name": "build SW log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_needs": { - "time": "14 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 44 ] ], [ [ "hinge", 2 ] ], [ [ "log", 20 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom6_log", - "description": "Let's build two living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_S_log", - "blueprint_name": "build S log bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_needs": { - "time": "23 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 76 ] ], [ [ "hinge", 4 ] ], [ [ "log", 32 ] ], [ [ "nail", 72 ] ], [ [ "wood_panel", 2 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom7_log", - "description": "Let's build another bedroom so we can expand. We will continue to enclose the stairwell and add new doors.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E1_log", - "blueprint_name": "build central E bedroom log walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_needs": { - "time": "1 d 3 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 96 ] ], [ [ "hinge", 6 ] ], [ [ "log", 36 ] ], [ [ "nail", 108 ] ], [ [ "wood_panel", 3 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom8_log", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E2_log", - "blueprint_name": "build E bedroom log walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_needs": { - "time": "14 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 44 ] ], [ [ "hinge", 2 ] ], [ [ "log", 20 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom9_log", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E3_log", - "blueprint_name": "build E bedroom log walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_needs": { - "time": "11 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 38 ] ], [ [ "hinge", 2 ] ], [ [ "log", 16 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom10_log", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E4_log", - "blueprint_name": "build E bedroom log walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_needs": { - "time": "9 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 32 ] ], [ [ "hinge", 2 ] ], [ [ "log", 12 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_rock.json b/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_rock.json deleted file mode 100644 index 25d05689de9d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_rock.json +++ /dev/null @@ -1,312 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom1_rock", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_NW_rock", - "blueprint_name": "build NW rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_needs": { - "time": "1 d 1 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom2_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W1_rock", - "blueprint_name": "build W rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_needs": { - "time": "1 d 1 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom3_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W2_rock", - "blueprint_name": "build W rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_needs": { - "time": "19 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 6 ], [ "mortar_build", 6 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 150 ] ], - [ [ "rock", 72 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom4_rock", - "description": "Let's build some living quarters so we can expand. We will enclose the west side of the stairs.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W3_rock", - "blueprint_name": "build W rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_needs": { - "time": "2 d 7 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 18 ], [ "mortar_build", 18 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 450 ] ], - [ [ "rock", 216 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom5_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_SW_rock", - "blueprint_name": "build SW rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_needs": { - "time": "1 d 7 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 10 ], [ "mortar_build", 10 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 250 ] ], - [ [ "rock", 120 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom6_rock", - "description": "Let's build two living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_S_rock", - "blueprint_name": "build S rock bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_needs": { - "time": "2 d 3 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 28 ] ], - [ [ "hinge", 4 ] ], - [ [ "mortar_adobe", 16 ], [ "mortar_build", 16 ] ], - [ [ "nail", 72 ] ], - [ [ "pebble", 400 ] ], - [ [ "rock", 192 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom7_rock", - "description": "Let's build another bedroom so we can expand. We will continue to enclose the stairwell and add new doors.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E1_rock", - "blueprint_name": "build central E bedroom rock walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_needs": { - "time": "2 d 10 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 42 ] ], - [ [ "hinge", 6 ] ], - [ [ "mortar_adobe", 18 ], [ "mortar_build", 18 ] ], - [ [ "nail", 108 ] ], - [ [ "pebble", 450 ] ], - [ [ "rock", 216 ] ], - [ [ "wood_panel", 3 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom8_rock", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E2_rock", - "blueprint_name": "build E bedroom rock walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_needs": { - "time": "1 d 7 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 10 ], [ "mortar_build", 10 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 250 ] ], - [ [ "rock", 120 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom9_rock", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E3_rock", - "blueprint_name": "build E bedroom rock walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_needs": { - "time": "1 d 1 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom10_rock", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E4_rock", - "blueprint_name": "build E bedroom rock walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_needs": { - "time": "19 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 14 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 6 ], [ "mortar_build", 6 ] ], - [ [ "nail", 36 ] ], - [ [ "pebble", 150 ] ], - [ [ "rock", 72 ] ], - [ [ "wood_panel", 1 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_standard.json b/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_standard.json deleted file mode 100644 index 8fd7ca0ddaf0..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_standard.json +++ /dev/null @@ -1,232 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom1_standard", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_NW_standard", - "blueprint_name": "build NW standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom2_standard", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W1_standard", - "blueprint_name": "build W standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom3_standard", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W2_standard", - "blueprint_name": "build W standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom4_standard", - "description": "Let's build some living quarters so we can expand. We will enclose the west side of the stairs.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W3_standard", - "blueprint_name": "build W standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom5_standard", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_SW_standard", - "blueprint_name": "build SW standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom6_standard", - "description": "Let's build two living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_S_standard", - "blueprint_name": "build S standard bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_needs": { - "time": "3 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 28 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 72 ] ], [ [ "wood_panel", 2 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom7_standard", - "description": "Let's build another bedroom so we can expand. We will continue to enclose the stairwell and add new doors.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E1_standard", - "blueprint_name": "build central E bedroom standard walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_needs": { - "time": "4 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 42 ] ], [ [ "hinge", 6 ] ], [ [ "nail", 108 ] ], [ [ "wood_panel", 3 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom8_standard", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E2_standard", - "blueprint_name": "build E bedroom standard walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom9_standard", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E3_standard", - "blueprint_name": "build E bedroom standard walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom10_standard", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E4_standard", - "blueprint_name": "build E bedroom standard walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_needs": { - "time": "1 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 14 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 36 ] ], [ [ "wood_panel", 1 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_wad.json b/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_wad.json deleted file mode 100644 index d8252c74026d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_wad.json +++ /dev/null @@ -1,434 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom1_wad", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_NW_wad", - "blueprint_name": "build NW wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_needs": { - "time": "8 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ - [ "cattail_stalk", 32 ], - [ "dogbane", 32 ], - [ "material_sand", 80 ], - [ "pebble", 80 ], - [ "pine_bough", 32 ], - [ "straw_pile", 32 ], - [ "withered", 32 ] - ], - [ - [ "clay_lump", 32 ], - [ "material_limestone", 32 ], - [ "material_quicklime", 32 ], - [ "material_soil", 160 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 40 ], [ "water_clean", 40 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom2_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W1_wad", - "blueprint_name": "build W wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_needs": { - "time": "8 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ - [ "cattail_stalk", 32 ], - [ "dogbane", 32 ], - [ "material_sand", 80 ], - [ "pebble", 80 ], - [ "pine_bough", 32 ], - [ "straw_pile", 32 ], - [ "withered", 32 ] - ], - [ - [ "clay_lump", 32 ], - [ "material_limestone", 32 ], - [ "material_quicklime", 32 ], - [ "material_soil", 160 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 40 ], [ "water_clean", 40 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom3_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W2_wad", - "blueprint_name": "build W wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 48 ] ], - [ - [ "cattail_stalk", 24 ], - [ "dogbane", 24 ], - [ "material_sand", 60 ], - [ "pebble", 60 ], - [ "pine_bough", 24 ], - [ "straw_pile", 24 ], - [ "withered", 24 ] - ], - [ - [ "clay_lump", 24 ], - [ "material_limestone", 24 ], - [ "material_quicklime", 24 ], - [ "material_soil", 120 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 30 ], [ "water_clean", 30 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom4_wad", - "description": "Let's build some living quarters so we can expand. We will enclose the west side of the stairs.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W3_wad", - "blueprint_name": "build W wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_needs": { - "time": "16 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 108 ] ], - [ - [ "cattail_stalk", 72 ], - [ "dogbane", 72 ], - [ "material_sand", 180 ], - [ "pebble", 180 ], - [ "pine_bough", 72 ], - [ "straw_pile", 72 ], - [ "withered", 72 ] - ], - [ - [ "clay_lump", 72 ], - [ "material_limestone", 72 ], - [ "material_quicklime", 72 ], - [ "material_soil", 360 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 90 ], [ "water_clean", 90 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom5_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_SW_wad", - "blueprint_name": "build SW wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_needs": { - "time": "9 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 68 ] ], - [ - [ "cattail_stalk", 40 ], - [ "dogbane", 40 ], - [ "material_sand", 100 ], - [ "pebble", 100 ], - [ "pine_bough", 40 ], - [ "straw_pile", 40 ], - [ "withered", 40 ] - ], - [ - [ "clay_lump", 40 ], - [ "material_limestone", 40 ], - [ "material_quicklime", 40 ], - [ "material_soil", 200 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 50 ], [ "water_clean", 50 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom6_wad", - "description": "Let's build two living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_S_wad", - "blueprint_name": "build S wattle and daub bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_needs": { - "time": "16 h 20 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 116 ] ], - [ - [ "cattail_stalk", 64 ], - [ "dogbane", 64 ], - [ "material_sand", 160 ], - [ "pebble", 160 ], - [ "pine_bough", 64 ], - [ "straw_pile", 64 ], - [ "withered", 64 ] - ], - [ - [ "clay_lump", 64 ], - [ "material_limestone", 64 ], - [ "material_quicklime", 64 ], - [ "material_soil", 320 ] - ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 80 ], [ "water_clean", 80 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom7_wad", - "description": "Let's build another bedroom so we can expand. We will continue to enclose the stairwell and add new doors.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E1_wad", - "blueprint_name": "build central E bedroom wattle and daub", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_needs": { - "time": "19 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 136 ] ], - [ - [ "cattail_stalk", 72 ], - [ "dogbane", 72 ], - [ "material_sand", 180 ], - [ "pebble", 180 ], - [ "pine_bough", 72 ], - [ "straw_pile", 72 ], - [ "withered", 72 ] - ], - [ - [ "clay_lump", 72 ], - [ "material_limestone", 72 ], - [ "material_quicklime", 72 ], - [ "material_soil", 360 ] - ], - [ [ "hinge", 4 ] ], - [ [ "nail", 96 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 90 ], [ "water_clean", 90 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom8_wad", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E2_wad", - "blueprint_name": "build E bedroom wattle and daub", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_needs": { - "time": "9 h 50 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 68 ] ], - [ - [ "cattail_stalk", 40 ], - [ "dogbane", 40 ], - [ "material_sand", 100 ], - [ "pebble", 100 ], - [ "pine_bough", 40 ], - [ "straw_pile", 40 ], - [ "withered", 40 ] - ], - [ - [ "clay_lump", 40 ], - [ "material_limestone", 40 ], - [ "material_quicklime", 40 ], - [ "material_soil", 200 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 50 ], [ "water_clean", 50 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom9_wad", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E3_wad", - "blueprint_name": "build E bedroom wattle and daub", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_needs": { - "time": "8 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ - [ "cattail_stalk", 32 ], - [ "dogbane", 32 ], - [ "material_sand", 80 ], - [ "pebble", 80 ], - [ "pine_bough", 32 ], - [ "straw_pile", 32 ], - [ "withered", 32 ] - ], - [ - [ "clay_lump", 32 ], - [ "material_limestone", 32 ], - [ "material_quicklime", 32 ], - [ "material_soil", 160 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 40 ], [ "water_clean", 40 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom10_wad", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E4_wad", - "blueprint_name": "build E bedroom wattle and daub", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_needs": { - "time": "6 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 48 ] ], - [ - [ "cattail_stalk", 24 ], - [ "dogbane", 24 ], - [ "material_sand", 60 ], - [ "pebble", 60 ], - [ "pine_bough", 24 ], - [ "straw_pile", 24 ], - [ "withered", 24 ] - ], - [ - [ "clay_lump", 24 ], - [ "material_limestone", 24 ], - [ "material_quicklime", 24 ], - [ "material_soil", 120 ] - ], - [ [ "nail", 24 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 30 ], [ "water_clean", 30 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_wood.json b/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_wood.json deleted file mode 100644 index 73d4a8107d74..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_shelter_2/recipe_modular_shelter_2_wood.json +++ /dev/null @@ -1,232 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom1_wood", - "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_NW_wood", - "blueprint_name": "build NW wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_fire" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 54 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 196 ] ], [ [ "wood_panel", 9 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom2_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W1_wood", - "blueprint_name": "build W wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom1" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 54 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 196 ] ], [ [ "wood_panel", 9 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom3_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W2_wood", - "blueprint_name": "build W wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom2" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 44 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 156 ] ], [ [ "wood_panel", 7 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom4_wood", - "description": "Let's build some living quarters so we can expand. We will enclose the west side of the stairs.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_W3_wood", - "blueprint_name": "build W wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom3" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_needs": { - "time": "15 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 104 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 396 ] ], [ [ "wood_panel", 19 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom5_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_SW_wood", - "blueprint_name": "build SW wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom4" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_needs": { - "time": "9 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 64 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 236 ] ], [ [ "wood_panel", 11 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom6_wood", - "description": "Let's build two living quarters so we can expand. We will continue along the south wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_S_wood", - "blueprint_name": "build S wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom5" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_needs": { - "time": "15 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 108 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 392 ] ], [ [ "wood_panel", 18 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom7_wood", - "description": "Let's build another bedroom so we can expand. We will continue to enclose the stairwell and add new doors.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E1_wood", - "blueprint_name": "build central E bedroom wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom6" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_needs": { - "time": "18 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 132 ] ], [ [ "hinge", 6 ] ], [ [ "nail", 468 ] ], [ [ "wood_panel", 21 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom8_wood", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E2_wood", - "blueprint_name": "build E bedroom wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom7" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_needs": { - "time": "9 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 64 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 236 ] ], [ [ "wood_panel", 11 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom9_wood", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E3_wood", - "blueprint_name": "build E bedroom wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom8" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_needs": { - "time": "7 h 30 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 54 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 196 ] ], [ [ "wood_panel", 9 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_shelter_2_bedroom10_wood", - "description": "Let's build another bedroom on the east wall.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmc_shelter_2_bedroom_E4_wood", - "blueprint_name": "build E bedroom wood panel bedroom walls", - "blueprint_requires": [ { "id": "fbmc_shelter_2_bedroom9" } ], - "blueprint_provides": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_excludes": [ { "id": "fbmc_shelter_2_bedroom10" } ], - "blueprint_needs": { - "time": "6 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 44 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 156 ] ], [ [ "wood_panel", 7 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_log.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_log.json deleted file mode 100644 index 52368fbc627b..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_log.json +++ /dev/null @@ -1,219 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_east", - "description": "We could use a large log central storage building. Begin by building the east wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room0_log_east", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east" } ], - "blueprint_needs": { - "time": "1 d 8 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER" } ] ], - "components": [ [ [ "2x4", 72 ], [ "stick", 72 ] ], [ [ "log", 48 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_west", - "description": "We could use a large log central storage building. Continue by building the west wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room1_log_west", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west" } ], - "blueprint_needs": { - "time": "1 d 8 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER" } ] ], - "components": [ [ [ "2x4", 72 ], [ "stick", 72 ] ], [ [ "log", 48 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_northwest", - "description": "We could use a large log central storage building. Continue by building the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room2_log_northwest", - "blueprint_name": "northwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest" } ], - "blueprint_needs": { - "time": "12 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 18 ] ], [ [ "2x4", 24 ], [ "stick", 24 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_southwest", - "description": "We could use a large log central storage building. Continue by building the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room3_log_southwest", - "blueprint_name": "southwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest" } ], - "blueprint_needs": { - "time": "12 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 18 ] ], [ [ "2x4", 24 ], [ "stick", 24 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_northeast", - "description": "We could use a large log central storage building. Continue by building the northeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room4_log_northeast", - "blueprint_name": "northeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast" } ], - "blueprint_needs": { - "time": "12 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 18 ] ], [ [ "2x4", 24 ], [ "stick", 24 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_southeast", - "description": "We could use a large log central storage building. Continue by building the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room5_log_southeast", - "blueprint_name": "southeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast" } ], - "blueprint_needs": { - "time": "12 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 18 ] ], [ [ "2x4", 24 ], [ "stick", 24 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_south", - "description": "We could use a large log central storage building. Continue by building the southern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room6_log_south", - "blueprint_name": "south storeroom entrance", - "blueprint_requires": [ { "id": "fbms_southeast" }, { "id": "fbms_southwest" } ], - "blueprint_provides": [ { "id": "fbms_south" } ], - "blueprint_excludes": [ { "id": "fbms_south" } ], - "blueprint_needs": { - "time": "20 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 82 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 4 ] ], - [ [ "log", 16 ] ], - [ [ "nail", 132 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_north", - "description": "We could use a large log central storage building. Continue by building the northern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room7_log_north", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_northeast" }, { "id": "fbms_northwest" } ], - "blueprint_provides": [ { "id": "fbms_north" } ], - "blueprint_excludes": [ { "id": "fbms_north" } ], - "blueprint_needs": { - "time": "20 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 82 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 4 ] ], - [ [ "log", 16 ] ], - [ [ "nail", 132 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_log_center", - "description": "We could use a large log central storage building. Continue by filling in the floor.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room8_log_center", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_north" }, { "id": "fbms_south" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center" } ], - "blueprint_needs": { - "time": "10 h", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "HAMMER" } ] ], "components": [ ] } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_metal.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_metal.json deleted file mode 100644 index 1c4baf0a19e6..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_metal.json +++ /dev/null @@ -1,237 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_east", - "description": "We could use a large scrap metal central storage building. Begin by building the east wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room0_metal_east", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east" } ], - "blueprint_needs": { - "time": "2 d 12 h", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1800 ], [ "oxy_torch", 360 ], [ "toolset", 2700 ], [ "welder", 1800 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "steel_plate", 72 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_west", - "description": "We could use a large scrap metal central storage building. Continue by building the west wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room1_metal_west", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west" } ], - "blueprint_needs": { - "time": "2 d 12 h", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1800 ], [ "oxy_torch", 360 ], [ "toolset", 2700 ], [ "welder", 1800 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "steel_plate", 72 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_northwest", - "description": "We could use a large scrap metal central storage building. Continue by building the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room2_metal_northwest", - "blueprint_name": "northwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest" } ], - "blueprint_needs": { - "time": "21 h 45 m", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 600 ], [ "oxy_torch", 120 ], [ "toolset", 900 ], [ "welder", 600 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 15 ], [ "log", 2 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ], [ [ "steel_plate", 24 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_southwest", - "description": "We could use a large scrap metal central storage building. Continue by building the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room3_metal_southwest", - "blueprint_name": "southwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest" } ], - "blueprint_needs": { - "time": "21 h 45 m", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 600 ], [ "oxy_torch", 120 ], [ "toolset", 900 ], [ "welder", 600 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 15 ], [ "log", 2 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ], [ [ "steel_plate", 24 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_northeast", - "description": "We could use a large scrap metal central storage building. Continue by building the northeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room4_metal_northeast", - "blueprint_name": "northeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast" } ], - "blueprint_needs": { - "time": "21 h 45 m", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 600 ], [ "oxy_torch", 120 ], [ "toolset", 900 ], [ "welder", 600 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 15 ], [ "log", 2 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ], [ [ "steel_plate", 24 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_southeast", - "description": "We could use a large scrap metal central storage building. Continue by building the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room5_metal_southeast", - "blueprint_name": "southeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast" } ], - "blueprint_needs": { - "time": "21 h 45 m", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 600 ], [ "oxy_torch", 120 ], [ "toolset", 900 ], [ "welder", 600 ] ] ], - "qualities": [ [ { "id": "DIG" } ], [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 15 ], [ "log", 2 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 30 ] ], [ [ "steel_plate", 24 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_south", - "description": "We could use a large scrap metal central storage building. Continue by building the southern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room6_metal_south", - "blueprint_name": "south storeroom entrance", - "blueprint_requires": [ { "id": "fbms_southeast" }, { "id": "fbms_southwest" } ], - "blueprint_provides": [ { "id": "fbms_south" } ], - "blueprint_excludes": [ { "id": "fbms_south" } ], - "blueprint_needs": { - "time": "2 d 12 h 30 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1600 ], [ "oxy_torch", 320 ], [ "toolset", 2400 ], [ "welder", 1600 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 30 ], [ "log", 4 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 60 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 68 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_north", - "description": "We could use a large scrap metal central storage building. Continue by building the northern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room7_metal_north", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_northeast" }, { "id": "fbms_northwest" } ], - "blueprint_provides": [ { "id": "fbms_north" } ], - "blueprint_excludes": [ { "id": "fbms_north" } ], - "blueprint_needs": { - "time": "2 d 12 h 30 m", - "skills": [ [ "fabrication", 7 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1600 ], [ "oxy_torch", 320 ], [ "toolset", 2400 ], [ "welder", 1600 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_M" } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 30 ], [ "log", 4 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 6 ] ], - [ [ "nail", 60 ] ], - [ [ "scrap", 96 ], [ "steel_chunk", 32 ] ], - [ [ "steel_plate", 68 ] ], - [ [ "spike", 16 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_metal_center", - "description": "We could use a large scrap metal central storage building. Continue by filling in the floor.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room8_metal_center", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_north" }, { "id": "fbms_south" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center" } ], - "blueprint_needs": { - "time": "3 d 18 h", - "skills": [ [ "fabrication", 5 ] ], - "inline": { - "tools": [ [ [ "oxy_torch", 600 ], [ "welder", 3000 ], [ "toolset", 4500 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ] ], - "components": [ [ [ "steel_plate", 120 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_migo_resin.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_migo_resin.json deleted file mode 100644 index 822706d3cff8..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_migo_resin.json +++ /dev/null @@ -1,173 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_east", - "description": "We could use a large mi-go resin central storage building. Begin by building the east wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room0_migo_resin_east", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 48 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_west", - "description": "We could use a large mi-go resin central storage building. Continue by building the west wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room1_migo_resin_west", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west" } ], - "blueprint_needs": { - "time": "1 d", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 48 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_northwest", - "description": "We could use a large mi-go resin central storage building. Continue by building the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room2_migo_resin_northwest", - "blueprint_name": "northwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest" } ], - "blueprint_needs": { - "time": "10 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 17 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_southwest", - "description": "We could use a large mi-go resin central storage building. Continue by building the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room3_migo_resin_southwest", - "blueprint_name": "southwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest" } ], - "blueprint_needs": { - "time": "10 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 17 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_northeast", - "description": "We could use a large mi-go resin central storage building. Continue by building the northeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room4_migo_resin_northeast", - "blueprint_name": "northeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast" } ], - "blueprint_needs": { - "time": "10 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 17 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_southeast", - "description": "We could use a large mi-go resin central storage building. Continue by building the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room5_migo_resin_southeast", - "blueprint_name": "southeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast" } ], - "blueprint_needs": { - "time": "10 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 17 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_south", - "description": "We could use a large mi-go resin central storage building. Continue by building the southern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room6_migo_resin_south", - "blueprint_name": "south storeroom entrance", - "blueprint_requires": [ { "id": "fbms_southeast" }, { "id": "fbms_southwest" } ], - "blueprint_provides": [ { "id": "fbms_south" } ], - "blueprint_excludes": [ { "id": "fbms_south" } ], - "blueprint_needs": { - "time": "1 d 22 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 62 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_north", - "description": "We could use a large mi-go resin central storage building. Continue by building the northern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room7_migo_resin_north", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_northeast" }, { "id": "fbms_northwest" } ], - "blueprint_provides": [ { "id": "fbms_north" } ], - "blueprint_excludes": [ { "id": "fbms_north" } ], - "blueprint_needs": { - "time": "1 d 22 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 62 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_migo_resin_center", - "description": "We could use a large mi-go resin central storage building. Continue by filling in the floor.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room8_migo_resin_center", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_north" }, { "id": "fbms_south" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center" } ], - "blueprint_needs": { - "time": "3 d 18 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 120 ] ] ] } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_rammed_earth.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_rammed_earth.json deleted file mode 100644 index b93f6ba8e62f..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_rammed_earth.json +++ /dev/null @@ -1,286 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_east", - "description": "We could use a large rammed earth central storage building. Begin by building the east wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room0_rammed_earth_east", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east" } ], - "blueprint_needs": { - "time": "3 d 3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 48 ], [ "stick", 48 ], [ "stick_long", 24 ] ], - [ [ "birchbark", 144 ], [ "pine_bough", 144 ] ], - [ [ "concrete", 12 ], [ "material_quicklime", 240 ], [ "material_sand", 240 ] ], - [ [ "log", 24 ] ], - [ [ "material_soil", 1680 ] ], - [ [ "pointy_stick", 24 ], [ "spear_wood", 24 ] ], - [ [ "water", 600 ], [ "water_clean", 600 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_west", - "description": "We could use a large rammed earth central storage building. Continue by building the west wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room1_rammed_earth_west", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west" } ], - "blueprint_needs": { - "time": "3 d 3 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 48 ], [ "stick", 48 ], [ "stick_long", 24 ] ], - [ [ "birchbark", 144 ], [ "pine_bough", 144 ] ], - [ [ "concrete", 12 ], [ "material_quicklime", 240 ], [ "material_sand", 240 ] ], - [ [ "log", 24 ] ], - [ [ "material_soil", 1680 ] ], - [ [ "pointy_stick", 24 ], [ "spear_wood", 24 ] ], - [ [ "water", 600 ], [ "water_clean", 600 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_northwest", - "description": "We could use a large rammed earth central storage building. Continue by building the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room2_rammed_earth_northwest", - "blueprint_name": "northwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest" } ], - "blueprint_needs": { - "time": "1 d 2 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "log", 10 ] ], - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "material_soil", 560 ] ], - [ [ "nail", 30 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_southwest", - "description": "We could use a large rammed earth central storage building. Continue by building the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room3_rammed_earth_southwest", - "blueprint_name": "southwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest" } ], - "blueprint_needs": { - "time": "1 d 2 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "log", 10 ] ], - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "material_soil", 560 ] ], - [ [ "nail", 30 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_northeast", - "description": "We could use a large rammed earth central storage building. Continue by building the northeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room4_rammed_earth_northeast", - "blueprint_name": "northeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast" } ], - "blueprint_needs": { - "time": "1 d 2 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "log", 10 ] ], - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "material_soil", 560 ] ], - [ [ "nail", 30 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_southeast", - "description": "We could use a large rammed earth central storage building. Continue by building the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room5_rammed_earth_southeast", - "blueprint_name": "southeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast" } ], - "blueprint_needs": { - "time": "1 d 2 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "log", 10 ] ], - [ [ "2x4", 16 ], [ "stick", 16 ], [ "stick_long", 8 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "material_soil", 560 ] ], - [ [ "nail", 30 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_south", - "description": "We could use a large rammed earth central storage building. Continue by building the southern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room6_rammed_earth_south", - "blueprint_name": "south storeroom entrance", - "blueprint_requires": [ { "id": "fbms_southeast" }, { "id": "fbms_southwest" } ], - "blueprint_provides": [ { "id": "fbms_south" } ], - "blueprint_excludes": [ { "id": "fbms_south" } ], - "blueprint_needs": { - "time": "2 d 22 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 162 ] ], - [ [ "birchbark", 288 ], [ "pine_bough", 288 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "log", 48 ] ], - [ [ "material_soil", 1360 ] ], - [ [ "nail", 108 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_north", - "description": "We could use a large rammed earth central storage building. Continue by building the northern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room7_rammed_earth_north", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_northeast" }, { "id": "fbms_northwest" } ], - "blueprint_provides": [ { "id": "fbms_north" } ], - "blueprint_excludes": [ { "id": "fbms_north" } ], - "blueprint_needs": { - "time": "2 d 22 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 162 ] ], - [ [ "birchbark", 288 ], [ "pine_bough", 288 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "log", 48 ] ], - [ [ "material_soil", 1360 ] ], - [ [ "nail", 108 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rammed_earth_center", - "description": "We could use a large rammed earth central storage building. Continue by filling in the floor.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room8_rammed_earth_center", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_north" }, { "id": "fbms_south" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center" } ], - "blueprint_needs": { - "time": "5 d", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 240 ], [ "stick", 240 ], [ "stick_long", 120 ] ], - [ [ "birchbark", 720 ], [ "pine_bough", 720 ] ], - [ [ "log", 120 ] ], - [ [ "material_soil", 2400 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_rock.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_rock.json deleted file mode 100644 index ab35575efcf6..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_rock.json +++ /dev/null @@ -1,251 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_east", - "description": "We could use a large stone central storage building. Begin by building the east wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room0_rock_east", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east" } ], - "blueprint_needs": { - "time": "3 d 2 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "mortar_adobe", 24 ], [ "mortar_build", 24 ] ], [ [ "pebble", 600 ] ], [ [ "rock", 288 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_west", - "description": "We could use a large stone central storage building. Continue by building the west wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room1_rock_west", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west" } ], - "blueprint_needs": { - "time": "3 d 2 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "mortar_adobe", 24 ], [ "mortar_build", 24 ] ], [ [ "pebble", 600 ] ], [ [ "rock", 288 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_northwest", - "description": "We could use a large stone central storage building. Continue by building the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room2_rock_northwest", - "blueprint_name": "northwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest" } ], - "blueprint_needs": { - "time": "1 d 2 h 25 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 30 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_southwest", - "description": "We could use a large stone central storage building. Continue by building the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room3_rock_southwest", - "blueprint_name": "southwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest" } ], - "blueprint_needs": { - "time": "1 d 2 h 25 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 30 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_northeast", - "description": "We could use a large stone central storage building. Continue by building the northeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room4_rock_northeast", - "blueprint_name": "northeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast" } ], - "blueprint_needs": { - "time": "1 d 2 h 25 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 30 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_southeast", - "description": "We could use a large stone central storage building. Continue by building the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room5_rock_southeast", - "blueprint_name": "southeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast" } ], - "blueprint_needs": { - "time": "1 d 2 h 25 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 15 ], [ "log", 2 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 30 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_south", - "description": "We could use a large stone central storage building. Continue by building the southern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room6_rock_south", - "blueprint_name": "south storeroom entrance", - "blueprint_requires": [ { "id": "fbms_southeast" }, { "id": "fbms_southwest" } ], - "blueprint_provides": [ { "id": "fbms_south" } ], - "blueprint_excludes": [ { "id": "fbms_south" } ], - "blueprint_needs": { - "time": "1 d 10 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 4 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 132 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_north", - "description": "We could use a large stone central storage building. Continue by building the northern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room7_rock_north", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_northeast" }, { "id": "fbms_northwest" } ], - "blueprint_provides": [ { "id": "fbms_north" } ], - "blueprint_excludes": [ { "id": "fbms_north" } ], - "blueprint_needs": { - "time": "1 d 10 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 58 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 4 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 132 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_rock_center", - "description": "We could use a large stone central storage building. Continue by filling in the floor.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room8_rock_center", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_north" }, { "id": "fbms_south" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center" } ], - "blueprint_needs": { - "time": "10 h", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "HAMMER" } ] ], "components": [ ] } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wad.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wad.json deleted file mode 100644 index 1245597baf82..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wad.json +++ /dev/null @@ -1,338 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_east", - "description": "We could use a large wattle and daub central storage building. Begin by building the east wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room0_wad_east", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east" } ], - "blueprint_needs": { - "time": "1 d 20 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 168 ], [ "stick", 168 ] ], - [ [ "birchbark", 144 ], [ "pine_bough", 144 ] ], - [ - [ "cattail_stalk", 96 ], - [ "dogbane", 96 ], - [ "material_sand", 240 ], - [ "pebble", 240 ], - [ "pine_bough", 96 ], - [ "straw_pile", 96 ], - [ "withered", 96 ] - ], - [ [ "material_soil", 960 ] ], - [ [ "log", 24 ] ], - [ [ "water", 120 ], [ "water_clean", 120 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_west", - "description": "We could use a large wattle and daub central storage building. Continue by building the west wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room1_wad_west", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west" } ], - "blueprint_needs": { - "time": "1 d 20 h", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 168 ], [ "stick", 168 ] ], - [ [ "birchbark", 144 ], [ "pine_bough", 144 ] ], - [ - [ "cattail_stalk", 96 ], - [ "dogbane", 96 ], - [ "material_sand", 240 ], - [ "pebble", 240 ], - [ "pine_bough", 96 ], - [ "straw_pile", 96 ], - [ "withered", 96 ] - ], - [ [ "material_soil", 960 ] ], - [ [ "log", 24 ] ], - [ [ "water", 120 ], [ "water_clean", 120 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_northwest", - "description": "We could use a large wattle and daub central storage building. Continue by building the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room2_wad_northwest", - "blueprint_name": "northwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest" } ], - "blueprint_needs": { - "time": "15 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 61 ], [ "stick", 61 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ - [ "cattail_stalk", 36 ], - [ "dogbane", 36 ], - [ "material_sand", 90 ], - [ "pebble", 90 ], - [ "pine_bough", 36 ], - [ "straw_pile", 36 ], - [ "withered", 36 ] - ], - [ [ "material_soil", 340 ] ], - [ [ "log", 8 ] ], - [ [ "water", 45 ], [ "water_clean", 45 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_southwest", - "description": "We could use a large wattle and daub central storage building. Continue by building the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room3_wad_southwest", - "blueprint_name": "southwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest" } ], - "blueprint_needs": { - "time": "15 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 61 ], [ "stick", 61 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ - [ "cattail_stalk", 36 ], - [ "dogbane", 36 ], - [ "material_sand", 90 ], - [ "pebble", 90 ], - [ "pine_bough", 36 ], - [ "straw_pile", 36 ], - [ "withered", 36 ] - ], - [ [ "material_soil", 340 ] ], - [ [ "log", 8 ] ], - [ [ "water", 45 ], [ "water_clean", 45 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_northeast", - "description": "We could use a large wattle and daub central storage building. Continue by building the northeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room4_wad_northeast", - "blueprint_name": "northeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast" } ], - "blueprint_needs": { - "time": "15 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 61 ], [ "stick", 61 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ - [ "cattail_stalk", 36 ], - [ "dogbane", 36 ], - [ "material_sand", 90 ], - [ "pebble", 90 ], - [ "pine_bough", 36 ], - [ "straw_pile", 36 ], - [ "withered", 36 ] - ], - [ [ "material_soil", 340 ] ], - [ [ "log", 8 ] ], - [ [ "water", 45 ], [ "water_clean", 45 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_southeast", - "description": "We could use a large wattle and daub central storage building. Continue by building the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room5_wad_southeast", - "blueprint_name": "southeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast" } ], - "blueprint_needs": { - "time": "15 h 30 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 61 ], [ "stick", 61 ] ], - [ [ "birchbark", 48 ], [ "pine_bough", 48 ] ], - [ - [ "cattail_stalk", 36 ], - [ "dogbane", 36 ], - [ "material_sand", 90 ], - [ "pebble", 90 ], - [ "pine_bough", 36 ], - [ "straw_pile", 36 ], - [ "withered", 36 ] - ], - [ [ "material_soil", 340 ] ], - [ [ "log", 8 ] ], - [ [ "water", 45 ], [ "water_clean", 45 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_south", - "description": "We could use a large wattle and daub central storage building. Continue by building the southern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room6_wad_south", - "blueprint_name": "south storeroom entrance", - "blueprint_requires": [ { "id": "fbms_southeast" }, { "id": "fbms_southwest" } ], - "blueprint_provides": [ { "id": "fbms_south" } ], - "blueprint_excludes": [ { "id": "fbms_south" } ], - "blueprint_needs": { - "time": "2 d 11 h 20 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 182 ] ], - [ [ "birchbark", 288 ], [ "pine_bough", 288 ] ], - [ - [ "cattail_stalk", 40 ], - [ "dogbane", 40 ], - [ "material_sand", 100 ], - [ "pebble", 100 ], - [ "pine_bough", 40 ], - [ "straw_pile", 40 ], - [ "withered", 40 ] - ], - [ [ "material_soil", 1160 ] ], - [ [ "log", 48 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 50 ], [ "water_clean", 50 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_north", - "description": "We could use a large wattle and daub central storage building. Continue by building the northern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room7_wad_north", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_northeast" }, { "id": "fbms_northwest" } ], - "blueprint_provides": [ { "id": "fbms_north" } ], - "blueprint_excludes": [ { "id": "fbms_north" } ], - "blueprint_needs": { - "time": "2 d 11 h 20 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 182 ] ], - [ [ "birchbark", 288 ], [ "pine_bough", 288 ] ], - [ - [ "cattail_stalk", 40 ], - [ "dogbane", 40 ], - [ "material_sand", 100 ], - [ "pebble", 100 ], - [ "pine_bough", 40 ], - [ "straw_pile", 40 ], - [ "withered", 40 ] - ], - [ [ "material_soil", 1160 ] ], - [ [ "log", 48 ] ], - [ [ "nail", 48 ] ], - [ [ "rope_6", 4 ], [ "rope_makeshift_6", 4 ] ], - [ [ "water", 50 ], [ "water_clean", 50 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wad_center", - "description": "We could use a large wattle and daub central storage building. Continue by filling in the floor.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room8_wad_center", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_north" }, { "id": "fbms_south" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center" } ], - "blueprint_needs": { - "time": "5 d", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 240 ], [ "stick", 240 ], [ "stick_long", 120 ] ], - [ [ "birchbark", 720 ], [ "pine_bough", 720 ] ], - [ [ "log", 120 ] ], - [ [ "material_soil", 2400 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wood.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wood.json deleted file mode 100644 index f74c7a9e030e..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wood.json +++ /dev/null @@ -1,388 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_storehouse_0", - "description": "Survey land for a storage building.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_storehouse_0", - "blueprint_name": "Storage Building survey", - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_provides": [ { "id": "fbms_0" } ] - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_east", - "description": "We could use a large wood panel central storage building. Begin by building the east wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room0_wood_east", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east" } ], - "blueprint_needs": { - "time": "20 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 120 ] ], [ [ "nail", 480 ] ], [ [ "wood_panel", 24 ], [ "wood_sheet", 12 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_west", - "description": "We could use a large wood panel central storage building. Continue by building the west wing.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room1_wood_west", - "blueprint_name": "east storage wing", - "blueprint_requires": [ { "id": "fbms_0" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west" } ], - "blueprint_needs": { - "time": "20 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 120 ] ], [ [ "nail", 480 ] ], [ [ "wood_panel", 24 ], [ "wood_sheet", 12 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_northwest", - "description": "We could use a large wood panel central storage building. Continue by building the northwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room2_wood_northwest", - "blueprint_name": "northwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest" } ], - "blueprint_needs": { - "time": "8 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 55 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 190 ] ], [ [ "wood_panel", 8 ], [ "wood_sheet", 4 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_southwest", - "description": "We could use a large wood panel central storage building. Continue by building the southwest corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room3_wood_southwest", - "blueprint_name": "southwest storeroom corner", - "blueprint_requires": [ { "id": "fbms_west" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest" } ], - "blueprint_needs": { - "time": "8 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 55 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 190 ] ], [ [ "wood_panel", 8 ], [ "wood_sheet", 4 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_northeast", - "description": "We could use a large wood panel central storage building. Continue by building the northeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room4_wood_northeast", - "blueprint_name": "northeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast" } ], - "blueprint_needs": { - "time": "8 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 55 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 190 ] ], [ [ "wood_panel", 8 ], [ "wood_sheet", 4 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_southeast", - "description": "We could use a large wood panel central storage building. Continue by building the southeast corner.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room5_wood_southeast", - "blueprint_name": "southeast storeroom corner", - "blueprint_requires": [ { "id": "fbms_east" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast" } ], - "blueprint_needs": { - "time": "8 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 55 ] ], [ [ "glass_sheet", 1 ] ], [ [ "nail", 190 ] ], [ [ "wood_panel", 8 ], [ "wood_sheet", 4 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_south", - "description": "We could use a large wood panel central storage building. Continue by building the southern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room6_wood_south", - "blueprint_name": "south storeroom entrance", - "blueprint_requires": [ { "id": "fbms_southeast" }, { "id": "fbms_southwest" } ], - "blueprint_provides": [ { "id": "fbms_south" } ], - "blueprint_excludes": [ { "id": "fbms_south" } ], - "blueprint_needs": { - "time": "16 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 98 ] ], [ [ "glass_sheet", 2 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 292 ] ], [ [ "wood_panel", 10 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_north", - "description": "We could use a large wood panel central storage building. Continue by building the northern entrance.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room7_wood_north", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_northeast" }, { "id": "fbms_northwest" } ], - "blueprint_provides": [ { "id": "fbms_north" } ], - "blueprint_excludes": [ { "id": "fbms_north" } ], - "blueprint_needs": { - "time": "16 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 98 ] ], [ [ "glass_sheet", 2 ] ], [ [ "hinge", 4 ] ], [ [ "nail", 292 ] ], [ [ "wood_panel", 10 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_storehouse_wood_center", - "description": "We could use a large wood panel central storage building. Continue by filling in the floor.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_room8_wood_center", - "blueprint_name": "north storeroom entrance", - "blueprint_requires": [ { "id": "fbms_north" }, { "id": "fbms_south" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center" } ], - "blueprint_needs": { - "time": "10 h", - "skills": [ [ "fabrication", 0 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "HAMMER" } ] ], "components": [ ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_furniture1_west", - "description": "We could use some storage containers. Lets build some book cases to in the western alcove.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_furniture1_west", - "blueprint_name": "bookcases, west", - "blueprint_requires": [ { "id": "fbms_center" } ], - "blueprint_provides": [ { "id": "fbms_west" } ], - "blueprint_excludes": [ { "id": "fbms_west", "amount": 2 } ], - "blueprint_needs": { - "time": "11 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 72 ] ], [ [ "wood_sheet", 14 ], [ "wood_panel", 22 ] ], [ [ "nail", 176 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_furniture2_east", - "description": "We could use some storage containers. Lets build some lockers in the eastern alcove.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_furniture2_east", - "blueprint_name": "lockers, east", - "blueprint_requires": [ { "id": "fbms_center" } ], - "blueprint_provides": [ { "id": "fbms_east" } ], - "blueprint_excludes": [ { "id": "fbms_east", "amount": 2 } ], - "blueprint_needs": { - "time": "11 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "sheet_metal", 16 ] ], - [ [ "pipe", 64 ] ], - [ [ "lock", 8 ] ], - [ [ "2x4", 24 ] ], - [ [ "wood_sheet", 6 ], [ "wood_panel", 6 ] ], - [ [ "nail", 48 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_furniture3_center", - "description": "We could use some storage containers. Lets build some tables.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_furniture3_center", - "blueprint_name": "tables, center", - "blueprint_requires": [ { "id": "fbms_center" } ], - "blueprint_provides": [ { "id": "fbms_center" } ], - "blueprint_excludes": [ { "id": "fbms_center", "amount": 2 } ], - "blueprint_needs": { - "time": "12 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ [ [ "2x4", 96 ] ], [ [ "wood_sheet", 24 ], [ "wood_panel", 24 ] ], [ [ "nail", 192 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_decorative1_northwest", - "description": "Some benches around the outside would be nice. Build some to the northwest.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_decorative1_northwest", - "blueprint_name": "benches, northwest", - "blueprint_requires": [ { "id": "fbms_center" } ], - "blueprint_provides": [ { "id": "fbms_northwest" } ], - "blueprint_excludes": [ { "id": "fbms_northwest", "amount": 2 } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 16 ] ], [ [ "nail", 40 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_decorative2_northeast", - "description": "Some benches around the outside would be nice. Build some to the northeast.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_decorative2_northeast", - "blueprint_name": "benches, northeast", - "blueprint_requires": [ { "id": "fbms_center" } ], - "blueprint_provides": [ { "id": "fbms_northeast" } ], - "blueprint_excludes": [ { "id": "fbms_northeast", "amount": 2 } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 16 ] ], [ [ "nail", 40 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_decorative3_southeast", - "description": "Some benches around the outside would be nice. Build some to the southeast.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_decorative3_southeast", - "blueprint_name": "benches, southeast", - "blueprint_requires": [ { "id": "fbms_center" } ], - "blueprint_provides": [ { "id": "fbms_southeast" } ], - "blueprint_excludes": [ { "id": "fbms_southeast", "amount": 2 } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 16 ] ], [ [ "nail", 40 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_decorative4_southwest", - "description": "Some benches around the outside would be nice. Build some to the southwest.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbms_decorative4_southwest", - "blueprint_name": "benches, southwest", - "blueprint_requires": [ { "id": "fbms_center" } ], - "blueprint_provides": [ { "id": "fbms_southwest" } ], - "blueprint_excludes": [ { "id": "fbms_southwest", "amount": 2 } ], - "blueprint_needs": { - "time": "2 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 16 ] ], [ [ "nail", 40 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop.rock.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop.rock.json deleted file mode 100644 index 6aba0cd0a78d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop.rock.json +++ /dev/null @@ -1,240 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_workshop_room0_rock_northeast", - "description": "We can use a rock workshop. Let's start by building a spot to protect the workers from the rain.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room0_rock_northeast", - "blueprint_name": "northeast wall", - "blueprint_requires": [ { "id": "fbmw_0" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast" } ], - "blueprint_needs": { - "time": "3 d 10 h 30 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 230 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "mortar_adobe", 18 ], [ "mortar_build", 18 ] ], - [ [ "nail", 560 ] ], - [ [ "pebble", 450 ] ], - [ [ "rock", 216 ] ], - [ [ "wood_panel", 25 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room3_rock_north", - "description": "Let's extend the north rock wall to the west and add some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room3_rock_north", - "blueprint_name": "north wall", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_provides": [ { "id": "fbmw_north" } ], - "blueprint_excludes": [ { "id": "fbmw_north" } ], - "blueprint_needs": { - "time": "2 d 5 h 40 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 130 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 12 ], [ "mortar_build", 12 ] ], - [ [ "nail", 392 ] ], - [ [ "pebble", 300 ] ], - [ [ "rock", 144 ] ], - [ [ "wood_panel", 23 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room4_rock_east", - "description": "Let's expand our production by adding another charcoal kiln.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room4_rock_east", - "blueprint_name": "east forge wall", - "blueprint_requires": [ { "id": "fbmw_north" } ], - "blueprint_provides": [ { "id": "fbmw_east" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmw_east" } ], - "blueprint_needs": { - "time": "2 d 13 h 55 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 281 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "material_soil", 2 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 746 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 136 ] ], - [ [ "wood_panel", 39 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room5_rock_center", - "description": "Let's expand work area with a rock wall, and add add a bookshelf for our reference books.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room5_rock_center", - "blueprint_name": "west forge wall", - "blueprint_requires": [ { "id": "fbmw_east" } ], - "blueprint_provides": [ { "id": "fbmw_center" } ], - "blueprint_excludes": [ { "id": "fbmw_center" } ], - "blueprint_needs": { - "time": "1 d 19 h 5 m", - "skills": [ [ "fabrication", 6 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 152 ] ], - [ [ "blanket", 1 ], [ "down_blanket", 1 ], [ "fur_blanket", 1 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "mortar_adobe", 8 ], [ "mortar_build", 8 ] ], - [ [ "nail", 372 ] ], - [ [ "pebble", 200 ] ], - [ [ "rock", 96 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room6_rock_north", - "description": "Let's expand our production by adding a rock walled pottery kiln area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room6_rock_north", - "blueprint_name": "north pottery wall", - "blueprint_requires": [ { "id": "fbmw_center" } ], - "blueprint_provides": [ { "id": "fbmw_north" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "hammer", 1 ] ], [ [ "swage", 1 ] ] ], - "blueprint_needs": { - "time": "1 d 16 h 10 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 100 ], [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 132 ] ], - [ [ "mortar_adobe", 7 ], [ "mortar_build", 7 ] ], - [ [ "nail", 380 ] ], - [ [ "pebble", 150 ] ], - [ [ "pipe", 16 ] ], - [ [ "rock", 112 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "sheet_metal_small", 8 ] ], - [ [ "water", 2 ], [ "water_clean", 2 ] ], - [ [ "wood_panel", 23 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room7to9_rock_northwest", - "description": "Let's enclose this pottery with rock walls and get some more storage set up.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room7to9_rock_northwest", - "blueprint_name": "northwest and south pottery wall", - "blueprint_requires": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northwest" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmw_northwest" } ], - "blueprint_needs": { - "time": "3 d 17 h 10 m", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 166 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "mortar_adobe", 22 ], [ "mortar_build", 22 ] ], - [ [ "nail", 526 ] ], - [ [ "pebble", 550 ] ], - [ [ "rock", 264 ] ], - [ [ "wood_panel", 31 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room11to12_rock_southeast", - "description": "Let's expand the workspace for larger projects and add a drop hammer for productivity.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room11to12_rock_southeast", - "blueprint_name": "openair, covered work space", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmw_southeast" }, { "id": "fbmw_south" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmw_northsoutheast" }, { "id": "fbmw_south" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ], - "blueprint_needs": { - "time": "4 d 10 h", - "skills": [ [ "fabrication", 6 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 352 ] ], - [ [ "anvil", 1 ] ], - [ [ "chain", 4 ] ], - [ [ "metal_tank", 2 ] ], - [ [ "mortar_adobe", 20 ], [ "mortar_build", 20 ] ], - [ [ "nail", 880 ] ], - [ [ "pebble", 500 ] ], - [ [ "pipe", 3 ] ], - [ [ "rock", 240 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 44 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_common.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_common.json deleted file mode 100644 index 0b8711cebb3a..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_common.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_workshop_room1_common_northeast", - "description": "Let's install a metal working forge and a charcoal kiln. We'll need a few tools too, so we'll include some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room1_common_northeast", - "blueprint_name": "forge and kiln", - "blueprint_requires": [ { "id": "fbmw_northeast" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" }, { "id": "blacksmith" }, { "id": "blacksmith_recipes_1" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast", "amount": 2 } ], - "blueprint_resources": [ "fake_forge", "fake_char_kiln", "crucible", "makeshift_hammer" ], - "components": [ [ [ "crucible", 1 ], [ "crucible_clay", 1 ] ], [ [ "primitive_hammer", 1 ], [ "makeshift_hammer", 1 ] ] ], - "blueprint_needs": { - "time": "5 h 30 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "SAW_W" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH" } ] ], - "components": [ - [ [ "2x4", 4 ] ], - [ [ "lock", 1 ] ], - [ [ "material_soil", 5 ] ], - [ [ "nail", 8 ] ], - [ [ "pipe", 8 ] ], - [ [ "rock", 80 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "wood_panel", 1 ], [ "wood_sheet", 1 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room2_common_northeast", - "description": "Let's install an anvil, some quenching containers and a workbench.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room2_common_northeast", - "blueprint_name": "anvil and workbench", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northeast" }, { "id": "blacksmith_recipes_2" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_resources": [ "anvil" ], - "components": [ [ [ "anvil", 1 ] ], [ [ "55gal_drum", 1 ] ], [ [ "30gal_drum", 1 ] ] ], - "blueprint_needs": { - "time": "4 h 20 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "oxy_torch", 30 ], [ "toolset", 225 ], [ "welder", 150 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ] ], - "components": [ - [ [ "2x4", 6 ] ], - [ [ "nail", 40 ] ], - [ [ "pipe", 24 ] ], - [ [ "sheet_metal", 6 ] ], - [ [ "sheet_metal_small", 12 ] ], - [ [ "wood_panel", 4 ], [ "wood_sheet", 2 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room10_common_northeast", - "description": "Let's install a bellows for our forge and add some more tools.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room10_common_northeast", - "blueprint_name": "bellows", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 }, { "id": "fbmw_northwest" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" }, { "id": "blacksmith_recipes_6" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_resources": [ "hammer_sledge", "copper_knife" ], - "components": [ [ [ "hammer_sledge", 1 ] ], [ [ "knife_combat", 1 ], [ "copper_knife", 1 ] ] ], - "blueprint_needs": { - "time": "1 h", - "skills": [ [ "fabrication", 1 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER" } ] ], - "components": [ [ [ "2x4", 4 ] ], [ [ "leather", 12 ] ], [ [ "scrap", 20 ] ], [ [ "wire", 8 ] ] ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_log.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_log.json deleted file mode 100644 index 5c59c80bdde9..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_log.json +++ /dev/null @@ -1,223 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_workshop_room0_log_northeast", - "description": "We can use a log workshop. Let's start by building a spot to protect the workers from the rain.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room0_log_northeast", - "blueprint_name": "northeast wall", - "blueprint_requires": [ { "id": "fbmw_0" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast" } ], - "blueprint_needs": { - "time": "2 d 3 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 284 ] ], [ [ "glass_sheet", 2 ] ], [ [ "log", 36 ] ], [ [ "nail", 560 ] ], [ [ "wood_panel", 25 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room3_log_north", - "description": "Let's extend the north log wall to the west and add some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room3_log_north", - "blueprint_name": "north wall", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_provides": [ { "id": "fbmw_north" } ], - "blueprint_excludes": [ { "id": "fbmw_north" } ], - "blueprint_needs": { - "time": "1 d 8 h 40 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 166 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 24 ] ], - [ [ "nail", 392 ] ], - [ [ "wood_panel", 23 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room4_log_east", - "description": "Let's expand our production by adding another charcoal kiln.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room4_log_east", - "blueprint_name": "east forge wall", - "blueprint_requires": [ { "id": "fbmw_north" } ], - "blueprint_provides": [ { "id": "fbmw_east" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmw_east" } ], - "blueprint_needs": { - "time": "1 d 23 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 305 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 16 ] ], - [ [ "material_soil", 2 ] ], - [ [ "nail", 746 ] ], - [ [ "rock", 40 ] ], - [ [ "wood_panel", 39 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room5_log_center", - "description": "Let's expand work area with a log wall, and add add a bookshelf for our reference books.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room5_log_center", - "blueprint_name": "west forge wall", - "blueprint_requires": [ { "id": "fbmw_east" } ], - "blueprint_provides": [ { "id": "fbmw_center" } ], - "blueprint_excludes": [ { "id": "fbmw_center" } ], - "blueprint_needs": { - "time": "1 d 5 h 5 m", - "skills": [ [ "fabrication", 3 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 176 ] ], - [ [ "blanket", 1 ], [ "down_blanket", 1 ], [ "fur_blanket", 1 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "log", 16 ] ], - [ [ "nail", 372 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room6_log_north", - "description": "Let's expand our production by adding a log walled pottery kiln area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room6_log_north", - "blueprint_name": "north pottery wall", - "blueprint_requires": [ { "id": "fbmw_center" } ], - "blueprint_provides": [ { "id": "fbmw_north" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "hammer", 1 ] ], [ [ "swage", 1 ] ] ], - "blueprint_needs": { - "time": "1 d 5 h 40 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 100 ], [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 150 ] ], - [ [ "clay_lump", 12 ], [ "material_cement", 50 ], [ "mortar_adobe", 1 ], [ "mortar_build", 1 ] ], - [ [ "log", 12 ] ], - [ [ "nail", 380 ] ], - [ [ "pipe", 16 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "sheet_metal_small", 8 ] ], - [ [ "water", 2 ], [ "water_clean", 2 ] ], - [ [ "wood_panel", 23 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room7to9_log_northwest", - "description": "Let's enclose this pottery with log walls and get some more storage set up.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room7to9_log_northwest", - "blueprint_name": "northwest and south pottery wall", - "blueprint_requires": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northwest" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmw_northwest" } ], - "blueprint_needs": { - "time": "2 d 2 h 40 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 232 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "log", 44 ] ], - [ [ "nail", 526 ] ], - [ [ "wood_panel", 31 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room11to12_log_southeast", - "description": "Let's expand the workspace for larger projects and add a drop hammer for productivity.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room11to12_log_southeast", - "blueprint_name": "openair, covered work space", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmw_southeast" }, { "id": "fbmw_south" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmw_northsoutheast" }, { "id": "fbmw_south" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ], - "blueprint_needs": { - "time": "2 d 23 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 412 ] ], - [ [ "anvil", 1 ] ], - [ [ "chain", 4 ] ], - [ [ "log", 40 ] ], - [ [ "metal_tank", 2 ] ], - [ [ "nail", 880 ] ], - [ [ "pipe", 3 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 44 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_metal.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_metal.json deleted file mode 100644 index d03c1c617557..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_metal.json +++ /dev/null @@ -1,272 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_workshop_room0_metal_northeast", - "description": "We can use a metal workshop. Let's start by building a spot to protect the workers from the rain.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room0_metal_northeast", - "blueprint_name": "northeast wall", - "blueprint_requires": [ { "id": "fbmw_0" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast" } ], - "blueprint_needs": { - "time": "2 d 12 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 900 ], [ "oxy_torch", 180 ], [ "toolset", 1350 ], [ "welder", 900 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 230 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "nail", 560 ] ], - [ [ "steel_plate", 36 ] ], - [ [ "wood_panel", 25 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room3_metal_north", - "description": "Let's extend the north metal wall to the west and add some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room3_metal_north", - "blueprint_name": "north wall", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_provides": [ { "id": "fbmw_north" } ], - "blueprint_excludes": [ { "id": "fbmw_north" } ], - "blueprint_needs": { - "time": "1 d 13 h 40 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 600 ], [ "oxy_torch", 120 ], [ "toolset", 900 ], [ "welder", 600 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 112 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 272 ] ], - [ [ "pipe", 36 ] ], - [ [ "sheet_metal", 6 ] ], - [ [ "steel_plate", 24 ] ], - [ [ "wood_panel", 11 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room4_metal_east", - "description": "Let's expand our production by adding another charcoal kiln.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room4_metal_east", - "blueprint_name": "east forge wall", - "blueprint_requires": [ { "id": "fbmw_north" } ], - "blueprint_provides": [ { "id": "fbmw_east" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmw_east" } ], - "blueprint_needs": { - "time": "2 d 3 h 15 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 400 ], [ "oxy_torch", 80 ], [ "toolset", 600 ], [ "welder", 400 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 269 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "material_soil", 2 ] ], - [ [ "nail", 666 ] ], - [ [ "pipe", 24 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "steel_plate", 16 ] ], - [ [ "wood_panel", 31 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room5_metal_center", - "description": "Let's expand work area with a metal wall, and add add a bookshelf for our reference books.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room5_metal_center", - "blueprint_name": "west forge wall", - "blueprint_requires": [ { "id": "fbmw_east" } ], - "blueprint_provides": [ { "id": "fbmw_center" } ], - "blueprint_excludes": [ { "id": "fbmw_center" } ], - "blueprint_needs": { - "time": "1 d 8 h 45 m", - "skills": [ [ "fabrication", 4 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 400 ], [ "oxy_torch", 80 ], [ "toolset", 600 ], [ "welder", 400 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 146 ] ], - [ [ "blanket", 1 ], [ "down_blanket", 1 ], [ "fur_blanket", 1 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "nail", 332 ] ], - [ [ "pipe", 12 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "steel_plate", 16 ] ], - [ [ "wood_panel", 15 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room6_metal_north", - "description": "Let's expand our production by adding a metal walled pottery kiln area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room6_metal_north", - "blueprint_name": "north pottery wall", - "blueprint_requires": [ { "id": "fbmw_center" } ], - "blueprint_provides": [ { "id": "fbmw_north" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "hammer", 1 ] ], [ [ "swage", 1 ] ] ], - "blueprint_needs": { - "time": "1 d 8 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 400 ], [ "oxy_torch", 80 ], [ "toolset", 600 ], [ "welder", 400 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 120 ] ], - [ [ "clay_lump", 12 ], [ "material_cement", 50 ], [ "mortar_adobe", 1 ], [ "mortar_build", 1 ] ], - [ [ "nail", 300 ] ], - [ [ "pipe", 40 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 8 ] ], - [ [ "sheet_metal_small", 8 ] ], - [ [ "steel_plate", 12 ] ], - [ [ "water", 2 ], [ "water_clean", 2 ] ], - [ [ "wood_panel", 15 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room7to9_metal_northwest", - "description": "Let's enclose this pottery with metal walls and get some more storage set up.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room7to9_metal_northwest", - "blueprint_name": "northwest and south pottery wall", - "blueprint_requires": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northwest" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmw_northwest" } ], - "blueprint_needs": { - "time": "2 d 12 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1100 ], [ "oxy_torch", 220 ], [ "toolset", 1650 ], [ "welder", 1100 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "WRENCH" } ] - ], - "components": [ - [ [ "2x4", 136 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "hinge", 2 ] ], - [ [ "nail", 326 ] ], - [ [ "pipe", 60 ] ], - [ [ "sheet_metal", 10 ] ], - [ [ "steel_plate", 44 ] ], - [ [ "wood_panel", 11 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room11to12_metal_southeast", - "description": "Let's expand the workspace for larger projects and add a drop hammer for productivity.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room11to12_metal_southeast", - "blueprint_name": "openair, covered work space", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmw_southeast" }, { "id": "fbmw_south" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmw_northsoutheast" }, { "id": "fbmw_south" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ], - "blueprint_needs": { - "time": "3 d 9 h", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 1000 ], [ "oxy_torch", 200 ], [ "toolset", 1500 ], [ "welder", 1000 ] ] ], - "qualities": [ - [ { "id": "DIG" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 352 ] ], - [ [ "anvil", 1 ] ], - [ [ "chain", 4 ] ], - [ [ "metal_tank", 2 ] ], - [ [ "nail", 880 ] ], - [ [ "pipe", 3 ] ], - [ [ "steel_plate", 40 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 44 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_migo_resin.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_migo_resin.json deleted file mode 100644 index a4d0b7ac4e83..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_migo_resin.json +++ /dev/null @@ -1,199 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_workshop_room0_migo_resin_northeast", - "description": "We can use a mi-go resin workshop. Let's start by building a spot to protect the workers from the rain.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room0_migo_resin_northeast", - "blueprint_name": "northeast wall", - "blueprint_requires": [ { "id": "fbmw_0" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast" } ], - "blueprint_needs": { - "time": "1 d 22 h", - "skills": [ [ "fabrication", 2 ] ], - "inline": { "tools": [ ], "qualities": [ [ { "id": "SMOOTH" } ] ], "components": [ [ [ "alien_pod_resin", 70 ] ] ] } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room3_migo_resin_north", - "description": "Let's extend the north mi-go resin wall to the west and add some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room3_migo_resin_north", - "blueprint_name": "north wall", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_provides": [ { "id": "fbmw_north" } ], - "blueprint_excludes": [ { "id": "fbmw_north" } ], - "blueprint_needs": { - "time": "1 d 2 h 25 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ] ], - "components": [ [ [ "2x4", 21 ] ], [ [ "alien_pod_resin", 35 ] ], [ [ "nail", 126 ] ], [ [ "wood_panel", 12 ], [ "wood_sheet", 6 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room4_migo_resin_east", - "description": "Let's expand our production by adding another charcoal kiln.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room4_migo_resin_east", - "blueprint_name": "east forge wall", - "blueprint_requires": [ { "id": "fbmw_north" } ], - "blueprint_provides": [ { "id": "fbmw_east" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmw_east" } ], - "blueprint_needs": { - "time": "2 d 7 h 40 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 12 ] ], - [ [ "alien_pod_resin", 71 ] ], - [ [ "material_soil", 2 ] ], - [ [ "nail", 80 ] ], - [ [ "rock", 40 ] ], - [ [ "wood_panel", 8 ], [ "wood_sheet", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room5_migo_resin_center", - "description": "Let's expand work area with a mi-go resin wall, and add add a bookshelf for our reference books.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room5_migo_resin_center", - "blueprint_name": "west forge wall", - "blueprint_requires": [ { "id": "fbmw_east" } ], - "blueprint_provides": [ { "id": "fbmw_center" } ], - "blueprint_excludes": [ { "id": "fbmw_center" } ], - "blueprint_needs": { - "time": "1 d 3 h 35 m", - "skills": [ [ "fabrication", 3 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 26 ] ], - [ [ "wood_sheet", 4 ], [ "wood_panel", 7 ] ], - [ [ "nail", 72 ] ], - [ [ "blanket", 1 ], [ "down_blanket", 1 ], [ "fur_blanket", 1 ] ], - [ [ "alien_pod_resin", 34 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room6_migo_resin_north", - "description": "Let's expand our production by adding a mi-go resin walled pottery kiln area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room6_migo_resin_north", - "blueprint_name": "north pottery wall", - "blueprint_requires": [ { "id": "fbmw_center" } ], - "blueprint_provides": [ { "id": "fbmw_north" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "hammer", 1 ] ], [ [ "swage", 1 ] ] ], - "blueprint_needs": { - "time": "1 d 7 h 10 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 100 ], [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 12 ] ], - [ [ "alien_pod_resin", 36 ] ], - [ [ "clay_lump", 12 ], [ "material_cement", 50 ], [ "mortar_adobe", 1 ], [ "mortar_build", 1 ] ], - [ [ "nail", 80 ] ], - [ [ "pipe", 16 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "sheet_metal_small", 8 ] ], - [ [ "water", 2 ], [ "water_clean", 2 ] ], - [ [ "wood_panel", 8 ], [ "wood_sheet", 4 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room7to9_migo_resin_northwest", - "description": "Let's enclose this pottery with mi-go resin walls and get some more storage set up.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room7to9_migo_resin_northwest", - "blueprint_name": "northwest and south pottery wall", - "blueprint_requires": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northwest" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmw_northwest" } ], - "blueprint_needs": { - "time": "1 d 10 h 40 m", - "skills": [ [ "fabrication", 2 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W" } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "2x4", 42 ] ], - [ [ "alien_pod_resin", 46 ] ], - [ [ "nail", 230 ] ], - [ [ "wood_panel", 20 ], [ "wood_sheet", 10 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room11to12_migo_resin_southeast", - "description": "Let's expand the workspace for larger projects and add a drop hammer for productivity.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room11to12_migo_resin_southeast", - "blueprint_name": "openair, covered work space", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmw_southeast" }, { "id": "fbmw_south" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmw_northsoutheast" }, { "id": "fbmw_south" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ], - "blueprint_needs": { - "time": "3 d 1 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER" } ], [ { "id": "SMOOTH" } ] ], - "components": [ - [ [ "alien_pod_resin", 108 ] ], - [ [ "metal_tank", 2 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "anvil", 1 ] ], - [ [ "chain", 4 ] ], - [ [ "pipe", 3 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_rammed_earth.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_rammed_earth.json deleted file mode 100644 index 4b8a62cfc982..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_rammed_earth.json +++ /dev/null @@ -1,277 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_workshop_room0_rammed_earth_northeast", - "description": "We can use a rammed earth workshop. Let's start by building a spot to protect the workers from the rain.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room0_rammed_earth_northeast", - "blueprint_name": "northeast wall", - "blueprint_requires": [ { "id": "fbmw_0" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast" } ], - "blueprint_needs": { - "time": "2 d 17 h 45 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 230 ] ], - [ [ "concrete", 9 ], [ "material_quicklime", 180 ], [ "material_sand", 180 ] ], - [ [ "material_soil", 900 ] ], - [ [ "nail", 560 ] ], - [ [ "pointy_stick", 18 ], [ "spear_wood", 18 ] ], - [ [ "water", 450 ], [ "water_clean", 450 ] ], - [ [ "wood_panel", 25 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room3_rammed_earth_north", - "description": "Let's extend the north rammed earth wall to the west and add some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room3_rammed_earth_north", - "blueprint_name": "north wall", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_provides": [ { "id": "fbmw_north" } ], - "blueprint_excludes": [ { "id": "fbmw_north" } ], - "blueprint_needs": { - "time": "1 d 18 h 40 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 134 ] ], - [ [ "concrete", 6 ], [ "material_quicklime", 120 ], [ "material_sand", 120 ] ], - [ [ "material_soil", 600 ] ], - [ [ "nail", 380 ] ], - [ [ "pointy_stick", 12 ], [ "spear_wood", 12 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 300 ], [ "water_clean", 300 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room4_rammed_earth_east", - "description": "Let's expand our production by adding another charcoal kiln.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room4_rammed_earth_east", - "blueprint_name": "east forge wall", - "blueprint_requires": [ { "id": "fbmw_north" } ], - "blueprint_provides": [ { "id": "fbmw_east" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmw_east" } ], - "blueprint_needs": { - "time": "2 d 6 h 25 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 285 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "material_soil", 402 ] ], - [ [ "nail", 734 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "rock", 40 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ], - [ [ "wood_panel", 38 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room5_rammed_earth_center", - "description": "Let's expand work area with a rammed earth wall, and add add a bookshelf for our reference books.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room5_rammed_earth_center", - "blueprint_name": "west forge wall", - "blueprint_requires": [ { "id": "fbmw_east" } ], - "blueprint_provides": [ { "id": "fbmw_center" } ], - "blueprint_excludes": [ { "id": "fbmw_center" } ], - "blueprint_needs": { - "time": "1 d 11 h 5 m", - "skills": [ [ "fabrication", 3 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 152 ] ], - [ [ "blanket", 1 ], [ "down_blanket", 1 ], [ "fur_blanket", 1 ] ], - [ [ "concrete", 4 ], [ "material_quicklime", 80 ], [ "material_sand", 80 ] ], - [ [ "material_soil", 400 ] ], - [ [ "nail", 372 ] ], - [ [ "pointy_stick", 8 ], [ "spear_wood", 8 ] ], - [ [ "water", 200 ], [ "water_clean", 200 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room6_rammed_earth_north", - "description": "Let's expand our production by adding a rammed earth walled pottery kiln area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room6_rammed_earth_north", - "blueprint_name": "north pottery wall", - "blueprint_requires": [ { "id": "fbmw_center" } ], - "blueprint_provides": [ { "id": "fbmw_north" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "hammer", 1 ] ], [ [ "swage", 1 ] ] ], - "blueprint_needs": { - "time": "1 d 10 h 55 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 100 ], [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ], [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 132 ] ], - [ [ "clay_lump", 12 ], [ "material_cement", 50 ], [ "mortar_adobe", 1 ], [ "mortar_build", 1 ] ], - [ [ "concrete", 3 ], [ "material_quicklime", 60 ], [ "material_sand", 60 ] ], - [ [ "material_soil", 300 ] ], - [ [ "nail", 380 ] ], - [ [ "pipe", 16 ] ], - [ [ "pointy_stick", 6 ], [ "spear_wood", 6 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "sheet_metal_small", 8 ] ], - [ [ "water", 152 ], [ "water_clean", 152 ] ], - [ [ "wood_panel", 23 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room7to9_rammed_earth_northwest", - "description": "Let's enclose this pottery with rammed earth walls and get some more storage set up.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room7to9_rammed_earth_northwest", - "blueprint_name": "northwest and south pottery wall", - "blueprint_requires": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northwest" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmw_northwest" } ], - "blueprint_needs": { - "time": "2 d 20 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 170 ] ], - [ [ "concrete", 11 ], [ "material_quicklime", 220 ], [ "material_sand", 220 ] ], - [ [ "material_soil", 1100 ] ], - [ [ "nail", 514 ] ], - [ [ "pointy_stick", 22 ], [ "spear_wood", 22 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 550 ], [ "water_clean", 550 ] ], - [ [ "wood_panel", 30 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room11to12_rammed_earth_southeast", - "description": "Let's expand the workspace for larger projects and add a drop hammer for productivity.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room11to12_rammed_earth_southeast", - "blueprint_name": "openair, covered work space", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmw_southeast" }, { "id": "fbmw_south" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmw_northsoutheast" }, { "id": "fbmw_south" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ], - "blueprint_needs": { - "time": "3 d 16 h 30 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ [ [ "log", -1 ] ] ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ], - [ { "id": "SMOOTH" } ] - ], - "components": [ - [ [ "2x4", 352 ] ], - [ [ "anvil", 1 ] ], - [ [ "chain", 4 ] ], - [ [ "concrete", 10 ], [ "material_quicklime", 200 ], [ "material_sand", 200 ] ], - [ [ "material_soil", 1000 ] ], - [ [ "metal_tank", 2 ] ], - [ [ "nail", 880 ] ], - [ [ "pipe", 3 ] ], - [ [ "pointy_stick", 20 ], [ "spear_wood", 20 ] ], - [ [ "water", 500 ], [ "water_clean", 500 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 44 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_wad.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_wad.json deleted file mode 100644 index f7171f8ad7f7..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_wad.json +++ /dev/null @@ -1,322 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_modular_workshop_room0_wad_northeast", - "description": "We can use a wattle and daub workshop. Let's start by building a spot to protect the workers from the rain.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room0_wad_northeast", - "blueprint_name": "northeast wall", - "blueprint_requires": [ { "id": "fbmw_0" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast" } ], - "blueprint_needs": { - "time": "1 d 17 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 300 ] ], - [ - [ "cattail_stalk", 80 ], - [ "dogbane", 80 ], - [ "material_sand", 200 ], - [ "pebble", 200 ], - [ "pine_bough", 80 ], - [ "straw_pile", 80 ], - [ "withered", 80 ] - ], - [ - [ "clay_lump", 80 ], - [ "material_limestone", 80 ], - [ "material_quicklime", 80 ], - [ "material_soil", 400 ] - ], - [ [ "nail", 500 ] ], - [ [ "water", 100 ], [ "water_clean", 100 ] ], - [ [ "wood_panel", 25 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room3_wad_north", - "description": "Let's extend the north wattle and daub wall to the west and add some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room3_wad_north", - "blueprint_name": "north wall", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_provides": [ { "id": "fbmw_north" } ], - "blueprint_excludes": [ { "id": "fbmw_north" } ], - "blueprint_needs": { - "time": "1 d 2 h 45 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 184 ] ], - [ - [ "cattail_stalk", 52 ], - [ "dogbane", 52 ], - [ "material_sand", 130 ], - [ "pebble", 130 ], - [ "pine_bough", 52 ], - [ "straw_pile", 52 ], - [ "withered", 52 ] - ], - [ - [ "clay_lump", 52 ], - [ "material_limestone", 52 ], - [ "material_quicklime", 52 ], - [ "material_soil", 260 ] - ], - [ [ "nail", 350 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 65 ], [ "water_clean", 65 ] ], - [ [ "wood_panel", 22 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room4_wad_east", - "description": "Let's expand our production by adding another charcoal kiln.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room4_wad_east", - "blueprint_name": "east forge wall", - "blueprint_requires": [ { "id": "fbmw_north" } ], - "blueprint_provides": [ { "id": "fbmw_east" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmw_east" } ], - "blueprint_needs": { - "time": "1 d 19 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 315 ] ], - [ - [ "cattail_stalk", 36 ], - [ "dogbane", 36 ], - [ "material_sand", 90 ], - [ "pebble", 90 ], - [ "pine_bough", 36 ], - [ "straw_pile", 36 ], - [ "withered", 36 ] - ], - [ [ "material_soil", 182 ] ], - [ [ "nail", 704 ] ], - [ [ "rock", 40 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 45 ], [ "water_clean", 45 ] ], - [ [ "wood_panel", 38 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room5_wad_center", - "description": "Let's expand work area with a wattle and daub wall, and add add a bookshelf for our reference books.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room5_wad_center", - "blueprint_name": "west forge wall", - "blueprint_requires": [ { "id": "fbmw_east" } ], - "blueprint_provides": [ { "id": "fbmw_center" } ], - "blueprint_excludes": [ { "id": "fbmw_center" } ], - "blueprint_needs": { - "time": "23 h 55 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 172 ] ], - [ [ "blanket", 1 ], [ "down_blanket", 1 ], [ "fur_blanket", 1 ] ], - [ - [ "cattail_stalk", 40 ], - [ "dogbane", 40 ], - [ "material_sand", 100 ], - [ "pebble", 100 ], - [ "pine_bough", 40 ], - [ "straw_pile", 40 ], - [ "withered", 40 ] - ], - [ - [ "clay_lump", 40 ], - [ "material_limestone", 40 ], - [ "material_quicklime", 40 ], - [ "material_soil", 200 ] - ], - [ [ "nail", 312 ] ], - [ [ "water", 50 ], [ "water_clean", 50 ] ], - [ [ "wood_panel", 19 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room6_wad_north", - "description": "Let's expand our production by adding a wattle and daub walled pottery kiln area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room6_wad_north", - "blueprint_name": "north pottery wall", - "blueprint_requires": [ { "id": "fbmw_center" } ], - "blueprint_provides": [ { "id": "fbmw_north" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "hammer", 1 ] ], [ [ "swage", 1 ] ] ], - "blueprint_needs": { - "time": "1 d 3 h 10 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 100 ], [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ - [ { "id": "CUT" } ], - [ { "id": "GLARE", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "SAW_W", "level": 2 } ] - ], - "components": [ - [ [ "2x4", 162 ] ], - [ - [ "cattail_stalk", 24 ], - [ "dogbane", 24 ], - [ "material_sand", 60 ], - [ "pebble", 60 ], - [ "pine_bough", 24 ], - [ "straw_pile", 24 ], - [ "withered", 24 ] - ], - [ [ "clay_lump", 12 ], [ "material_cement", 50 ], [ "mortar_adobe", 1 ], [ "mortar_build", 1 ] ], - [ - [ "clay_lump", 24 ], - [ "material_limestone", 24 ], - [ "material_quicklime", 24 ], - [ "material_soil", 120 ] - ], - [ [ "nail", 380 ] ], - [ [ "pipe", 16 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "sheet_metal_small", 8 ] ], - [ [ "water", 32 ], [ "water_clean", 32 ] ], - [ [ "wood_panel", 23 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room7to9_wad_northwest", - "description": "Let's enclose this pottery with wattle and daub walls and get some more storage set up.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room7to9_wad_northwest", - "blueprint_name": "northwest and south pottery wall", - "blueprint_requires": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northwest" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmw_northwest" } ], - "blueprint_needs": { - "time": "1 d 15 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 260 ] ], - [ - [ "cattail_stalk", 96 ], - [ "dogbane", 96 ], - [ "material_sand", 240 ], - [ "pebble", 240 ], - [ "pine_bough", 96 ], - [ "straw_pile", 96 ], - [ "withered", 96 ] - ], - [ - [ "clay_lump", 96 ], - [ "material_limestone", 96 ], - [ "material_quicklime", 96 ], - [ "material_soil", 480 ] - ], - [ [ "nail", 454 ] ], - [ [ "rope_6", 2 ], [ "rope_makeshift_6", 2 ] ], - [ [ "water", 120 ], [ "water_clean", 120 ] ], - [ [ "wood_panel", 30 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room11to12_wad_southeast", - "description": "Let's expand the workspace for larger projects and add a drop hammer for productivity.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room11to12_wad_southeast", - "blueprint_name": "openair, covered work space", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmw_southeast" }, { "id": "fbmw_south" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmw_northsoutheast" }, { "id": "fbmw_south" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ], - "blueprint_needs": { - "time": "2 d 14 h 40 m", - "skills": [ [ "survival", 3 ], [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "CUT" } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 452 ] ], - [ [ "anvil", 1 ] ], - [ - [ "cattail_stalk", 80 ], - [ "dogbane", 80 ], - [ "material_sand", 200 ], - [ "pebble", 200 ], - [ "pine_bough", 80 ], - [ "straw_pile", 80 ], - [ "withered", 80 ] - ], - [ [ "chain", 4 ] ], - [ - [ "clay_lump", 80 ], - [ "material_limestone", 80 ], - [ "material_quicklime", 80 ], - [ "material_soil", 400 ] - ], - [ [ "metal_tank", 2 ] ], - [ [ "nail", 880 ] ], - [ [ "pipe", 3 ] ], - [ [ "water", 100 ], [ "water_clean", 100 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 44 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_wood.json b/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_wood.json deleted file mode 100644 index 98153c58669d..000000000000 --- a/data/json/recipes/basecamps/recipe_modular_workshop/recipe_modular_workshop_wood.json +++ /dev/null @@ -1,215 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_workshop_0", - "description": "Survey land for a workshop area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_workshop_0", - "blueprint_name": "workshop survey", - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "blueprint_provides": [ { "id": "fbmw_0" } ] - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room0_wood_northeast", - "description": "We can use a wood panel workshop. Let's start by building a spot to protect the workers from the rain.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room0_wood_northeast", - "blueprint_name": "northeast wall", - "blueprint_requires": [ { "id": "fbmw_0" } ], - "blueprint_provides": [ { "id": "fbmw_northeast" } ], - "blueprint_excludes": [ { "id": "fbmw_northeast" } ], - "blueprint_needs": { - "time": "1 d 18 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 320 ] ], [ [ "glass_sheet", 2 ] ], [ [ "nail", 920 ] ], [ [ "wood_panel", 43 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room3_wood_north", - "description": "Let's extend the north wall to the west and add some storage space.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room3_wood_north", - "blueprint_name": "north wall", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 3 } ], - "blueprint_provides": [ { "id": "fbmw_north" } ], - "blueprint_excludes": [ { "id": "fbmw_north" } ], - "blueprint_needs": { - "time": "1 d 2 h 40 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 190 ] ], [ [ "glass_sheet", 1 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 632 ] ], [ [ "wood_panel", 35 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room4_wood_east", - "description": "Let's expand our production by adding another charcoal kiln.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room4_wood_east", - "blueprint_name": "east forge wall", - "blueprint_requires": [ { "id": "fbmw_north" } ], - "blueprint_provides": [ { "id": "fbmw_east" }, { "id": "blacksmith_recipes_3" } ], - "blueprint_excludes": [ { "id": "fbmw_east" } ], - "blueprint_needs": { - "time": "1 d 19 h 55 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 321 ] ], - [ [ "glass_sheet", 1 ] ], - [ [ "hinge", 2 ] ], - [ [ "material_soil", 2 ] ], - [ [ "nail", 906 ] ], - [ [ "rock", 40 ] ], - [ [ "wood_panel", 47 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room5_wood_center", - "description": "Let's expand work area, and add add a bookshelf for our reference books.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room5_wood_center", - "blueprint_name": "west forge wall", - "blueprint_requires": [ { "id": "fbmw_east" } ], - "blueprint_provides": [ { "id": "fbmw_center" } ], - "blueprint_excludes": [ { "id": "fbmw_center" } ], - "blueprint_needs": { - "time": "1 d 1 h 5 m", - "skills": [ [ "fabrication", 3 ], [ "tailor", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 192 ] ], - [ [ "blanket", 1 ], [ "down_blanket", 1 ], [ "fur_blanket", 1 ] ], - [ [ "glass_sheet", 2 ] ], - [ [ "nail", 532 ] ], - [ [ "wood_panel", 27 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room6_wood_north", - "description": "Let's expand our production by adding a pottery kiln area.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room6_wood_north", - "blueprint_name": "north pottery wall", - "blueprint_requires": [ { "id": "fbmw_center" } ], - "blueprint_provides": [ { "id": "fbmw_north" }, { "id": "blacksmith_recipes_4" } ], - "blueprint_excludes": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "components": [ [ [ "tongs", 1 ] ], [ [ "chisel", 1 ] ], [ [ "hammer", 1 ] ], [ [ "swage", 1 ] ] ], - "blueprint_needs": { - "time": "1 d 2 h 40 m", - "skills": [ [ "fabrication", 4 ] ], - "inline": { - "tools": [ [ [ "fake_gridwelder", 100 ], [ "oxy_torch", 20 ], [ "toolset", 150 ], [ "welder", 100 ] ] ], - "qualities": [ [ { "id": "GLARE", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 162 ] ], - [ [ "clay_lump", 12 ], [ "material_cement", 50 ], [ "mortar_adobe", 1 ], [ "mortar_build", 1 ] ], - [ [ "nail", 500 ] ], - [ [ "pipe", 16 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "sheet_metal_small", 8 ] ], - [ [ "water", 2 ], [ "water_clean", 2 ] ], - [ [ "wood_panel", 29 ] ] - ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room7to9_wood_northwest", - "description": "Let's enclose this pottery and get some more storage set up.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room7to9_wood_northwest", - "blueprint_name": "northwest and south pottery wall", - "blueprint_requires": [ { "id": "fbmw_north", "amount": 2 } ], - "blueprint_provides": [ { "id": "fbmw_northwest" }, { "id": "blacksmith_recipes_5" } ], - "blueprint_excludes": [ { "id": "fbmw_northwest" } ], - "blueprint_needs": { - "time": "1 d 15 h 40 m", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ [ [ "2x4", 276 ] ], [ [ "glass_sheet", 2 ] ], [ [ "hinge", 2 ] ], [ [ "nail", 966 ] ], [ [ "wood_panel", 53 ] ] ] - } - } - }, - { - "type": "recipe", - "result": "faction_base_modular_workshop_room11to12_wood_southeast", - "description": "Let's expand the workspace for larger projects and add a drop hammer for productivity.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "fbmw_room11to12_wood_southeast", - "blueprint_name": "openair, covered work space", - "blueprint_requires": [ { "id": "fbmw_northeast", "amount": 4 } ], - "blueprint_provides": [ { "id": "fbmw_southeast" }, { "id": "fbmw_south" }, { "id": "blacksmith_recipes_7" } ], - "blueprint_excludes": [ { "id": "fbmw_northsoutheast" }, { "id": "fbmw_south" } ], - "blueprint_resources": [ "wrench", "pliers", "fake_drop_hammer" ], - "components": [ [ [ "wrench", 1 ] ], [ [ "pliers", 1 ] ] ], - "blueprint_needs": { - "time": "2 d 13 h", - "skills": [ [ "fabrication", 3 ] ], - "inline": { - "tools": [ ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], - "components": [ - [ [ "2x4", 452 ] ], - [ [ "anvil", 1 ] ], - [ [ "chain", 4 ] ], - [ [ "metal_tank", 2 ] ], - [ [ "nail", 1280 ] ], - [ [ "pipe", 3 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "wood_panel", 64 ] ] - ] - } - } - } -] diff --git a/data/json/recipes/basecamps/recipe_primitive_field.json b/data/json/recipes/basecamps/recipe_primitive_field.json deleted file mode 100644 index b6625ddafed1..000000000000 --- a/data/json/recipes/basecamps/recipe_primitive_field.json +++ /dev/null @@ -1,1249 +0,0 @@ -[ - { - "type": "recipe", - "result": "faction_base_camp_0", - "description": "We need to survey the base site first.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "60 m", - "construction_blueprint": "faction_base_field_camp_0", - "blueprint_name": "basic survey", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_1", - "description": "The first thing we are going to need is a command tent to manage and task workers from.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "180 m", - "construction_blueprint": "faction_base_field_camp_1", - "blueprint_name": "basic northeast tent", - "blueprint_provides": [ { "id": "gathering" }, { "id": "primitive_camp_recipes_1" } ], - "blueprint_requires": [ { "id": "faction_base_camp_0" } ], - "components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_2", - "description": "We're going to need a fire pit and a bed if we want to stay here permanently.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 1, - "autolearn": false, - "never_learn": true, - "time": "180 m", - "construction_blueprint": "faction_base_field_camp_2", - "blueprint_name": "basic firepit", - "blueprint_provides": [ { "id": "bed" }, { "id": "firewood" }, { "id": "foraging" } ], - "blueprint_requires": [ { "id": "faction_base_camp_1" } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ], [ { "id": "HAMMER", "level": 1 } ] ], - "components": [ [ [ "2x4", 8 ] ], [ [ "straw_pile", 16 ], [ "pine_bough", 20 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_3", - "description": "To make this outpost functional we are going to need storage containers to organize our supplies.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "180 m", - "construction_blueprint": "faction_base_field_camp_3", - "blueprint_name": "basic storage", - "blueprint_provides": [ { "id": "sorting" } ], - "blueprint_requires": [ { "id": "faction_base_camp_2" } ], - "qualities": [ [ { "id": "HAMMER", "level": 1 } ] ], - "components": [ [ [ "2x4", 32 ] ], [ [ "nail", 96 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_4", - "description": "Next we should expand the camp to comfortably support two people indefinitely.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "240 m", - "construction_blueprint": "faction_base_field_camp_4", - "blueprint_name": "basic northeast bed", - "blueprint_provides": [ { "id": "bed" }, { "id": "logging" } ], - "blueprint_requires": [ { "id": "faction_base_camp_3" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 24 ] ], - [ [ "nail", 48 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "pipe", 12 ] ], - [ [ "straw_pile", 16 ], [ "pine_bough", 20 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_5", - "description": "Additional housing and storage will allow our camp to expand into specialized industries.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "720 m", - "construction_blueprint": "faction_base_field_camp_5", - "blueprint_name": "basic northwest tent", - "blueprint_provides": [ { "id": "bed", "amount": 2 } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ], - [ [ "2x4", 24 ] ], - [ [ "straw_pile", 32 ], [ "pine_bough", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 12 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_6", - "description": "Constructing a hard command post will transform our little camp into a true base.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "//": "2hrs*14wall + 1 hr crates + 2*28roof + 4hrs pits = 89 hrs", - "time": "89 h", - "construction_blueprint": "faction_base_field_camp_6", - "blueprint_name": "basic central building", - "blueprint_provides": [ { "id": "relaying" } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 16 ] ], [ [ "log", 112 ] ], [ [ "nail", 48 ] ], [ [ "stick", 196 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_7", - "description": "Building additional housing will allow us to send companions out to find recruits.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "720 m", - "construction_blueprint": "faction_base_field_camp_7", - "blueprint_name": "basic west tent", - "blueprint_provides": [ { "id": "bed", "amount": 2 } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ], - [ [ "2x4", 24 ] ], - [ [ "straw_pile", 32 ], [ "pine_bough", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 12 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_8", - "description": "We need to expand our base to include basic dining facilities.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "//": "2hrs*4wall + .5 hr*2tables + .5hr*4benches+ 1hrs pits = 12 hrs", - "time": "12 h", - "construction_blueprint": "faction_base_field_camp_8", - "blueprint_name": "basic central kitchen", - "blueprint_resources": [ "fake_stove" ], - "blueprint_provides": [ { "id": "trapping" }, { "id": "hunting" }, { "id": "walls" }, { "id": "recruiting" } ], - "blueprint_requires": [ { "id": "faction_base_camp_6" } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ], [ { "id": "SAW_M", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "2x4", 28 ] ], - [ [ "log", 16 ] ], - [ [ "nail", 56 ] ], - [ [ "stick", 24 ] ], - [ [ "metal_tank", 1 ] ], - [ [ "pipe", 1 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_9", - "description": "More housing means that we can support additional specialists.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "12 h", - "construction_blueprint": "faction_base_field_camp_9", - "blueprint_name": "basic southeast tent", - "blueprint_provides": [ { "id": "bed", "amount": 2 } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ], - [ [ "2x4", 24 ] ], - [ [ "straw_pile", 32 ], [ "pine_bough", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 12 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_10", - "description": "An expanded kitchen is needed to support our growing settlement.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "//": "2hrs*6wall + 1 hr trash + 2*20roof + 4hrs pits = 53 hrs", - "time": "53 h", - "construction_blueprint": "faction_base_field_camp_10", - "blueprint_requires": [ { "id": "faction_base_camp_8" } ], - "blueprint_name": "basic expanded kitchen", - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 64 ] ], [ [ "stick", 116 ] ], [ [ "sheet_metal", 2 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_11", - "description": "Finishing the hard structure will give us a more secure place to retreat to if we come under attack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "//": "2hrs*5wall + 1.5 hr*2door + 2hrs pits = 15 hrs", - "time": "15 h", - "construction_blueprint": "faction_base_field_camp_11", - "blueprint_name": "basic completed central building", - "blueprint_provides": [ { "id": "scouting" } ], - "blueprint_requires": [ { "id": "faction_base_camp_10" } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 10 ] ], [ [ "stick", 15 ] ], [ [ "2x4", 32 ] ], [ [ "nail", 72 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_12", - "description": "I'm surprised we've made it this long without securing a clean water source, we need a well.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "//": "11.5 hrs (12hrs on/off)", - "time": "12 h", - "construction_blueprint": "faction_base_field_camp_12", - "blueprint_name": "basic water well", - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "WRENCH", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "rock", 40 ] ], [ [ "pipe", 12 ] ], [ [ "2x4", 4 ] ], [ [ "well_pump", 1 ] ], [ [ "nail", 8 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_13", - "description": "Building a strong wall will keep the base secure even if a small horde attacks.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "//": "2hrs*30palisade + .2hrs * 72pits = 75 hrs", - "time": "75 h", - "construction_blueprint": "faction_base_field_camp_13", - "blueprint_name": "basic partial wall", - "blueprint_provides": [ { "id": "patrolling" } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ] ], - "components": [ [ [ "log", 90 ] ], [ [ "rope_makeshift_6", 60 ], [ "rope_6", 60 ], [ "vine_30", 30 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_14", - "description": "We need to finish our half built fortifications.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "//": "2hrs*56palisade + .2hrs * 14pits = 115 hrs", - "time": "115 h", - "construction_blueprint": "faction_base_field_camp_14", - "blueprint_name": "basic complete wall", - "blueprint_requires": [ { "id": "faction_base_camp_13" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ] ], - "components": [ [ [ "log", 168 ] ], [ [ "rope_makeshift_6", 112 ], [ "rope_6", 112 ], [ "vine_30", 112 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_15", - "description": "We're running out of room and need another living quarters.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "720 m", - "construction_blueprint": "faction_base_field_camp_15", - "blueprint_name": "basic east tent", - "blueprint_provides": [ { "id": "bed", "amount": 2 } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ], - [ [ "2x4", 24 ] ], - [ [ "straw_pile", 32 ], [ "pine_bough", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 12 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_16", - "description": "Our kitchen isn't able to keep up with demand, we need to expand it.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "//": "1hr stove+ .5 hr*2tables + .5hr*4benches+ .5hrs 2counter = 5 hrs ", - "time": "370 m", - "construction_blueprint": "faction_base_field_camp_16", - "blueprint_name": "basic dining hall", - "blueprint_requires": [ { "id": "faction_base_camp_11" } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ], [ { "id": "SAW_M", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 40 ] ], [ [ "nail", 72 ] ], [ [ "metal_tank", 1 ] ], [ [ "pipe", 1 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_17", - "description": "We should build stronger doors to secure our compound.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 3, - "autolearn": false, - "never_learn": true, - "//": "3*7doors = 21 hrs so 2 days-ish ", - "time": "21 h", - "construction_blueprint": "faction_base_field_camp_17", - "blueprint_name": "basic reinforced gates", - "blueprint_requires": [ { "id": "faction_base_camp_16" }, { "id": "faction_base_camp_14" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 198 ] ], [ [ "nail", 588 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_18", - "description": "One more tent and our living space will be full.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "720 m", - "construction_blueprint": "faction_base_field_camp_18", - "blueprint_name": "basic southwest tent", - "blueprint_provides": [ { "id": "bed", "amount": 2 } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ], - [ [ "2x4", 24 ] ], - [ [ "straw_pile", 32 ], [ "pine_bough", 40 ] ], - [ [ "nail", 48 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "pipe", 12 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_19", - "description": "We could construct a radio tower to improve communication range, first step is the tower structure.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "2880 m", - "construction_blueprint": "faction_base_field_camp_19", - "blueprint_name": "basic radio tower", - "blueprint_provides": [ { "id": "recruiting" } ], - "blueprint_requires": [ { "id": "faction_base_camp_4" } ], - "qualities": [ - { "id": "HAMMER", "level": 2 }, - { "id": "SAW_M", "level": 1 }, - { "id": "WRENCH", "level": 1 }, - { "id": "SCREW", "level": 1 } - ], - "components": [ - [ - [ "wind_turbine", 4 ], - [ "xl_wind_turbine", 1 ], - [ "solar_panel", 4 ], - [ "reinforced_solar_panel", 4 ], - [ "solar_panel_v2", 2 ], - [ "reinforced_solar_panel_v2", 2 ] - ], - [ [ "storage_battery", 1 ], [ "medium_storage_battery", 5 ], [ "small_storage_battery", 100 ] ], - [ [ "sheet_metal", 2 ], [ "wire", 8 ] ], - [ [ "pipe", 24 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_camp_20", - "description": "We need to build a console to control the radio tower.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "electronics", - "difficulty": 6, - "autolearn": false, - "never_learn": true, - "time": "2880 m", - "construction_blueprint": "faction_base_field_camp_20", - "blueprint_name": "basic radio console", - "blueprint_requires": [ { "id": "faction_base_camp_19" } ], - "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SCREW", "level": 1 } ], - "components": [ - [ [ "processor", 2 ] ], - [ [ "RAM", 2 ] ], - [ [ "large_lcd_screen", 1 ] ], - [ [ "e_scrap", 8 ] ], - [ [ "frame", 1 ] ], - [ [ "circuit", 4 ] ], - [ [ "power_supply", 2 ] ], - [ [ "amplifier", 2 ] ], - [ [ "cable", 80 ] ], - [ [ "motor_small", 1 ], [ "motor_tiny", 2 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_farm_0", - "description": "Survey land for a farm shop.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "empty", - "blueprint_name": "Farm survey", - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ] - }, - { - "type": "recipe", - "result": "faction_base_farm_1", - "description": "Plowing a few plots should get us started.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "time": "540 m", - "construction_blueprint": "faction_base_field_camp_farm_1", - "blueprint_name": "Farm basic plots", - "blueprint_provides": [ { "id": "farming" } ], - "blueprint_requires": [ { "id": "faction_base_farm_0" } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ] ] - }, - { - "type": "recipe", - "result": "faction_base_farm_2", - "description": "We could use a farming shed to store resources where we'll be working.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "3600 m", - "construction_blueprint": "faction_base_field_camp_farm_2", - "blueprint_name": "Farm basic shed", - "blueprint_requires": [ { "id": "faction_base_farm_0" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 54 ] ], [ [ "stick", 90 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_farm_3", - "description": "Our farm could be expanded by finishing the shed and adding additional plots.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "2160 m", - "construction_blueprint": "faction_base_field_camp_farm_3", - "blueprint_name": "Farm upgraded shed", - "blueprint_requires": [ { "id": "faction_base_farm_0" }, { "id": "faction_base_farm_1" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 24 ] ], [ [ "stick", 36 ] ], [ [ "2x4", 16 ] ], [ [ "nail", 36 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_farm_4", - "description": "Building a processing shack should allow us to reclaim additional seeds from our byproducts.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "//": "1hrs*26wall + 1.5 hr*1door + 0.5hrs*14pits + 2hrs*2window + 2hrs*20log roof + 0.5hrs*9counter + 0.5hrs*1table = 83.5 hrs (12hrs on/off) 7 days total; requires 26wall*(2log+3stick+6 2x4 ) + 1door*(16 2x4+36nail) + 2windows*(15 2x4+30nail+2log+glass) + 20roof*(2log+4stick+8 2x4) + 1table*(8nail+6 2x4) + 9counter*(8nail+6 2x4)", - "time": "84 h", - "construction_blueprint": "faction_base_field_camp_farm_4", - "blueprint_name": "Farm processing shack", - "blueprint_provides": [ { "id": "reseeding" }, { "id": "farm_recipes_1" } ], - "blueprint_requires": [ { "id": "faction_base_farm_3" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 96 ] ], [ [ "stick", 158 ] ], [ [ "2x4", 336 ] ], [ [ "nail", 176 ] ], [ [ "glass_sheet", 2 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_garage_0", - "description": "Survey land for a garage.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "construction_blueprint": "empty", - "blueprint_name": "Garage survey", - "never_learn": true, - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ] - }, - { - "type": "recipe", - "result": "faction_base_garage_1", - "description": "Building a tool rack should be the first priority.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_field_camp_garage_1", - "blueprint_name": "Garage tool rack", - "blueprint_provides": [ { "id": "dismantling" } ], - "blueprint_requires": [ { "id": "faction_base_garage_0" } ], - "blueprint_resources": [ "wrench", "hacksaw" ], - "time": "5040 m", - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH", "level": 1 } ] ], - "components": [ - [ [ "log", 72 ] ], - [ [ "stick", 72 ] ], - [ [ "2x4", 110 ] ], - [ [ "nail", 16 ] ], - [ [ "pipe", 24 ] ], - [ [ "wrench", 1 ] ], - [ [ "hacksaw", 1 ] ], - [ [ "sheet_metal", 4 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_garage_2", - "description": "We should start construction of a roof for the garage.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "construction_blueprint": "faction_base_field_camp_garage_2", - "blueprint_name": "Garage partial roof", - "blueprint_requires": [ { "id": "faction_base_garage_1" } ], - "time": "4320 m", - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 68 ] ], [ [ "stick", 60 ] ], [ [ "2x4", 112 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_garage_3", - "description": "Finishing out the roof will let our mechanics work rain or shine.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "10080 m", - "construction_blueprint": "faction_base_field_camp_garage_3", - "blueprint_name": "Garage completed roof", - "blueprint_requires": [ { "id": "faction_base_garage_2" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 112 ] ], [ [ "2x4", 448 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_garage_4", - "description": "Our garage isn't big enough to work on larger vehicles. Let's start expanding it.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "4320 m", - "construction_blueprint": "faction_base_field_camp_garage_4", - "blueprint_name": "Garage partial expansion", - "blueprint_requires": [ { "id": "faction_base_garage_3" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 65 ] ], [ [ "stick", 96 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_garage_5", - "description": "Finishing the roof will let us park RVs and buses in the garage.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "time": "11520 m", - "construction_blueprint": "faction_base_field_camp_garage_5", - "blueprint_name": "Garage expanded roof", - "blueprint_requires": [ { "id": "faction_base_garage_4" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH", "level": 1 } ] ], - "components": [ - [ [ "log", 124 ] ], - [ [ "stick", 96 ] ], - [ [ "2x4", 752 ] ], - [ [ "nail", 24 ] ], - [ [ "pipe", 24 ] ], - [ [ "sheet_metal", 4 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_garage_6", - "description": "Attaching a quarters will let our mechanics work longer hours when needed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "2880 m", - "construction_blueprint": "faction_base_field_camp_garage_6", - "blueprint_name": "Garage mechanics quarters", - "blueprint_requires": [ { "id": "faction_base_garage_5" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "WRENCH", "level": 1 } ] ], - "components": [ - [ [ "log", 95 ] ], - [ [ "stick", 90 ] ], - [ [ "2x4", 154 ] ], - [ [ "nail", 72 ] ], - [ [ "pipe", 12 ] ], - [ [ "sheet_metal", 2 ] ], - [ [ "straw_pile", 16 ], [ "pine_bough", 20 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_0", - "description": "Survey land for a kitchen.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "empty", - "blueprint_name": "Kitchen survey", - "time": "180 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ] - }, - { - "type": "recipe", - "result": "faction_base_kitchen_1", - "description": "Building a cook-shack is our first task.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "7200 m", - "construction_blueprint": "faction_base_field_camp_kitchen_1", - "blueprint_name": "Kitchen fireplace shack", - "blueprint_provides": [ { "id": "kitchen" }, { "id": "kitchen_recipes_1" } ], - "blueprint_requires": [ { "id": "faction_base_kitchen_0" } ], - "blueprint_resources": [ "fake_fireplace" ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ], - [ [ "log", 92 ] ], - [ [ "stick", 48 ] ], - [ [ "2x4", 252 ] ], - [ [ "nail", 16 ] ], - [ [ "rock", 40 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_2", - "description": "We need to finish framing the walls for the cook-shack.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "3600 m", - "construction_blueprint": "faction_base_field_camp_kitchen_2", - "blueprint_name": "Kitchen finished shack", - "blueprint_requires": [ { "id": "faction_base_kitchen_1" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "makeshift_knife", 1 ], [ "knife_steak", 1 ], [ "primitive_knife", 1 ], [ "copper_knife", 1 ] ], - [ [ "log", 56 ] ], - [ [ "stick", 84 ] ], - [ [ "2x4", 67 ] ], - [ [ "nail", 114 ] ], - [ [ "glass_sheet", 1 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_3", - "description": "Expanding the shack by including a smoker will increase our versatility.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "3600 m", - "construction_blueprint": "faction_base_field_camp_kitchen_3", - "blueprint_name": "Kitchen charcoal smoker", - "blueprint_provides": [ { "id": "kitchen_recipes_2" } ], - "blueprint_requires": [ { "id": "faction_base_kitchen_2" } ], - "blueprint_resources": [ "fake_char_smoker" ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "CUT", "level": 1 } ], - [ { "id": "SAW_W", "level": 1 } ] - ], - "components": [ - [ [ "log", 46 ] ], - [ [ "stick", 40 ] ], - [ [ "2x4", 165 ] ], - [ [ "nail", 70 ] ], - [ [ "rock", 8 ] ], - [ [ "glass_sheet", 1 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_4", - "description": "A pantry will allow our cooks to store more non-perishables.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "9360 m", - "construction_blueprint": "faction_base_field_camp_kitchen_4", - "blueprint_name": "Kitchen pantry expansion", - "blueprint_provides": [ { "id": "pantry" } ], - "blueprint_requires": [ { "id": "faction_base_kitchen_3" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ], - [ [ "log", 122 ] ], - [ [ "stick", 108 ] ], - [ [ "2x4", 239 ] ], - [ [ "nail", 102 ] ], - [ [ "glass_sheet", 1 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_5", - "description": "Increasing our number of smoking racks will let us craft larger batches.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "360 m", - "construction_blueprint": "faction_base_field_camp_kitchen_5", - "blueprint_name": "Kitchen more smoking racks", - "blueprint_resources": [ "fake_fireplace", "fake_char_smoker", "fake_char_smoker" ], - "blueprint_requires": [ { "id": "faction_base_kitchen_4" } ], - "qualities": [ - [ { "id": "DIG", "level": 2 } ], - [ { "id": "HAMMER", "level": 2 } ], - [ { "id": "CUT", "level": 1 } ], - [ { "id": "WRENCH", "level": 1 } ], - [ { "id": "SAW_W", "level": 1 } ] - ], - "components": [ [ [ "stick", 32 ] ], [ [ "rock", 56 ] ], [ [ "sheet_metal", 4 ] ], [ [ "pipe", 24 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_6", - "description": "A well is needed so our cooks don't have to haul in water.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "time": "1440 m", - "construction_blueprint": "faction_base_field_camp_kitchen_6", - "blueprint_name": "Kitchen water well", - "blueprint_requires": [ { "id": "faction_base_kitchen_5" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "WRENCH", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ], - [ [ "rock", 40 ] ], - [ [ "pipe", 42 ] ], - [ [ "2x4", 4 ] ], - [ [ "sheet_metal", 6 ] ], - [ [ "well_pump", 1 ] ], - [ [ "nail", 8 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_7", - "description": "Wood stoves will give us greater control of temperatures and let us craft more difficult recipes.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "time": "180 m", - "construction_blueprint": "faction_base_field_camp_kitchen_7", - "blueprint_name": "Kitchen wood stoves", - "blueprint_provides": [ { "id": "kitchen_recipes_3" } ], - "blueprint_resources": [ "fake_stove", "fake_stove" ], - "blueprint_requires": [ { "id": "faction_base_kitchen_6" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "WRENCH", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "pipe", 2 ] ], [ [ "2x4", 20 ] ], [ [ "metal_tank", 2 ] ], [ [ "nail", 18 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_kitchen_8", - "description": "Finally, expanding the pantry further will let us store additional materials.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "3600 m", - "construction_blueprint": "faction_base_field_camp_kitchen_8", - "blueprint_name": "Kitchen expanded pantry", - "blueprint_requires": [ { "id": "faction_base_kitchen_7" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 40 ] ], [ [ "stick", 30 ] ], [ [ "2x4", 135 ] ], [ [ "nail", 150 ] ], [ [ "glass_sheet", 1 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_wall_level_N_0", - "description": "A trench that may deter movement but is meant to be the foundation of a picket or palisade. Requirements are for 1/2 an over map tile.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 1, - "autolearn": false, - "never_learn": true, - "time": "510 m", - "//blueprint_requires": [ { "id": "not_an_upgrade" } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ] ], - "components": [ [ [ "stick", 3 ] ] ] - }, - { - "type": "recipe", - "result": "faction_wall_level_N_1", - "description": "A deep trench filled with spikes, requires a trench. Requirements are for 1/2 an over map tile.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 2, - "autolearn": false, - "never_learn": true, - "time": "1530 m", - "//blueprint_requires": [ { "id": "not_an_upgrade" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ] ], - "components": [ [ [ "pointy_stick", 68 ] ] ] - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_0", - "description": "Survey land for a blacksmith shop.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "autolearn": false, - "never_learn": true, - "construction_blueprint": "empty", - "blueprint_name": "Blacksmithy survey", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], - "time": "180 m" - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_1", - "description": "Building a forge and kiln is our first task.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "time": "180 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_1", - "blueprint_name": "Blacksmithy forge and kiln", - "blueprint_provides": [ { "id": "blacksmith" }, { "id": "blacksmith_recipes_1" } ], - "blueprint_requires": [ { "id": "faction_base_blacksmith_0" } ], - "blueprint_resources": [ "fake_forge", "fake_char_kiln", "makeshift_hammer" ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "crucible", 1 ], [ "crucible_clay", 1 ] ], - [ [ "primitive_hammer", 1 ], [ "makeshift_hammer", 1 ] ], - [ [ "rock", 80 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_2", - "description": "Building a proper roof for the shop is the next step.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "10080 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_2", - "blueprint_name": "Blacksmithy roof", - "blueprint_requires": [ { "id": "faction_base_blacksmith_1" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 136 ] ], [ [ "stick", 72 ] ], [ [ "2x4", 352 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_3", - "description": "Building a working table and placing an anvil are next.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "180 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_3", - "blueprint_name": "Blacksmithy anvil and workbench", - "blueprint_provides": [ { "id": "blacksmith_recipes_2" } ], - "blueprint_requires": [ { "id": "faction_base_blacksmith_2" } ], - "blueprint_resources": [ "anvil", "crucible" ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "crucible", 1 ], [ "crucible_clay", 1 ] ], - [ [ "anvil", 1 ] ], - [ [ "2x4", 6 ] ], - [ [ "nail", 8 ] ], - [ [ "rock", 40 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_4", - "description": "If we're going to do more than simple metal casting we need a bigger shop.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "8640 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_4", - "blueprint_name": "Blacksmithy expanded shop", - "blueprint_provides": [ { "id": "blacksmith_recipes_3" } ], - "blueprint_requires": [ { "id": "faction_base_blacksmith_3" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "log", 108 ] ], [ [ "stick", 36 ] ], [ [ "2x4", 342 ] ], [ [ "nail", 8 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_5", - "description": "We need some basic tools to make more advanced crafts.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "180 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_5", - "blueprint_name": "Blacksmithy forging tools", - "blueprint_provides": [ { "id": "blacksmith_recipes_4" } ], - "blueprint_requires": [ { "id": "faction_base_blacksmith_4" } ], - "blueprint_resources": [ "tongs", "chisel", "hammer", "swage" ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "tongs", 2 ] ], - [ [ "chisel", 1 ] ], - [ [ "hammer", 1 ] ], - [ [ "swage", 1 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "2x4", 18 ] ], - [ [ "nail", 24 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_6", - "description": "An expanded forge will allow us to work on bigger projects.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "time": "480 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_6", - "blueprint_name": "Blacksmithy expanded forge", - "blueprint_requires": [ { "id": "faction_base_blacksmith_5" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 1 } ] ], - "components": [ [ [ "hammer", 1 ] ], [ [ "2x4", 16 ] ], [ [ "nail", 48 ] ], [ [ "rock", 120 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_7", - "description": "Proper steel work requires a bellows and quenching setup.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "1440 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_7", - "blueprint_name": "Blacksmithy bellows and quenching barrels", - "blueprint_provides": [ { "id": "blacksmith_recipes_5" } ], - "blueprint_requires": [ { "id": "faction_base_blacksmith_6" } ], - "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 1 } ] ], - "components": [ - [ [ "2x4", 40 ] ], - [ [ "nail", 60 ] ], - [ [ "rock", 40 ] ], - [ [ "sheet_metal", 4 ] ], - [ [ "water_faucet", 1 ] ], - [ [ "scrap", 16 ] ], - [ [ "frame", 1 ] ], - [ [ "leather", 10 ] ], - [ [ "chain", 3 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_8", - "description": "A separate workshop will allow us to do the most basic of machining.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "10080 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_8", - "blueprint_name": "Blacksmithy machine shop", - "blueprint_provides": [ { "id": "blacksmith_recipes_6" } ], - "blueprint_requires": [ { "id": "faction_base_blacksmith_7" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "hammer_sledge", 1 ] ], - [ [ "knife_combat", 1 ], [ "copper_knife", 1 ] ], - [ [ "log", 118 ] ], - [ [ "stick", 114 ] ], - [ [ "2x4", 264 ] ], - [ [ "nail", 192 ] ], - [ [ "glass_sheet", 4 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_9", - "description": "Next we need to add some basic tools and vises to the workshop.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "360 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_9", - "blueprint_name": "Blacksmithy machine shop tools", - "blueprint_requires": [ { "id": "faction_base_blacksmith_8" } ], - "blueprint_resources": [ "wrench", "pliers" ], - "qualities": [ [ { "id": "WRENCH", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "wrench", 2 ] ], - [ [ "pliers", 2 ] ], - [ [ "sheet_metal", 6 ] ], - [ [ "2x4", 36 ] ], - [ [ "nail", 88 ] ], - [ [ "scrap", 8 ] ], - [ [ "leather", 4 ] ], - [ [ "pipe", 36 ] ] - ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_10", - "description": "Advanced forging processes require more room to work.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "8640 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_10", - "blueprint_name": "Blacksmithy machine shop expansion", - "blueprint_requires": [ { "id": "faction_base_blacksmith_9" } ], - "qualities": [ [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "hammer_sledge", 1 ] ], [ [ "log", 104 ] ], [ [ "stick", 54 ] ], [ [ "2x4", 272 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_11", - "description": "An on-site well will allow us to fill boilers as needed.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "1440 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_11", - "blueprint_name": "Blacksmithy well", - "blueprint_requires": [ { "id": "faction_base_blacksmith_10" } ], - "qualities": [ [ { "id": "WRENCH", "level": 1 } ], [ { "id": "DIG", "level": 2 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "well_pump", 1 ] ], [ [ "pipe", 6 ] ], [ [ "2x4", 16 ] ], [ [ "nail", 24 ] ], [ [ "rock", 40 ] ] ], - "check_blueprint_needs": false - }, - { - "type": "recipe", - "result": "faction_base_blacksmith_12", - "description": "A steam-powered drop hammer will greatly increase production speed in exchange for charcoal.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "mechanics", - "difficulty": 4, - "autolearn": false, - "never_learn": true, - "time": "4320 m", - "construction_blueprint": "faction_base_field_camp_blacksmith_12", - "blueprint_name": "Blacksmithy drop hammer", - "blueprint_provides": [ { "id": "blacksmith_recipes_7" } ], - "blueprint_requires": [ { "id": "faction_base_blacksmith_11" } ], - "blueprint_resources": [ "fake_drop_hammer" ], - "qualities": [ [ { "id": "WRENCH", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ - [ [ "log", 2 ] ], - [ [ "2x4", 40 ] ], - [ [ "nail", 60 ] ], - [ [ "metal_tank", 6 ] ], - [ [ "water_faucet", 2 ] ], - [ [ "anvil", 1 ] ], - [ [ "scrap", 30 ] ], - [ [ "chain", 4 ] ], - [ [ "pipe", 12 ] ] - ], - "check_blueprint_needs": false - } -] diff --git a/data/mods/TEST_DATA/TALK_TEST.json b/data/mods/TEST_DATA/TALK_TEST.json index b4bec14147d3..efa3b16063f2 100644 --- a/data/mods/TEST_DATA/TALK_TEST.json +++ b/data/mods/TEST_DATA/TALK_TEST.json @@ -130,11 +130,6 @@ "text": "This is a om_location_field test response.", "topic": "TALK_DONE", "condition": { "u_at_om_location": "field" } - }, - { - "text": "This is a faction camp any test response.", - "topic": "TALK_DONE", - "condition": { "u_at_om_location": "FACTION_CAMP_ANY" } } ] }, diff --git a/doc/src/content/docs/en/mod/json/reference/creatures/basecamp.md b/doc/src/content/docs/en/mod/json/reference/creatures/basecamp.md deleted file mode 100644 index abef425fac17..000000000000 --- a/doc/src/content/docs/en/mod/json/reference/creatures/basecamp.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -title: Basecamps ---- - -Basecamps leverage many existing aspects of JSON data such as recipes and mapgen. It's recommended -to be familiar with those: - -- [JSON info](../json_info) has information on common fields for recipes -- [mapgen](../../reference/map/mapgen), see section 3 about `update_mapgen` - -# Adding alternate basecamp upgrade paths - -A basecamp upgrade path is a series of basecamp upgrade missions that upgrade the camp. Upgrade -missions are generally performed sequentially, but there is an option to have them branch. Branched -missions optionally can have further missions that require missions from other branches. - -Bascamp upgrade paths are defined by several related files: - -- The recipe JSONs that define what the material, tool, and skill requirements to perform an upgrade - mission and the blueprint mapgen, blueprint requirements, blueprint provides, and blueprint - resources associated with each upgrade mission. -- The mapgen_update JSONs that define how the map will change when the upgrade mission is complete. - These may include shared instances of nested mapgen, such a standard room or tent. -- The recipe_group JSONs that define what recipes can be crafted after completing the upgrade - mission and what camps and expansions are available. - -## recipe JSONs - -The recipe JSONs are standard recipe JSONs, with the addition of a few fields. - -| New field | Description | -| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `"construction_blueprint"` | string, the `"update_mapgen_id"` of the mapgen_update JSON that will be performed when the upgrade mission is complete. | -| `"construction_name"` | string, a short description/name of the upgrade mission that is displayed in the base camp mission selector. The recipe's `"description"` field has the extended description that explains why a player might want to have an NPC perform this upgrade mission. | -| `"blueprint_provides"` | array of objects, with each object having an `"id"` string and an optional `"amount"` integer. These are the camp features that are available when the upgrade mission is complete. Every upgrade mission provides its recipe `"result"` with an amount of 1 automatically and that string does not need to be listed in `"blueprint_provides"`. | -| `"blueprint_requires"` | array of objects, with each object having an `"id"` string and an optional `"amount"` integer. These are the camp features that are required before the upgrade mission can be attempted. | -| `"blueprint_excludes"` | array of objects, with each object having an `"id"` string and an optional `"amount"` integer. These are the camp features that prevent the upgrade mission from being attempted if they exist. | -| `"blueprint_resources"` | array of `"itype_id"`s. Items with those ids will be added to the camp inventory after the upgrade mission is completed and can be used for crafting or additional upgrade missions. | - -### blueprint requires, provides, and excludes - -blueprint requires, blueprint provides, and blueprint exlcudes are abstract concepts or flags that -an upgrade mission requires to start, or that are provided by a previous upgrade mission to satisfy -the blueprint requirements of a current upgrade mission, or that prevent an upgrade mission from -being available. Each one has an `"id"` and an `"amount"`. Multiple requires, provides, or excludes -with the same `"id"` sum their `"amount"` if they're on the same basecamp expansion. - -Every upgrade mission has its recipe `"result"` as a blueprint_provides and a blueprint_excludes, so -upgrade missions will automatically prevent themselves from being repeatable. - -These are arbitrary strings and can be used to control the branching of the upgrade paths. However, -some strings have meaning within the basecamp code: - -| provides `"id"` | meaning | -| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| `"bed"` | every 2 `"amount"`' of `"bed"` allows another expansion in the camp, to a maximum of 8, not include the camp center. | -| `"tool_storage"` | after this upgrade mission is complete, the Store Tools mission will be available | -| . | | -| `"radio"` | after this upgrade mission is complete, two way radios communicating to the camp have extended range. | -| `"pantry"` | after this upgrade mission is complete, the Distribute Food mission is more efficient when dealing with short term spoilage items. | -| `"gathering"` | after this upgrade mission is complete, the Gather Materials, Distribute Food, and Reset Sort Points basecamp missions will be available. | -| `"firewood"` | after this upgrade mission is complete, the Gather Firewood basecamp mission will be available. | -| `"sorting"` | after this upgrade mission is complete, the Menial Labor basecamp mission will be available. | -| `"logging"` | after this upgrade mission is complete, the Cut Logs and Clear a Forest basecamp missions will be available. | -| `"relaying"` | after this upgrade mission is complete, the Setup Hide Site and Relay Hide Site basecamp missions will be available. | -| `"foraging"` | after this upgrade mission is complete, the Forage for Plants basecamp mission will be available. | -| `"trapping"` | after this upgrade mission is complete, the Trap Small Game basecamp mission will be available. | -| `"hunting"` | after this upgrade mission is complete, the Hunt Large Animals basecamp mission will be available. | -| `"walls"` | after this upgrade mission is complete, the Construct Map Fortifications basecamp mission will be available. | -| `"recruiting"` | after this upgrade mission is complete, the Recruit Companions basecamp mission will be available. | -| `"scouting"` | after this upgrade mission is complete, the Scout Mission basecamp mission will be available. | -| `"patrolling"` | after this upgrade mission is complete, the Combat Patrol basecamp mission will be available. | -| `"dismantling"` | after this upgrade mission is complete, the Chop Shop basecamp mission will be available. | -| `"farming"` | after this upgrade mission is complete, the Plow Fields, Plant Fields, Fertilize Fields, and Harvest Fields basecamp missions will be available. | - -`blueprint_provides` can also be used to name objects from `recipe_group.json`. The recipes will be -craftable by NPCs at that expansion, allowing the creation of custom recipes that can be performed -exclusively at faction camps. - -### Sample recipe JSON - -```json -{ - "type": "recipe", - "result": "faction_base_camp_8", - "description": "We need to expand our base to include basic dining facilities.", - "category": "CC_BUILDING", - "subcategory": "CSC_BUILDING_BASES", - "skill_used": "fabrication", - "difficulty": 5, - "autolearn": false, - "never_learn": true, - "comment": "2hrs*4wall + .5 hr*2tables + .5hr*4benches+ 1hrs pits = 12 hrs (12hrs on/off) 1 days total", - "time": "1440 m", - "construction_blueprint": "faction_base_field_camp_8", - "blueprint_name": "basic central kitchen", - "blueprint_resources": [ "fake_stove" ], - "blueprint_provides": [ { "id": "trapping", "amount": 1 }, { "id": "hunting", "amount": 1 }, { "id": "walls", "amount": 1 }, { "id": "recruiting", "amount": 1 } - ], - "blueprint_requires": [ { "id": "faction_base_camp_6", "amount": 1 } ], - "qualities": [ [ { "id": "DIG", "level": 1 } ], [ { "id": "SAW_M", "level": 1 } ], [ { "id": "HAMMER", "level": 2 } ] ], - "components": [ [ [ "2x4", 28 ] ], [ [ "log", 16 ] ], [ [ "nail", 56 ] ], [ [ "stick", 24 ] ], [ [ "metal_tank", 1 ] ], [ [ "pipe", 1 ] ] - ] -}, -``` - -The `"faction_base_camp_8"` upgrade mission can be performed after `"faction_base_camp_6"` and -enables the trapping, hunting, fortification, and recruiting basecamp missions. It adds a camp stove -to the camp's inventory to represent the iron stove. - -`"blueprint_autocalc": true` could be used instead of `components` to let the cost be calculated -automatically from the mapgen\_update data. - -## mapgen_update JSON - -These are standard mapgen_update JSON; see doc/MAPGEN.md for more details. Each one should change a -localized portion of the camp map and should, as much as possible, be independent of any other -pieces of mapgen_update for the basecamp upgrade path. Obviously, some bits are going to expand -other bits, in which case their `"blueprint_requires"` should include the `"blueprint_provides"` of -the previous upgrade missions. - -### Sample mapgen_update JSON - -```json -{ - "type": "mapgen", - "update_mapgen_id": "faction_base_field_camp_7", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "basecamp_large_tent_east" ], "x": 2, "y": 10 } ] } -}, -{ - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "basecamp_large_tent_east", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - "WWWWW", - "Wbb$W", - "Wr;;D", - "Wbb$W", - "WWWWW" - ], - "palettes": [ "acidia_camp_palette" ] - } -}, -``` - -This mapgen_update places a large tent in the west central portion of the camp. The `"place_nested"` -references a standard map used in the primitive field camp. - -## Recipe groups - -Recipe groups serve two purposes: they indicate what recipes can produced by the camp after an -upgrade mission is completed, and they indicate what upgrade paths are available and where camps can -be placed. - -### Upgrade Paths and Expansions - -There are two special recipe groups, `"all_faction_base_types"` and `"all_faction_base_expansions"`. -They both look like this: - -```json -{ - "type": "recipe_group", - "name": "all_faction_base_expansions", - "building_type": "NONE", - "recipes": [ - { "id": "faction_base_farm_0", "description": "Farm", "om_terrains": [ "field" ] }, - { "id": "faction_base_garage_0", "description": "Garage", "om_terrains": [ "field" ] }, - { "id": "faction_base_kitchen_0", "description": "Kitchen", "om_terrains": [ "field" ] }, - { "id": "faction_base_blacksmith_0", "description": "Blacksmith Shop", "om_terrains": [ "field" ] } - ] -}, -``` - -Each entry in the `"recipes"` array must be a dictionary with the `"id"`, `"description"`, and -`"om_terrains"` fields. `"id"` is the recipe `"id"` of the recipe that starts that basecamp or -basecamp expansion upgrade path. `"description"` is a short name of the basecamp or basecamp -expansion. `"om_terrains"` is a list of overmap terrain ids which can be used as the basis for the -basecamp or basecamp expansion. - -All recipes that start an upgrade path or expansion should have a blueprint requirement that can -never be met, such as "not_an_upgrade", to prevent them from showing up as available upgrades. - -If the player attempts to start a basecamp on an overmap terrain that has two or more valid basecamp -expansion paths, she will allowed to choose which path to start. - -## Sample basecamp upgrade path - -The primitive field camp has the following upgrade path: - -1. `"faction_base_camp_0"` - the initial camp survey and the bulletin board. -2. `"faction_base_camp_1"` - setting up the northeast tent -3. `"faction_base_camp_2"` - digging the fire pit and constructing a bed -4. `"faction_base_camp_3"` - adding the bookshelves to store stuff -5. `"faction_base_camp_4"` - adding the second bed to the tent -6. any of: `"faction_base_camp_5"`, `"faction_base_camp_7"`, `"faction_base_camp_9"`, - `"faction_base_camp_15"`, `"faction_base_camp_18"` - add additional tents with beds in any order. - or `"faction_base_camp_6"` - build the central kitchen. `"faction_base_camp_8"`, - `"faction_base_camp_10"`, `"faction_base_camp_11"`, `"faction_base_camp_16"` must be built in - that sequence afterwards, though interleaved with the other optional upgrade missions after - `"faction_base_camp_4"`. or `"faction_base_camp_12"` - the central camp well. or - `"faction_base_camp_13"` - building the camp's outer wall, which can be followed by - `"faction_base_camp_14"` to complete the wall. or `"faction_base_camp_19"` - building the camp's - radio tower, which can be followed by `"faction_base_camp_20"` to build the radio tower console - and make it operational. -7. `"faction_base_camp_17"` - adding better doors to camp wall and the central building must be - built after `"faction_base_camp_14"` and `"faction_base_camp_16"`. - -After setting up the first tent, the player has a lot of options: they can build additional tents to -enable expansions, they can build the well for water, they can build as much or as little of the -central kitchen as they desire, or add the wall to give the camp defenses, or the radio tower to -improve the range of their two-way radios. - -## Modular Basecamp conventions - -The modular basecamp is a structure for designing basecamp upgrade paths. You don't have to use it, -but elements of the design might get more code support in the future. - -### Layout - -A modular camp is laid out on a 24x24 overmap tile. The outer 3 map squares on each side are -reserved for fortifications and movement corridors, and the inner 18x18 map squares are divided into -a 3x3 grid of 6x6 areas. - -| Area | upper left position | lower right position | -| --------- | ------------------- | -------------------- | -| northwest | 3, 3 | 8, 8 | -| north | 9, 3 | 14, 8 | -| northeast | 15, 3 | 20, 8 | -| west | 3, 9 | 8, 14 | -| center | 9, 9 | 14, 14 | -| east | 15, 9, | 20, 14 | -| southwest | 3, 15 | 8, 20 | -| south | 9, 15 | 14, 20 | -| southeast | 15, 15 | 20, 20 | - -Ideally, nested mapgen chunks should fit entirely into a 6x6 area. - -### Naming scheme - -Modular bases use the following naming scheme for recipes. Each element is separated by an `_` - -- `"faction_base"` <-- encouraged for all basecamp recipes, _and_ -- `"modular"` <-- indicates a modular construction, _and_ -- overmap terrain id <-- the base terrain that this modular base is built upon, _and_ -- DESCRIPTOR <-- arbitrary string that describes what is being built. For buildings, "room" is used - to mean a construction that is intended to be part of a larger building and might share walls with - other parts of the building in adjacent areas; "shack" means a free standing building. Numbers - indicate stages of construction, with 4 usually meaning a complete structure, with walls and roof, - _and_ -- MATERIAL <-- the type of material used in construction, such as metal, wood, brick, or wad (short - for wattle-and-daub), _and_ -- AREA <-- the area in the 3x3 grid of the modular camp layout. - -blueprint keywords follow a similar scheme, but `"faction_base_modular"` is collapsed into `"fbm"` -and the overmap terrain id is collapsed into a short identifier. ie, `"fbmf"` is the keyword -identifier for elements of the modular field base. diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 1b782aeae569..7f33232f247b 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -127,7 +127,6 @@ static const zone_type_id zone_type_LOOT_UNSORTED( "LOOT_UNSORTED" ); static const zone_type_id zone_type_LOOT_WOOD( "LOOT_WOOD" ); static const zone_type_id zone_type_VEHICLE_DECONSTRUCT( "VEHICLE_DECONSTRUCT" ); static const zone_type_id zone_type_VEHICLE_REPAIR( "VEHICLE_REPAIR" ); -static const zone_type_id z_camp_storage( "CAMP_STORAGE" ); static const quality_id qual_AXE( "AXE" ); static const quality_id qual_BUTCHER( "BUTCHER" ); @@ -1586,8 +1585,7 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe return activity_reason_info::fail( do_activity_reason::NO_ZONE ); } if( act == ACT_TIDY_UP ) { - if( mgr.has_near( zone_type_LOOT_UNSORTED, here.getabs( src_loc ), distance ) || - mgr.has_near( z_camp_storage, here.getabs( src_loc ), distance ) ) { + if( mgr.has_near( zone_type_LOOT_UNSORTED, here.getabs( src_loc ), distance ) ) { return activity_reason_info::ok( do_activity_reason::CAN_DO_FETCH ); } return activity_reason_info::fail( do_activity_reason::NO_ZONE ); @@ -1675,23 +1673,6 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe return activity_reason_info::fail( do_activity_reason::NO_ZONE ); } -static void add_basecamp_storage_to_loot_zone_list( zone_manager &mgr, const tripoint &src_loc, - player &p, std::vector &loot_zone_spots, std::vector &combined_spots ) -{ - if( npc *const guy = dynamic_cast( &p ) ) { - map &here = get_map(); - if( guy->assigned_camp && - mgr.has_near( z_camp_storage, here.getabs( src_loc ), ACTIVITY_SEARCH_DISTANCE ) ) { - std::unordered_set bc_storage_set = mgr.get_near( zone_type_id( "CAMP_STORAGE" ), - here.getabs( src_loc ), ACTIVITY_SEARCH_DISTANCE ); - for( const tripoint &elem : bc_storage_set ) { - loot_zone_spots.push_back( here.getlocal( elem ) ); - combined_spots.push_back( here.getlocal( elem ) ); - } - } - } -} - static std::vector> requirements_map( player &p, const int distance = ACTIVITY_SEARCH_DISTANCE ) { @@ -1746,7 +1727,6 @@ static std::vector> requirements_map( player combined_spots.push_back( elem ); } } - add_basecamp_storage_to_loot_zone_list( mgr, src_loc, p, loot_spots, combined_spots ); // if the requirements aren't available, then stop. if( !are_requirements_nearby( pickup_task ? loot_spots : combined_spots, things_to_fetch_id, p, activity_to_restore, pickup_task, src_loc ) ) { @@ -2751,7 +2731,6 @@ static requirement_check_result generic_multi_activity_check_requirement( player for( const tripoint &elem : here.points_in_radius( src_loc, PICKUP_RANGE - 1 ) ) { combined_spots.push_back( elem ); } - add_basecamp_storage_to_loot_zone_list( mgr, src_loc, p, loot_zone_spots, combined_spots ); if( ( reason == do_activity_reason::NO_COMPONENTS || reason == do_activity_reason::NO_COMPONENTS_PREREQ || diff --git a/src/basecamp.cpp b/src/basecamp.cpp deleted file mode 100644 index 068106a8b5c1..000000000000 --- a/src/basecamp.cpp +++ /dev/null @@ -1,779 +0,0 @@ -#include "basecamp.h" - -#include -#include -#include -#include -#include -#include -#include - -#include "avatar.h" -#include "calendar.h" -#include "character_id.h" -#include "clzones.h" -#include "color.h" -#include "coordinate_conversions.h" -#include "crafting.h" -#include "debug.h" -#include "faction_camp.h" -#include "flat_set.h" -#include "game.h" -#include "inventory.h" -#include "item.h" -#include "item_group.h" -#include "make_static.h" -#include "map.h" -#include "map_iterator.h" -#include "npc.h" -#include "output.h" -#include "overmap.h" -#include "overmapbuffer.h" -#include "player.h" -#include "recipe.h" -#include "recipe_dictionary.h" -#include "recipe_groups.h" -#include "requirements.h" -#include "string_formatter.h" -#include "string_id.h" -#include "string_input_popup.h" -#include "translations.h" -#include "type_id.h" - -static const zone_type_id zone_type_camp_storage( "CAMP_STORAGE" ); - -const std::map base_camps::all_directions = { - // direction, direction id, tab order, direction abbreviation with bracket, direction tab title - { base_camps::base_dir, { "[B]", base_camps::TAB_MAIN, to_translation( "base camp: base", "[B]" ), to_translation( "base camp: base", " MAIN " ) } }, - { point_north, { "[N]", base_camps::TAB_N, to_translation( "base camp: north", "[N]" ), to_translation( "base camp: north", " [N] " ) } }, - { point_north_east, { "[NE]", base_camps::TAB_NE, to_translation( "base camp: northeast", "[NE]" ), to_translation( "base camp: northeast", " [NE] " ) } }, - { point_east, { "[E]", base_camps::TAB_E, to_translation( "base camp: east", "[E]" ), to_translation( "base camp: east", " [E] " ) } }, - { point_south_east, { "[SE]", base_camps::TAB_SE, to_translation( "base camp: southeast", "[SE]" ), to_translation( "base camp: southeast", " [SE] " ) } }, - { point_south, { "[S]", base_camps::TAB_S, to_translation( "base camp: south", "[S]" ), to_translation( "base camp: south", " [S] " ) } }, - { point_south_west, { "[SW]", base_camps::TAB_SW, to_translation( "base camp: southwest", "[SW]" ), to_translation( "base camp: southwest", " [SW] " ) } }, - { point_west, { "[W]", base_camps::TAB_W, to_translation( "base camp: west", "[W]" ), to_translation( "base camp: west", " [W] " ) } }, - { point_north_west, { "[NW]", base_camps::TAB_NW, to_translation( "base camp: northwest", "[NW]" ), to_translation( "base camp: northwest", " [NW] " ) } }, -}; - -point base_camps::direction_from_id( const std::string &id ) -{ - for( const auto &dir : all_directions ) { - if( dir.second.id == id ) { - return dir.first; - } - } - return base_dir; -} - -std::string base_camps::faction_encode_short( const std::string &type ) -{ - return prefix + type + "_"; -} - -std::string base_camps::faction_encode_abs( const expansion_data &e, int number ) -{ - return faction_encode_short( e.type ) + std::to_string( number ); -} - -std::string base_camps::faction_decode( const std::string &full_type ) -{ - if( full_type.size() < ( prefix_len + 2 ) ) { - return "camp"; - } - int last_bar = full_type.find_last_of( '_' ); - - return full_type.substr( prefix_len, last_bar - prefix_len ); -} - -time_duration base_camps::to_workdays( const time_duration &work_time ) -{ - if( work_time < 11_hours ) { - return work_time; - } - int work_days = work_time / 10_hours; - time_duration excess_time = work_time - work_days * 10_hours; - return excess_time + 24_hours * work_days; -} - -static std::map max_upgrade_cache; - -int base_camps::max_upgrade_by_type( const std::string &type ) -{ - if( max_upgrade_cache.find( type ) == max_upgrade_cache.end() ) { - int max = -1; - const std::string faction_base = faction_encode_short( type ); - while( recipe_id( faction_base + std::to_string( max + 1 ) ).is_valid() ) { - max += 1; - } - max_upgrade_cache[type] = max; - } - return max_upgrade_cache[type]; -} - -basecamp::basecamp() = default; - -basecamp::basecamp( const std::string &name_, const tripoint_abs_omt &omt_pos_ ): name( name_ ), - omt_pos( omt_pos_ ) -{ -} - -basecamp::basecamp( const std::string &name_, const tripoint &bb_pos_, - const std::vector &directions_, - const std::map &expansions_ ) - : directions( directions_ ), name( name_ ), bb_pos( bb_pos_ ), expansions( expansions_ ) -{ -} - -std::string basecamp::board_name() const -{ - //~ Name of a basecamp - return string_format( _( "%s Board" ), name ); -} - -void basecamp::set_by_radio( bool access_by_radio ) -{ - by_radio = access_by_radio; -} - -// read an expansion's terrain ID of the form faction_base_$TYPE_$CURLEVEL -// find the last underbar, strip off the prefix of faction_base_ (which is 13 chars), -// and the pull out the $TYPE and $CURLEVEL -// This is legacy support for existing camps; future camps don't use cur_level at all -expansion_data basecamp::parse_expansion( const std::string &terrain, - const tripoint_abs_omt &new_pos ) -{ - expansion_data e; - int last_bar = terrain.find_last_of( '_' ); - e.type = terrain.substr( base_camps::prefix_len, last_bar - base_camps::prefix_len ); - e.cur_level = std::stoi( terrain.substr( last_bar + 1 ) ); - e.pos = new_pos; - return e; -} - -void basecamp::add_expansion( const std::string &terrain, const tripoint_abs_omt &new_pos ) -{ - if( terrain.find( base_camps::prefix ) == std::string::npos ) { - return; - } - - const point dir = talk_function::om_simple_dir( omt_pos, new_pos ); - expansions[ dir ] = parse_expansion( terrain, new_pos ); - resources_updated = false; - reset_camp_resources(); - update_provides( terrain, expansions[ dir ] ); - directions.push_back( dir ); -} - -void basecamp::add_expansion( const std::string &bldg, const tripoint_abs_omt &new_pos, - point dir ) -{ - expansion_data e; - e.type = base_camps::faction_decode( bldg ); - e.cur_level = -1; - e.pos = new_pos; - expansions[ dir ] = e; - directions.push_back( dir ); - update_provides( bldg, expansions[ dir ] ); - update_resources( bldg ); -} - -void basecamp::define_camp( const tripoint_abs_omt &p, const std::string &camp_type ) -{ - query_new_name(); - omt_pos = p; - const oter_id &omt_ref = overmap_buffer.ter( omt_pos ); - // purging the regions guarantees all entries will start with faction_base_ - for( const std::pair &expansion : - talk_function::om_building_region( omt_pos, 1, true ) ) { - add_expansion( expansion.first, expansion.second ); - } - const std::string om_cur = omt_ref.id().c_str(); - if( om_cur.find( base_camps::prefix ) == std::string::npos ) { - expansion_data e; - e.type = base_camps::faction_decode( camp_type ); - e.cur_level = -1; - e.pos = omt_pos; - expansions[base_camps::base_dir] = e; - const std::string &direction = oter_get_rotation_string( omt_ref ); - const oter_id bcid( direction.empty() ? "faction_base_camp_0" : "faction_base_camp_new_0" + - direction ); - overmap_buffer.ter_set( omt_pos, bcid ); - update_provides( base_camps::faction_encode_abs( e, 0 ), - expansions[base_camps::base_dir] ); - } else { - expansions[base_camps::base_dir] = parse_expansion( om_cur, omt_pos ); - } -} - -/// Returns the description for the recipe of the next building @ref bldg -std::string basecamp::om_upgrade_description( const std::string &bldg, bool trunc ) const -{ - const recipe &making = recipe_id( bldg ).obj(); - - std::vector component_print_buffer; - const int pane = FULL_SCREEN_WIDTH; - const auto tools = making.simple_requirements().get_folded_tools_list( pane, c_white, _inv, 1 ); - const auto comps = making.simple_requirements().get_folded_components_list( pane, c_white, _inv, - making.get_component_filter(), 1 ); - component_print_buffer.insert( component_print_buffer.end(), tools.begin(), tools.end() ); - component_print_buffer.insert( component_print_buffer.end(), comps.begin(), comps.end() ); - - std::string comp; - for( auto &elem : component_print_buffer ) { - comp = comp + elem + "\n"; - } - comp = string_format( _( "Notes:\n%s\n\nSkills used: %s\n%s\n" ), - making.description, making.required_all_skills_string(), comp ); - if( !trunc ) { - time_duration base_time = making.batch_duration(); - comp += string_format( _( "Risk: None\nTime: %s\n" ), - to_string( base_camps::to_workdays( base_time ) ) ); - } - return comp; -} - -// upgrade levels -// legacy next upgrade -std::string basecamp::next_upgrade( point dir, const int offset ) const -{ - const auto &e = expansions.find( dir ); - if( e == expansions.end() ) { - return "null"; - } - const expansion_data &e_data = e->second; - - int cur_level = -1; - for( int i = 0; i < base_camps::max_upgrade_by_type( e_data.type ); i++ ) { - const std::string candidate = base_camps::faction_encode_abs( e_data, i ); - if( e_data.provides.find( candidate ) == e_data.provides.end() ) { - break; - } else { - cur_level = i; - } - } - if( cur_level >= 0 ) { - return base_camps::faction_encode_abs( e_data, cur_level + offset ); - } - return "null"; -} - -bool basecamp::has_provides( const std::string &req, const expansion_data &e_data, int level ) const -{ - for( const auto &provide : e_data.provides ) { - if( provide.first == req && provide.second > level ) { - return true; - } - } - return false; -} - -bool basecamp::has_provides( const std::string &req, const std::optional &dir, - int level ) const -{ - if( !dir ) { - for( const auto &e : expansions ) { - if( has_provides( req, e.second, level ) ) { - return true; - } - } - } else { - const auto &e = expansions.find( *dir ); - if( e != expansions.end() ) { - return has_provides( req, e->second, level ); - } - } - return false; -} - -bool basecamp::can_expand() -{ - return has_provides( "bed", base_camps::base_dir, directions.size() * 2 ); -} - -bool basecamp::has_water() -{ - return has_provides( "water_well" ) || has_provides( "fbmh_well_north" ) || - has_provides( "faction_base_camp_12" ) || has_provides( "faction_base_kitchen_6" ) || - has_provides( "faction_base_blacksmith_11" ); -} - -std::vector basecamp::available_upgrades( point dir ) -{ - std::vector ret_data; - auto e = expansions.find( dir ); - if( e != expansions.end() ) { - expansion_data &e_data = e->second; - for( const recipe *recp_p : recipe_dict.all_blueprints() ) { - const recipe &recp = *recp_p; - const std::string &bldg = recp.result().str(); - // skip buildings that are completed - if( e_data.provides.find( bldg ) != e_data.provides.end() ) { - continue; - } - // skip building that have unmet requirements - size_t needed_requires = recp.blueprint_requires().size(); - size_t met_requires = 0; - for( const auto &bp_require : recp.blueprint_requires() ) { - if( e_data.provides.find( bp_require.first ) == e_data.provides.end() ) { - break; - } - if( e_data.provides[bp_require.first] < bp_require.second ) { - break; - } - met_requires += 1; - } - if( met_requires < needed_requires ) { - continue; - } - bool should_display = true; - bool in_progress = false; - for( const auto &bp_exclude : recp.blueprint_excludes() ) { - // skip buildings that are excluded by previous builds - if( e_data.provides.find( bp_exclude.first ) != e_data.provides.end() ) { - if( e_data.provides[bp_exclude.first] >= bp_exclude.second ) { - should_display = false; - break; - } - } - // track buildings that are currently being built - if( e_data.in_progress.find( bp_exclude.first ) != e_data.in_progress.end() ) { - if( e_data.in_progress[bp_exclude.first] >= bp_exclude.second ) { - in_progress = true; - break; - } - } - } - if( !should_display ) { - continue; - } - basecamp_upgrade data; - data.bldg = bldg; - data.name = recp.blueprint_name(); - const auto &reqs = recp.deduped_requirements(); - data.avail = reqs.can_make_with_inventory( _inv, recp.get_component_filter(), 1 ); - data.in_progress = in_progress; - ret_data.emplace_back( data ); - } - } - return ret_data; -} - -// recipes and craft support functions -std::map basecamp::recipe_deck( point dir ) const -{ - std::map recipes; - const auto &e = expansions.find( dir ); - if( e == expansions.end() ) { - return recipes; - } - for( const auto &provides : e->second.provides ) { - const auto &test_s = recipe_group::get_recipes_by_id( provides.first ); - recipes.insert( test_s.cbegin(), test_s.cend() ); - } - return recipes; -} - -std::map basecamp::recipe_deck( const std::string &bldg ) const -{ - const std::map recipes = recipe_group::get_recipes_by_bldg( bldg ); - return recipes; -} - -item_group_id basecamp::get_gatherlist() const -{ - const auto &e = expansions.find( base_camps::base_dir ); - if( e != expansions.end() ) { - const std::string gatherlist = "gathering_" + - base_camps::faction_encode_abs( e->second, 4 ); - if( item_group::group_is_defined( item_group_id( gatherlist ) ) ) { - return item_group_id( gatherlist ); - } - } - return item_group_id( "forest" ); -} - -void basecamp::add_resource( const itype_id &camp_resource ) -{ - basecamp_resource bcp_r; - bcp_r.fake_id = camp_resource; - item &camp_item = *item::spawn_temporary( bcp_r.fake_id, calendar::start_of_cataclysm ); - bcp_r.ammo_id = camp_item.ammo_default(); - resources.emplace_back( bcp_r ); - fuel_types.insert( bcp_r.ammo_id ); -} - -void basecamp::update_resources( const std::string &bldg ) -{ - if( !recipe_id( bldg ).is_valid() ) { - return; - } - - const recipe &making = recipe_id( bldg ).obj(); - for( const itype_id &bp_resource : making.blueprint_resources() ) { - add_resource( bp_resource ); - } -} - -void basecamp::update_provides( const std::string &bldg, expansion_data &e_data ) -{ - if( !recipe_id( bldg ).is_valid() ) { - return; - } - - const recipe &making = recipe_id( bldg ).obj(); - for( const auto &bp_provides : making.blueprint_provides() ) { - if( e_data.provides.find( bp_provides.first ) == e_data.provides.end() ) { - e_data.provides[bp_provides.first] = 0; - } - e_data.provides[bp_provides.first] += bp_provides.second; - } -} - -void basecamp::update_in_progress( const std::string &bldg, point dir ) -{ - if( !recipe_id( bldg ).is_valid() ) { - return; - } - auto e = expansions.find( dir ); - if( e == expansions.end() ) { - return; - } - expansion_data &e_data = e->second; - - const recipe &making = recipe_id( bldg ).obj(); - for( const auto &bp_provides : making.blueprint_provides() ) { - if( e_data.in_progress.find( bp_provides.first ) == e_data.in_progress.end() ) { - e_data.in_progress[bp_provides.first] = 0; - } - e_data.in_progress[bp_provides.first] += bp_provides.second; - } -} - -void basecamp::reset_camp_resources() -{ - reset_camp_workers(); - if( !resources_updated ) { - resources_updated = true; - for( auto &e : expansions ) { - expansion_data &e_data = e.second; - for( int level = 0; level <= e_data.cur_level; level++ ) { - const std::string &bldg = base_camps::faction_encode_abs( e_data, level ); - if( bldg == "null" ) { - break; - } - update_provides( bldg, e_data ); - } - for( const auto &bp_provides : e_data.provides ) { - update_resources( bp_provides.first ); - } - } - } - form_crafting_inventory(); -} - -// available companion list manipulation -// get all the companions currently performing missions at this camp -void basecamp::reset_camp_workers() -{ - camp_workers.clear(); - for( const auto &elem : overmap_buffer.get_companion_mission_npcs() ) { - npc_companion_mission c_mission = elem->get_companion_mission(); - if( c_mission.position == omt_pos && c_mission.role_id == "FACTION_CAMP" ) { - camp_workers.push_back( elem ); - } - } -} - -void basecamp::add_assignee( character_id id ) -{ - npc_ptr npc_to_add = overmap_buffer.find_npc( id ); - if( !npc_to_add ) { - debugmsg( "cant find npc to assign to basecamp, on the overmap_buffer" ); - return; - } - npc_to_add->assigned_camp = omt_pos; - assigned_npcs.push_back( npc_to_add ); -} - -void basecamp::remove_assignee( character_id id ) -{ - npc_ptr npc_to_remove = overmap_buffer.find_npc( id ); - if( !npc_to_remove ) { - debugmsg( "cant find npc to remove from basecamp, on the overmap_buffer" ); - return; - } - npc_to_remove->assigned_camp = std::nullopt; - assigned_npcs.erase( std::remove( assigned_npcs.begin(), assigned_npcs.end(), npc_to_remove ), - assigned_npcs.end() ); -} - -void basecamp::validate_assignees() -{ - std::vector::iterator iter = assigned_npcs.begin(); - while( iter != assigned_npcs.end() ) { - if( !( *iter ) || !( *iter )->assigned_camp || *( *iter )->assigned_camp != omt_pos ) { - iter = assigned_npcs.erase( iter ); - } else { - ++iter; - } - } - for( character_id elem : g->get_follower_list() ) { - npc_ptr npc_to_add = overmap_buffer.find_npc( elem ); - if( !npc_to_add ) { - continue; - } - if( std::find( assigned_npcs.begin(), assigned_npcs.end(), npc_to_add ) != assigned_npcs.end() ) { - continue; - } else { - if( npc_to_add->assigned_camp && *npc_to_add->assigned_camp == omt_pos ) { - assigned_npcs.push_back( npc_to_add ); - } - } - } - // remove duplicates - for legacy handling. - std::sort( assigned_npcs.begin(), assigned_npcs.end() ); - auto last = std::unique( assigned_npcs.begin(), assigned_npcs.end() ); - assigned_npcs.erase( last, assigned_npcs.end() ); -} - -std::vector basecamp::get_npcs_assigned() -{ - validate_assignees(); - return assigned_npcs; -} - -// get the subset of companions working on a specific task -comp_list basecamp::get_mission_workers( const std::string &mission_id, bool contains ) -{ - comp_list available; - for( const auto &elem : camp_workers ) { - npc_companion_mission c_mission = elem->get_companion_mission(); - if( ( c_mission.mission_id == mission_id ) || - ( contains && c_mission.mission_id.find( mission_id ) != std::string::npos ) ) { - available.push_back( elem ); - } - } - return available; -} - -void basecamp::query_new_name() -{ - std::string camp_name; - string_input_popup popup; - popup.title( _( "Name this camp" ) ) - .width( 40 ) - .text( "" ) - .max_length( 25 ) - .query(); - if( popup.canceled() || popup.text().empty() ) { - camp_name = "faction_camp"; - } else { - camp_name = popup.text(); - } - name = camp_name; -} - -void basecamp::set_name( const std::string &new_name ) -{ - name = new_name; -} - -/* - * we could put this logic in map::use_charges() the way the vehicle code does, but I think - * that's sloppy - */ -std::vector> basecamp::use_charges( const itype_id &fake_id, int &quantity ) -{ - std::vector> ret; - if( quantity <= 0 ) { - return ret; - } - for( basecamp_resource &bcp_r : resources ) { - if( bcp_r.fake_id == fake_id ) { - detached_ptr camp_item = item::spawn( bcp_r.fake_id, calendar::start_of_cataclysm ); - camp_item->charges = std::min( bcp_r.available, quantity ); - quantity -= camp_item->charges; - bcp_r.available -= camp_item->charges; - bcp_r.consumed += camp_item->charges; - ret.push_back( std::move( camp_item ) ); - if( quantity <= 0 ) { - break; - } - } - } - return ret; -} - -void basecamp::form_crafting_inventory( map &target_map ) -{ - _inv.clear(); - const tripoint &dump_spot = get_dumping_spot(); - const tripoint &origin = target_map.getlocal( dump_spot ); - auto &mgr = zone_manager::get_manager(); - if( get_map().check_vehicle_zones( g->get_levz() ) ) { - mgr.cache_vzones(); - } - if( mgr.has_near( zone_type_camp_storage, dump_spot, 60 ) ) { - std::unordered_set src_set = mgr.get_near( zone_type_camp_storage, dump_spot, 60 ); - _inv.form_from_zone( target_map, src_set, nullptr, false ); - } - /* - * something of a hack: add the resources we know the camp has - * the hacky part is that we're adding resources based on the camp's flags, which were - * generated based on upgrade missions, instead of having resources added when the - * map changes - */ - // make sure the array is empty - fuels.clear(); - for( const itype_id &fuel_id : fuel_types ) { - basecamp_fuel bcp_f; - bcp_f.available = 0; - bcp_f.ammo_id = fuel_id; - fuels.emplace_back( bcp_f ); - } - - // find available fuel - for( const tripoint &pt : target_map.points_in_radius( origin, inv_range ) ) { - if( target_map.accessible_items( pt ) ) { - for( const item * const &i : target_map.i_at( pt ) ) { - for( basecamp_fuel &bcp_f : fuels ) { - if( bcp_f.ammo_id == i->typeId() ) { - bcp_f.available += i->charges; - break; - } - } - } - } - } - for( basecamp_resource &bcp_r : resources ) { - bcp_r.consumed = 0; - item &camp_item = *item::spawn_temporary( bcp_r.fake_id, calendar::start_of_cataclysm ); - camp_item.set_flag( STATIC( flag_id( "PSEUDO" ) ) ); - if( !bcp_r.ammo_id.is_null() ) { - for( basecamp_fuel &bcp_f : fuels ) { - if( bcp_f.ammo_id == bcp_r.ammo_id ) { - if( bcp_f.available > 0 ) { - bcp_r.available = bcp_f.available; - camp_item.ammo_set( bcp_f.ammo_id, bcp_f.available ); - } - break; - } - } - } - _inv.add_item( camp_item ); - } -} - -void basecamp::form_crafting_inventory() -{ - if( by_radio ) { - tinymap target_map; - target_map.load( project_to( omt_pos ), false ); - form_crafting_inventory( target_map ); - } else { - form_crafting_inventory( get_map() ); - } -} - -// display names -std::string basecamp::expansion_tab( point dir ) const -{ - if( dir == base_camps::base_dir ) { - return _( "Base Missions" ); - } - const auto &expansion_types = recipe_group::get_recipes_by_id( "all_faction_base_expansions" ); - - const auto &e = expansions.find( dir ); - if( e != expansions.end() ) { - recipe_id id( base_camps::faction_encode_abs( e->second, 0 ) ); - const auto e_type = expansion_types.find( id ); - if( e_type != expansion_types.end() ) { - return e_type->second + _( "Expansion" ); - } - } - return _( "Empty Expansion" ); -} - -// legacy load and save -void basecamp::load_data( const std::string &data ) -{ - std::stringstream stream( data ); - stream >> name >> bb_pos.x >> bb_pos.y; - // add space to name - replace( name.begin(), name.end(), '_', ' ' ); -} - -basecamp_action_components::basecamp_action_components( - const recipe &making, int batch_size, basecamp &base ) : - making_( making ), - batch_size_( batch_size ), - base_( base ) -{ -} - -bool basecamp_action_components::choose_components() -{ - const auto filter = is_crafting_component; - const requirement_data *req = - making_.deduped_requirements().select_alternative( g->u, base_._inv, filter, batch_size_ ); - if( !req ) { - return false; - } - if( !item_selections_.empty() || !tool_selections_.empty() ) { - debugmsg( "Reused basecamp_action_components" ); - return false; - } - for( const auto &it : req->get_components() ) { - comp_selection is = - g->u.select_item_component( it, batch_size_, base_._inv, true, filter, - !base_.by_radio ); - if( is.use_from == cancel ) { - return false; - } - item_selections_.push_back( is ); - } - // this may consume pseudo-resources from fake items - for( const auto &it : req->get_tools() ) { - const Character *player_with_inventory = base_.by_radio ? nullptr : &get_avatar(); - comp_selection ts = - crafting::select_tool_component( it, batch_size_, base_._inv, - player_with_inventory, true ); - if( ts.use_from == cancel ) { - return false; - } - tool_selections_.push_back( ts ); - } - return true; -} - -void basecamp_action_components::consume_components() -{ - map *target_map = &get_map(); - if( base_.by_radio ) { - map_ = std::make_unique(); - // TODO: fix point types - map_->load( project_to( base_.camp_omt_pos() ).raw(), false ); - target_map = map_.get(); - } - const tripoint &origin = target_map->getlocal( base_.get_dumping_spot() ); - for( const comp_selection &sel : item_selections_ ) { - g->u.consume_items( *target_map, sel, batch_size_, is_crafting_component, origin, - basecamp::inv_range ); - } - // this may consume pseudo-resources from fake items - for( const comp_selection &sel : tool_selections_ ) { - g->u.consume_tools( *target_map, sel, batch_size_, origin, basecamp::inv_range, &base_ ); - } - // go back and consume the actual resources - for( basecamp_resource &bcp_r : base_.resources ) { - if( bcp_r.consumed > 0 ) { - target_map->use_charges( origin, basecamp::inv_range, bcp_r.ammo_id, bcp_r.consumed ); - bcp_r.consumed = 0; - } - } - if( map_ ) { - map_->save(); - map_.reset(); - } -} - diff --git a/src/basecamp.h b/src/basecamp.h deleted file mode 100644 index c8a434c7c3e5..000000000000 --- a/src/basecamp.h +++ /dev/null @@ -1,385 +0,0 @@ -#pragma once -#ifndef CATA_SRC_BASECAMP_H -#define CATA_SRC_BASECAMP_H - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "craft_command.h" -#include "coordinates.h" -#include "inventory.h" -#include "memory_fast.h" -#include "point.h" -#include "requirements.h" -#include "translations.h" -#include "type_id.h" - -class JsonIn; -class JsonOut; -class character_id; -class npc; -class time_duration; - -enum class farm_ops; -class item; -class Item_group; -class mission_data; -class recipe; -class tinymap; - -struct expansion_data { - std::string type; - std::map provides; - std::map in_progress; - tripoint_abs_omt pos; - // legacy camp level, replaced by provides map and set to -1 - int cur_level; - -}; - -using npc_ptr = shared_ptr_fast; -using comp_list = std::vector; - -namespace catacurses -{ -class window; -} // namespace catacurses - -namespace base_camps -{ - -enum tab_mode : int { - TAB_MAIN, - TAB_N, - TAB_NE, - TAB_E, - TAB_SE, - TAB_S, - TAB_SW, - TAB_W, - TAB_NW -}; - -struct direction_data { - // used for composing mission ids - std::string id; - // tab order - tab_mode tab_order; - // such as [B], [NW], etc - translation bracket_abbr; - // MAIN, [NW], etc - translation tab_title; -}; - -// base_dir and the eight directional points -extern const std::map all_directions; - -point direction_from_id( const std::string &id ); - -const point base_dir; -const std::string prefix = "faction_base_"; -const std::string id = "FACTION_CAMP"; -const int prefix_len = 13; -std::string faction_encode_short( const std::string &type ); -std::string faction_encode_abs( const expansion_data &e, int number ); -std::string faction_decode( const std::string &full_type ); -time_duration to_workdays( const time_duration &work_time ); -int max_upgrade_by_type( const std::string &type ); -} // namespace base_camps - -// camp resource structures -struct basecamp_resource { - itype_id fake_id; - itype_id ammo_id; - int available = 0; - int consumed = 0; -}; - -struct basecamp_fuel { - itype_id ammo_id; - int available = 0; -}; - -struct basecamp_upgrade { - std::string bldg; - translation name; - bool avail = false; - bool in_progress = false; -}; - -class basecamp -{ - public: - basecamp(); - basecamp( const std::string &name_, const tripoint_abs_omt &omt_pos ); - basecamp( const std::string &name_, const tripoint &bb_pos_, - const std::vector &directions_, - const std::map &expansions_ ); - - inline bool is_valid() const { - return !name.empty() && omt_pos != tripoint_abs_omt(); - } - inline int board_x() const { - return bb_pos.x; - } - inline int board_y() const { - return bb_pos.y; - } - inline tripoint_abs_omt camp_omt_pos() const { - return omt_pos; - } - inline const std::string &camp_name() const { - return name; - } - tripoint get_bb_pos() const { - return bb_pos; - } - void validate_bb_pos( const tripoint &new_abs_pos ) { - if( bb_pos == tripoint_zero ) { - bb_pos = new_abs_pos; - } - } - void set_bb_pos( const tripoint &new_abs_pos ) { - bb_pos = new_abs_pos; - } - void set_by_radio( bool access_by_radio ); - - std::string board_name() const; - std::vector directions; - std::vector fortifications; - std::string name; - void faction_display( const catacurses::window &fac_w, int width ) const; - - //change name of camp - void set_name( const std::string &new_name ); - void query_new_name(); - void abandon_camp(); - void add_expansion( const std::string &terrain, const tripoint_abs_omt &new_pos ); - void add_expansion( const std::string &bldg, const tripoint_abs_omt &new_pos, - point dir ); - void define_camp( const tripoint_abs_omt &p, const std::string &camp_type = "default" ); - - std::string expansion_tab( point dir ) const; - // upgrade levels - bool has_provides( const std::string &req, const expansion_data &e_data, int level = 0 ) const; - bool has_provides( const std::string &req, const std::optional &dir = std::nullopt, - int level = 0 ) const; - void update_resources( const std::string &bldg ); - void update_provides( const std::string &bldg, expansion_data &e_data ); - void update_in_progress( const std::string &bldg, point dir ); - - bool can_expand(); - /// Returns the name of the building the current building @ref dir upgrades into, - /// "null" if there isn't one - std::string next_upgrade( point dir, int offset = 1 ) const; - std::vector available_upgrades( point dir ); - - // camp utility functions - int recruit_evaluation() const; - int recruit_evaluation( int &sbase, int &sexpansions, int &sfaction, int &sbonus ) const; - // confirm there is at least 1 loot destination and 1 unsorted loot zone in the camp - bool validate_sort_points(); - // Validates the expansion data - expansion_data parse_expansion( const std::string &terrain, - const tripoint_abs_omt &new_pos ); - /** - * Invokes the zone manager and validates that the necessary sort zones exist. - */ - bool set_sort_points(); - - // food utility - /// Takes all the food from the camp_food zone and increases the faction - /// food_supply - bool distribute_food(); - bool has_water(); - - // recipes, gathering, and craft support functions - // from a direction - std::map recipe_deck( point dir ) const; - // from a building - std::map recipe_deck( const std::string &bldg ) const; - int recipe_batch_max( const recipe &making ) const; - void form_crafting_inventory(); - void form_crafting_inventory( map &target_map ); - std::vector> use_charges( const itype_id &fake_id, int &quantity ); - item_group_id get_gatherlist() const; - /** - * spawn items or corpses based on search attempts - * @param skill skill level of the search - * @param group_id name of the item_group that provides the items - * @param attempts number of skill checks to make - * @param difficulty a random number from 0 to difficulty is created for each attempt, and - * if skill is higher, an item or corpse is spawned - */ - void search_results( int skill, const item_group_id &group_id, int attempts, int difficulty ); - /** - * spawn items or corpses based on search attempts - * @param skill skill level of the search - * @param task string to identify what types of corpses to provide ( _faction_camp_hunting - * or _faction_camp_trapping ) - * @param attempts number of skill checks to make - * @param difficulty a random number from 0 to difficulty is created for each attempt, and - * if skill is higher, an item or corpse is spawned - */ - void hunting_results( int skill, const std::string &task, int attempts, int difficulty ); - inline const tripoint &get_dumping_spot() const { - return dumping_spot; - } - // dumping spot in absolute co-ords - inline void set_dumping_spot( const tripoint &spot ) { - dumping_spot = spot; - } - void place_results( detached_ptr &&result ); - - // mission description functions - void add_available_recipes( mission_data &mission_key, point dir, - const std::map &craft_recipes ); - - std::string recruit_description( int npc_count ); - /// Provides a "guess" for some of the things your gatherers will return with - /// to upgrade the camp - std::string gathering_description( const std::string &bldg ); - /// Returns a string for the number of plants that are harvestable, plots ready to plant, - /// and ground that needs tilling - std::string farm_description( const tripoint_abs_omt &farm_pos, size_t &plots_count, - farm_ops operation ); - /// Returns the description of a camp crafting options. converts fire charges to charcoal, - /// allows dark crafting - std::string craft_description( const recipe_id &itm ); - - // main mission description collection - void get_available_missions( mission_data &mission_key ); - void get_available_missions_by_dir( mission_data &mission_key, point dir ); - // available companion list manipulation - void reset_camp_workers(); - comp_list get_mission_workers( const std::string &mission_id, bool contains = false ); - // main mission start/return dispatch function - bool handle_mission( const std::string &miss_id, const std::optional &opt_miss_dir ); - - // mission start functions - /// generic mission start function that wraps individual mission - npc_ptr start_mission( const std::string &miss_id, time_duration duration, - bool must_feed, const std::string &desc, bool group, - const std::vector &equipment, - const skill_id &skill_tested, int skill_level ); - npc_ptr start_mission( const std::string &miss_id, time_duration duration, - bool must_feed, const std::string &desc, bool group, - const std::vector &equipment, - const std::map &required_skills = {} ); - void start_upgrade( const std::string &bldg, point dir, const std::string &key ); - std::string om_upgrade_description( const std::string &bldg, bool trunc = false ) const; - void start_menial_labor(); - void worker_assignment_ui(); - void job_assignment_ui(); - void start_crafting( const std::string &cur_id, point cur_dir, - const std::string &type, const std::string &miss_id ); - - /// Called when a companion is sent to cut logs - void start_cut_logs(); - void start_clearcut(); - void start_setup_hide_site(); - void start_relay_hide_site(); - /// Called when a compansion is sent to start fortifications - void start_fortifications( std::string &bldg_exp ); - void start_combat_mission( const std::string &miss ); - /// Called when a companion starts a chop shop @ref task mission - bool start_garage_chop( point dir, const tripoint_abs_omt &omt_tgt ); - void start_farm_op( point dir, const tripoint_abs_omt &omt_tgt, farm_ops op ); - ///Display items listed in @ref equipment to let the player pick what to give the departing - ///NPC, loops until quit or empty. - std::vector give_equipment( std::vector equipment, - const std::string &msg ); - - // mission return functions - /// called to select a companion to return to the base - npc_ptr companion_choose_return( const std::string &miss_id, time_duration min_duration ); - /// called with a companion @ref comp who is not the camp manager, finishes updating their - /// skills, consuming food, and returning them to the base. - void finish_return( npc &comp, bool fixed_time, const std::string &return_msg, - const std::string &skill, int difficulty, bool cancel = false ); - /// a wrapper function for @ref companion_choose_return and @ref finish_return - npc_ptr mission_return( const std::string &miss_id, time_duration min_duration, - bool fixed_time, const std::string &return_msg, - const std::string &skill, int difficulty ); - /// select a companion for any mission to return to base - npc_ptr emergency_recall(); - - /// Called to close upgrade missions, @ref miss is the name of the mission id - /// and @ref dir is the direction of the location to be upgraded - bool upgrade_return( point dir, const std::string &miss ); - /// As above, but with an explicit blueprint recipe to upgrade - bool upgrade_return( point dir, const std::string &miss, const std::string &bldg ); - - /// Choose which expansion you should start, called when a survey mission is completed - bool survey_return(); - bool menial_return(); - /// Called when a companion completes a gathering @ref task mission - bool gathering_return( const std::string &task, time_duration min_time ); - void recruit_return( const std::string &task, int score ); - /** - * Perform any mix of the three farm tasks. - * @param task - * @param omt_tgt the overmap pos3 of the farm_ops - * @param op whether to plow, plant, or harvest - */ - bool farm_return( const std::string &task, const tripoint_abs_omt &omt_tgt, farm_ops op ); - void fortifications_return(); - - void combat_mission_return( const std::string &miss ); - void validate_assignees(); - void add_assignee( character_id id ); - void remove_assignee( character_id id ); - std::vector get_npcs_assigned(); - // Save/load - void serialize( JsonOut &json ) const; - void deserialize( JsonIn &jsin ); - void load_data( const std::string &data ); - - static constexpr int inv_range = 20; - private: - friend class basecamp_action_components; - - // lazy re-evaluation of available camp resources - void reset_camp_resources(); - void add_resource( const itype_id &camp_resource ); - bool resources_updated = false; - // omt pos - tripoint_abs_omt omt_pos; - std::vector assigned_npcs; - // location of associated bulletin board in abs coords - tripoint bb_pos; - std::map expansions; - comp_list camp_workers; - tripoint dumping_spot; - - std::set fuel_types; - std::vector fuels; - std::vector resources; - inventory _inv; - bool by_radio = false; -}; - -class basecamp_action_components -{ - public: - basecamp_action_components( const recipe &making, int batch_size, basecamp & ); - - // Returns true iff all necessary components were successfully chosen - bool choose_components(); - void consume_components(); - private: - const recipe &making_; - int batch_size_; - basecamp &base_; - std::vector> item_selections_; - std::vector> tool_selections_; - std::unique_ptr map_; // Used for by-radio crafting -}; - -#endif // CATA_SRC_BASECAMP_H diff --git a/src/catalua_bindings_creature.cpp b/src/catalua_bindings_creature.cpp index e87ca33fedf2..4b53b0e3d820 100644 --- a/src/catalua_bindings_creature.cpp +++ b/src/catalua_bindings_creature.cpp @@ -837,7 +837,6 @@ void cata::detail::reg_npc( sol::state &lua ) SET_FX_T( is_guarding, bool() const ); SET_FX_T( is_patrolling, bool() const ); - SET_FX_T( within_boundaries_of_camp, bool() const ); SET_FX_T( has_player_activity, bool() const ); SET_FX_T( is_travelling, bool() const ); @@ -884,7 +883,6 @@ void cata::detail::reg_npc( sol::state &lua ) SET_FX_T( get_attitude, npc_attitude() const ); SET_FX_T( set_attitude, void( npc_attitude new_attitude ) ); SET_FX_T( has_activity, bool() const ); - SET_FX_T( has_job, bool() const ); } #undef UT_CLASS // #define UT_CLASS npc diff --git a/src/character.cpp b/src/character.cpp index 3977da6b310c..921453c25386 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -517,7 +517,6 @@ Character::Character( Character &&source ) noexcept : Creature( std::move( sour cash = source.cash ; follower_ids = std::move( source.follower_ids ); ammo_location = std::move( source.ammo_location ); - camps = std::move( source.camps ); cached_time = source.cached_time ; addictions = std::move( source.addictions ); @@ -674,7 +673,6 @@ noexcept cash = source.cash ; follower_ids = std::move( source.follower_ids ); ammo_location = std::move( source.ammo_location ); - camps = std::move( source.camps ); cached_time = source.cached_time ; addictions = std::move( source.addictions ); diff --git a/src/character.h b/src/character.h index 5876c41f0e4b..8cfdff40435d 100644 --- a/src/character.h +++ b/src/character.h @@ -1666,7 +1666,6 @@ class Character : public Creature, public location_visitable std::set follower_ids; // Save favorite ammo location safe_reference ammo_location; - std::set camps; /* crafting inventory cached time */ time_point cached_time; diff --git a/src/clzones.cpp b/src/clzones.cpp index a748bacbe4ab..32a6611c34d6 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -43,7 +43,6 @@ static const item_category_id itcat_food( "food" ); -static const zone_type_id zone_CAMP_FOOD( "CAMP_FOOD" ); static const zone_type_id zone_CONSTRUCTION_BLUEPRINT( "CONSTRUCTION_BLUEPRINT" ); static const zone_type_id zone_FARM_PLOT( "FARM_PLOT" ); static const zone_type_id zone_LOOT_CORPSE( "LOOT_CORPSE" ); @@ -93,12 +92,6 @@ zone_manager::zone_manager() types.emplace( zone_type_id( "VEHICLE_PATROL" ), zone_type( translate_marker( "Vehicle Patrol Zone" ), translate_marker( "Vehicles with an autopilot will patrol in this zone." ) ) ); - types.emplace( zone_type_id( "CAMP_STORAGE" ), - zone_type( translate_marker( "Basecamp: Storage" ), - translate_marker( "Items in this zone will be added to a basecamp's inventory for use by it's workers." ) ) ); - types.emplace( zone_CAMP_FOOD, - zone_type( translate_marker( "Basecamp: Food" ), - translate_marker( "Items in this zone will be added to a basecamp's food supply in the Distribute Food mission." ) ) ); types.emplace( zone_type_id( "AUTO_EAT" ), zone_type( translate_marker( "Auto Eat" ), translate_marker( "Items in this zone will be automatically eaten during a long activity if you get hungry." ) ) ); @@ -710,7 +703,7 @@ bool zone_manager::has_loot_dest_near( const tripoint &where ) const { for( const auto &ztype : get_manager().get_types() ) { const zone_type_id &type = ztype.first; - if( type == zone_CAMP_FOOD || type == zone_FARM_PLOT || + if( type == zone_FARM_PLOT || type == zone_LOOT_UNSORTED || type == zone_LOOT_IGNORE || type == zone_CONSTRUCTION_BLUEPRINT || type == zone_NO_AUTO_PICKUP || type == zone_NO_NPC_PICKUP ) { @@ -1123,8 +1116,10 @@ void zone_manager::deserialize( JsonIn &jsin ) for( auto it = zones.begin(); it != zones.end(); ++it ) { const zone_type_id zone_type = it->get_type(); if( !has_type( zone_type ) ) { - zones.erase( it ); + it = zones.erase( it ); debugmsg( "Invalid zone type: %s", zone_type.c_str() ); + } else { + it++; } } } diff --git a/src/condition.cpp b/src/condition.cpp index 092912f20d7d..32be3db3ca62 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -42,7 +42,6 @@ #include "vehicle_part.h" #include "vpart_position.h" -class basecamp; class recipe; static const efftype_id effect_currently_busy( "currently_busy" ); @@ -393,20 +392,7 @@ void conditional_t::set_at_om_location( const JsonObject &jo, const std::stri const tripoint_abs_omt omt_pos = actor->global_omt_location(); const oter_id &omt_ref = overmap_buffer.ter( omt_pos ); - if( location == "FACTION_CAMP_ANY" ) { - std::optional bcp = overmap_buffer.find_camp( omt_pos.xy() ); - if( bcp ) { - return true; - } - // legacy check - const std::string &omt_str = omt_ref.id().c_str(); - return omt_str.find( "faction_base_camp" ) != std::string::npos; - } else if( location == "FACTION_CAMP_START" ) { - return !recipe_group::get_recipes_by_id( "all_faction_base_types", - omt_ref.id().c_str() ).empty(); - } else { - return omt_ref == oter_id( oter_no_dir( oter_id( location ) ) ); - } + return omt_ref == oter_id( oter_no_dir( oter_id( location ) ) ); }; } @@ -833,14 +819,6 @@ void conditional_t::set_is_outside() }; } -template -void conditional_t::set_u_has_camp() -{ - condition = []( const T & ) { - return !g->u.camps.empty(); - }; -} - template void conditional_t::set_has_pickup_list() { @@ -1165,8 +1143,6 @@ conditional_t::conditional_t( const std::string &type ) set_has_stolen_item( is_npc ); } else if( type == "is_outside" ) { set_is_outside(); - } else if( type == "u_has_camp" ) { - set_u_has_camp(); } else if( type == "has_pickup_list" ) { set_has_pickup_list(); } else if( type == "is_by_radio" ) { diff --git a/src/condition.h b/src/condition.h index e6b6704da9ad..488361905f5d 100644 --- a/src/condition.h +++ b/src/condition.h @@ -21,7 +21,7 @@ const std::unordered_set simple_string_conds = { { "mission_complete", "mission_incomplete", "mission_has_generic_rewards", "npc_available", "npc_following", "npc_friend", "npc_hostile", "npc_train_skills", "npc_train_styles", - "at_safe_space", "is_day", "npc_has_activity", "is_outside", "u_has_camp", + "at_safe_space", "is_day", "npc_has_activity", "is_outside", "u_can_stow_weapon", "npc_can_stow_weapon", "u_has_weapon", "npc_has_weapon", "u_driving", "npc_driving", "has_pickup_list", "is_by_radio", "has_reason" @@ -126,7 +126,6 @@ struct conditional_t { void set_has_stolen_item( bool is_npc = false ); void set_is_outside(); void set_is_by_radio(); - void set_u_has_camp(); void set_has_pickup_list(); void set_has_reason(); void set_is_gender( bool is_male, bool is_npc = false ); diff --git a/src/crafting.cpp b/src/crafting.cpp index 87353cde810a..7fde3e6ea528 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -95,8 +95,6 @@ static const std::string flag_FULL_MAGAZINE( "FULL_MAGAZINE" ); static const std::string flag_NO_RESIZE( "NO_RESIZE" ); static const std::string flag_UNCRAFT_LIQUIDS_CONTAINED( "UNCRAFT_LIQUIDS_CONTAINED" ); -class basecamp; - static std::pair best_bench_here( const item &craft, const tripoint &loc, bool can_lift ); @@ -1891,7 +1889,7 @@ void player::consume_tools( const comp_selection &tool, int batch ) /* we use this if we selected the tool earlier */ void player::consume_tools( map &m, const comp_selection &tool, int batch, - const tripoint &origin, int radius, basecamp *bcp ) + const tripoint &origin, int radius ) { if( has_trait( trait_DEBUG_HS ) ) { return; @@ -1902,7 +1900,7 @@ void player::consume_tools( map &m, const comp_selection &tool, int b use_charges( tool.comp.type, quantity ); } if( tool.use_from & use_from_map ) { - m.use_charges( origin, radius, tool.comp.type, quantity, return_true, bcp ); + m.use_charges( origin, radius, tool.comp.type, quantity, return_true ); } // else, use_from_none (or cancel), so we don't use up any tools; diff --git a/src/faction.cpp b/src/faction.cpp index ec9c425c0290..aa2c712b65e1 100644 --- a/src/faction.cpp +++ b/src/faction.cpp @@ -11,12 +11,10 @@ #include #include "avatar.h" -#include "basecamp.h" #include "bionics.h" #include "character.h" #include "cursesdef.h" #include "debug.h" -#include "faction_camp.h" #include "game.h" #include "game_constants.h" #include "input.h" @@ -480,31 +478,6 @@ bool string_id::is_valid() const return g->faction_manager_ptr->get( *this, false ) != nullptr; } -void basecamp::faction_display( const catacurses::window &fac_w, const int width ) const -{ - int y = 2; - const nc_color col = c_white; - Character &player_character = get_player_character(); - const tripoint_abs_omt player_abspos = player_character.global_omt_location(); - tripoint_abs_omt camp_pos = camp_omt_pos(); - std::string direction = direction_name( direction_from( player_abspos, camp_pos ) ); - mvwprintz( fac_w, point( width, ++y ), c_light_gray, _( "Press enter to rename this camp" ) ); - if( direction != "center" ) { - mvwprintz( fac_w, point( width, ++y ), c_light_gray, _( "Direction: to the " ) + direction ); - } - mvwprintz( fac_w, point( width, ++y ), col, _( "Location: %s" ), camp_pos.to_string() ); - faction *yours = player_character.get_faction(); - std::string food_text = string_format( _( "Food Supply: %s %d calories" ), - yours->food_supply_text(), yours->food_supply ); - nc_color food_col = yours->food_supply_color(); - mvwprintz( fac_w, point( width, ++y ), food_col, food_text ); - std::string bldg = next_upgrade( base_camps::base_dir, 1 ); - std::string bldg_full = _( "Next Upgrade: " ) + bldg; - mvwprintz( fac_w, point( width, ++y ), col, bldg_full ); - std::string requirements = om_upgrade_description( bldg, true ); - fold_and_print( fac_w, point( width, ++y ), getmaxx( fac_w ) - width - 2, col, requirements ); -} - void faction::faction_display( const catacurses::window &fac_w, const int width ) const { int y = 2; @@ -525,48 +498,6 @@ int npc::faction_display( const catacurses::window &fac_w, const int width ) con //get NPC followers, status, direction, location, needs, weapon, etc. mvwprintz( fac_w, point( width, ++y ), c_light_gray, _( "Press enter to talk to this follower " ) ); - std::string mission_string; - if( has_companion_mission() ) { - std::string dest_string; - std::optional dest = get_mission_destination(); - if( dest ) { - basecamp *dest_camp; - std::optional temp_camp = overmap_buffer.find_camp( dest->xy() ); - if( temp_camp ) { - dest_camp = *temp_camp; - dest_string = _( "traveling to: " ) + dest_camp->camp_name(); - } else { - dest_string = string_format( _( "traveling to: %s" ), dest->to_string() ); - } - mission_string = _( "Current Mission: " ) + dest_string; - } else { - npc_companion_mission c_mission = get_companion_mission(); - mission_string = _( "Current Mission: " ) + - get_mission_action_string( c_mission.mission_id ); - } - } - fold_and_print( fac_w, point( width, ++y ), getmaxx( fac_w ) - width - 2, col, mission_string ); - tripoint_abs_omt guy_abspos = global_omt_location(); - basecamp *temp_camp = nullptr; - if( assigned_camp ) { - std::optional bcp = overmap_buffer.find_camp( ( *assigned_camp ).xy() ); - if( bcp ) { - temp_camp = *bcp; - } - } - const bool is_stationed = assigned_camp && temp_camp; - std::string direction = direction_name( direction_from( player_abspos, guy_abspos ) ); - if( direction != "center" ) { - mvwprintz( fac_w, point( width, ++y ), col, _( "Direction: to the " ) + direction ); - } else { - mvwprintz( fac_w, point( width, ++y ), col, _( "Direction: Nearby" ) ); - } - if( is_stationed ) { - mvwprintz( fac_w, point( width, ++y ), col, _( "Location: %s, at camp: %s" ), - guy_abspos.to_string(), temp_camp->camp_name() ); - } else { - mvwprintz( fac_w, point( width, ++y ), col, _( "Location: %s" ), guy_abspos.to_string() ); - } std::string can_see; nc_color see_color; @@ -583,20 +514,6 @@ int npc::faction_display( const catacurses::window &fac_w, const int width ) con int max_range = 200; max_range *= ( 1 + ( g->u.pos().z * 0.1 ) ); max_range *= ( 1 + ( pos().z * 0.1 ) ); - if( is_stationed ) { - // if camp that NPC is at, has a radio tower - if( temp_camp->has_provides( "radio_tower" ) ) { - max_range *= 5; - } - } - // if camp that player is at, has a radio tower - std::optional player_camp = - overmap_buffer.find_camp( g->u.global_omt_location().xy() ); - if( player_camp ) { - if( ( *player_camp )->has_provides( "radio_tower" ) ) { - max_range *= 5; - } - } if( ( ( g->u.pos().z >= 0 && pos().z >= 0 ) || ( g->u.pos().z == pos().z ) ) && square_dist( g->u.global_sm_location(), global_sm_location() ) <= max_range ) { retval = 2; @@ -621,11 +538,6 @@ int npc::faction_display( const catacurses::window &fac_w, const int width ) con can_see = _( "Within interaction range" ); see_color = c_light_green; } - // TODO: NPCS on mission contactable same as traveling - if( has_companion_mission() ) { - can_see = _( "Press enter to recall from their mission." ); - see_color = c_light_red; - } mvwprintz( fac_w, point( width, ++y ), see_color, "%s", can_see ); nc_color status_col = col; std::string current_status = _( "Status: " ); @@ -644,11 +556,6 @@ int npc::faction_display( const catacurses::window &fac_w, const int width ) con current_status += _( "Guarding" ); } mvwprintz( fac_w, point( width, ++y ), status_col, current_status ); - if( is_stationed && has_job() ) { - mvwprintz( fac_w, point( width, ++y ), col, _( "Working at camp" ) ); - } else if( is_stationed ) { - mvwprintz( fac_w, point( width, ++y ), col, _( "Idling at camp" ) ); - } const std::pair condition = hp_description(); mvwprintz( fac_w, point( width, ++y ), condition.second, _( "Condition: " ) + condition.first ); @@ -719,7 +626,6 @@ void faction_manager::display() const FIRST_TAB = 0, LAST_TAB = NUM_TABS - 1 }; - g->validate_camps(); g->validate_npc_followers(); tab_mode tab = tab_mode::FIRST_TAB; size_t selection = 0; @@ -739,8 +645,6 @@ void faction_manager::display() const const faction *cur_fac = nullptr; bool interactable = false; bool radio_interactable = false; - basecamp *camp = nullptr; - std::vector camps; size_t active_vec_size = 0; ui.on_redraw( [&]( const ui_adaptor & ) { @@ -769,23 +673,7 @@ void faction_manager::display() const switch( tab ) { case tab_mode::TAB_MYFACTION: { const std::string no_camp = _( "You have no camps" ); - if( active_vec_size > 0 ) { - draw_scrollbar( w_missions, selection, entries_per_page, active_vec_size, - point( 0, 3 ) ); - for( size_t i = top_of_page; i < active_vec_size; i++ ) { - const int y = i - top_of_page + 3; - trim_and_print( w_missions, point( 1, y ), 28, selection == i ? hilite( col ) : col, - camps[i]->camp_name() ); - } - if( camp ) { - camp->faction_display( w_missions, 31 ); - } else { - mvwprintz( w_missions, point( 31, 4 ), c_light_red, no_camp ); - } - break; - } else { - mvwprintz( w_missions, point( 31, 4 ), c_light_red, no_camp ); - } + mvwprintz( w_missions, point( 31, 4 ), c_light_red, no_camp ); } break; case tab_mode::TAB_FOLLOWERS: { @@ -862,32 +750,18 @@ void faction_manager::display() const cur_fac = nullptr; interactable = false; radio_interactable = false; - camp = nullptr; - // create a list of faction camps - camps.clear(); - for( tripoint_abs_omt elem : g->u.camps ) { - std::optional p = overmap_buffer.find_camp( elem.xy() ); - if( !p ) { - continue; - } - basecamp *temp_camp = *p; - camps.push_back( temp_camp ); - } if( tab < tab_mode::FIRST_TAB || tab >= tab_mode::NUM_TABS ) { debugmsg( "The sanity check failed because tab=%d", static_cast( tab ) ); tab = tab_mode::FIRST_TAB; } - active_vec_size = camps.size(); + active_vec_size = 0; if( tab == tab_mode::TAB_FOLLOWERS ) { if( selection < followers.size() ) { guy = followers[selection]; } active_vec_size = followers.size(); } else if( tab == tab_mode::TAB_MYFACTION ) { - if( selection < camps.size() ) { - camp = camps[selection]; - } - active_vec_size = camps.size(); + active_vec_size = 0; } else if( tab == tab_mode::TAB_OTHERFACTIONS ) { if( selection < valfac.size() ) { cur_fac = valfac[selection]; @@ -927,8 +801,6 @@ void faction_manager::display() const } else { if( tab == tab_mode::TAB_FOLLOWERS && guy && ( interactable || radio_interactable ) ) { guy->talk_to_u( radio_interactable ); - } else if( tab == tab_mode::TAB_MYFACTION && camp ) { - camp->query_new_name(); } } } else if( action == "QUIT" ) { diff --git a/src/faction_camp.cpp b/src/faction_camp.cpp deleted file mode 100644 index dbd5bd361ad6..000000000000 --- a/src/faction_camp.cpp +++ /dev/null @@ -1,4082 +0,0 @@ -#include "faction_camp.h" // IWYU pragma: associated - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "activity_handlers.h" -#include "avatar.h" -#include "basecamp.h" -#include "calendar.h" -#include "cata_utility.h" -#include "catacharset.h" -#include "clzones.h" -#include "color.h" -#include "coordinate_conversions.h" -#include "coordinates.h" -#include "cursesdef.h" -#include "debug.h" -#include "editmap.h" -#include "enums.h" -#include "faction.h" -#include "game.h" -#include "game_constants.h" -#include "iexamine.h" -#include "input.h" -#include "int_id.h" -#include "inventory.h" -#include "item.h" -#include "item_contents.h" -#include "item_group.h" -#include "item_stack.h" -#include "itype.h" -#include "kill_tracker.h" -#include "line.h" -#include "map.h" -#include "map_iterator.h" -#include "mapdata.h" -#include "mapgen_functions.h" -#include "memory_fast.h" -#include "messages.h" -#include "mission.h" -#include "mission_companion.h" -#include "npc.h" -#include "npctalk.h" -#include "output.h" -#include "overmap.h" -#include "overmap_ui.h" -#include "overmapbuffer.h" -#include "player_activity.h" -#include "point.h" -#include "recipe.h" -#include "recipe_groups.h" -#include "requirements.h" -#include "rng.h" -#include "skill.h" -#include "stomach.h" -#include "string_formatter.h" -#include "string_id.h" -#include "string_input_popup.h" -#include "translations.h" -#include "type_id.h" -#include "ui.h" -#include "ui_manager.h" -#include "units.h" -#include "value_ptr.h" -#include "veh_type.h" -#include "vehicle.h" -#include "vehicle_part.h" -#include "vpart_position.h" -#include "vpart_range.h" -#include "weather.h" -#include "weighted_list.h" - -class character_id; - -static const activity_id ACT_MOVE_LOOT( "ACT_MOVE_LOOT" ); - -static const itype_id itype_fungal_seeds( "fungal_seeds" ); -static const itype_id itype_log( "log" ); -static const itype_id itype_marloss_seed( "marloss_seed" ); - -static const std::string flag_PLOWABLE( "PLOWABLE" ); -static const std::string flag_TREE( "TREE" ); - -static const zone_type_id zone_type_camp_food( "CAMP_FOOD" ); -static const zone_type_id zone_type_camp_storage( "CAMP_STORAGE" ); - -static const skill_id skill_bashing( "bashing" ); -static const skill_id skill_cutting( "cutting" ); -static const skill_id skill_dodge( "dodge" ); -static const skill_id skill_fabrication( "fabrication" ); -static const skill_id skill_gun( "gun" ); -static const skill_id skill_mechanics( "mechanics" ); -static const skill_id skill_melee( "melee" ); -static const skill_id skill_speech( "speech" ); -static const skill_id skill_stabbing( "stabbing" ); -static const skill_id skill_survival( "survival" ); -static const skill_id skill_swimming( "swimming" ); -static const skill_id skill_traps( "traps" ); -static const skill_id skill_unarmed( "unarmed" ); - -static const mtype_id mon_bear( "mon_bear" ); -static const mtype_id mon_beaver( "mon_beaver" ); -static const mtype_id mon_black_rat( "mon_black_rat" ); -static const mtype_id mon_chicken( "mon_chicken" ); -static const mtype_id mon_chipmunk( "mon_chipmunk" ); -static const mtype_id mon_cockatrice( "mon_cockatrice" ); -static const mtype_id mon_cougar( "mon_cougar" ); -static const mtype_id mon_cow( "mon_cow" ); -static const mtype_id mon_coyote( "mon_coyote" ); -static const mtype_id mon_deer( "mon_deer" ); -static const mtype_id mon_duck( "mon_duck" ); -static const mtype_id mon_fox_gray( "mon_fox_gray" ); -static const mtype_id mon_fox_red( "mon_fox_red" ); -static const mtype_id mon_groundhog( "mon_groundhog" ); -static const mtype_id mon_grouse( "mon_grouse" ); -static const mtype_id mon_hare( "mon_hare" ); -static const mtype_id mon_lemming( "mon_lemming" ); -static const mtype_id mon_mink( "mon_mink" ); -static const mtype_id mon_moose( "mon_moose" ); -static const mtype_id mon_muskrat( "mon_muskrat" ); -static const mtype_id mon_opossum( "mon_opossum" ); -static const mtype_id mon_otter( "mon_otter" ); -static const mtype_id mon_pheasant( "mon_pheasant" ); -static const mtype_id mon_pig( "mon_pig" ); -static const mtype_id mon_rabbit( "mon_rabbit" ); -static const mtype_id mon_squirrel( "mon_squirrel" ); -static const mtype_id mon_turkey( "mon_turkey" ); -static const mtype_id mon_weasel( "mon_weasel" ); -static const mtype_id mon_wolf( "mon_wolf" ); - -static const trait_id trait_DEBUG_HS( "DEBUG_HS" ); - -struct mass_volume { - units::mass wgt; - units::volume vol; - int count; -}; - -namespace base_camps -{ -// eventually this will include the start and return functions -struct miss_data { - std::string miss_id; - translation desc; - translation action; - std::string ret_miss_id; - translation ret_desc; -}; - -recipe_id select_camp_option( const std::map &pos_options, - const std::string &option ); - -// eventually this will move to JSON -std::map miss_info = {{ - { - "_faction_upgrade_camp", { - "Upgrade Camp", to_translation( "Upgrade camp" ), - to_translation( "Working to expand your camp!\n" ), - "Recover Ally from Upgrading", to_translation( "Recover Ally from Upgrading" ) - } - }, - { - "_faction_camp_recall", { - "Emergency Recall", to_translation( "Emergency Recall" ), - to_translation( "Lost in the ether!\n" ), - "Emergency Recall", to_translation( "Emergency Recall" ) - } - }, - { - "_faction_camp_crafting_", { - "Craft Item", to_translation( "Craft Item" ), - to_translation( "Busy crafting!\n" ), - " (Finish) Crafting", to_translation( " (Finish) Crafting" ) - } - }, - { - "traveling", { - "Traveling", to_translation( "Traveling" ), - to_translation( "Busy traveling!\n" ), - "Recall ally from traveling", to_translation( "Recall ally from traveling" ) - } - }, - { - "_faction_camp_gathering", { - "Gather Materials", to_translation( "Gather Materials" ), - to_translation( "Searching for materials to upgrade the camp.\n" ), - "Recover Ally from Gathering", to_translation( "Recover Ally from Gathering" ) - } - }, - { - "_faction_camp_firewood", { - "Collect Firewood", to_translation( "Collect Firewood" ), - to_translation( "Searching for firewood.\n" ), - "Recover Firewood Gatherers", to_translation( "Recover Firewood Gatherers" ) - } - }, - { - "_faction_camp_menial", { - "Menial Labor", to_translation( "Menial Labor" ), - to_translation( "Performing menial labor…\n" ), - "Recover Menial Laborer", to_translation( "Recover Menial Laborer" ) - } - }, - { - "_faction_camp_expansion", { - "Expand Base", to_translation( "Expand Base" ), - to_translation( "Surveying for expansion…\n" ), - "Recover Surveyor", to_translation( "Recover Surveyor" ) - } - }, - { - "_faction_camp_cut_log", { - "Cut Logs", to_translation( "Cut Logs" ), - to_translation( "Cutting logs in the woods…\n" ), - "Recover Log Cutter", to_translation( "Recover Log Cutter" ) - } - }, - { - "_faction_camp_clearcut", { - "Clearcut", to_translation( "Clear a forest" ), - to_translation( "Clearing a forest…\n" ), - "Recover Clearcutter", to_translation( "Recover Clearcutter" ) - } - }, - { - "_faction_camp_hide_site", { - "Setup Hide Site", to_translation( "Setup Hide Site" ), - to_translation( "Setting up a hide site…\n" ), - "Recover Hide Setup", to_translation( "Recover Hide Setup" ) - } - }, - { - "_faction_camp_hide_trans", { - "Relay Hide Site", to_translation( "Relay Hide Site" ), - to_translation( "Transferring gear to a hide site…\n" ), - "Recover Hide Relay", to_translation( "Recover Hide Relay" ) - } - }, - { - "_faction_camp_foraging", { - "Camp Forage", to_translation( "Forage for plants" ), - to_translation( "Foraging for edible plants.\n" ), - "Recover Foragers", to_translation( "Recover Foragers" ) - } - }, - { - "_faction_camp_trapping", { - "Trap Small Game", to_translation( "Trap Small Game" ), - to_translation( "Trapping Small Game.\n" ), - "Recover Trappers", to_translation( "Recover Trappers" ) - } - }, - { - "_faction_camp_hunting", { - "Hunt Large Animals", to_translation( "Hunt Large Animals" ), - to_translation( "Hunting large animals.\n" ), - "Recover Hunter", to_translation( "Recover Hunter" ) - } - }, - { - "_faction_camp_om_fortifications", { - "Construct Map Fort", to_translation( "Construct Map Fortifications" ), - to_translation( "Constructing fortifications…\n" ), - "Finish Map Fort", to_translation( "Finish Map Fortifications" ) - } - }, - { - "_faction_camp_recruit_0", { - "Recruit Companions", to_translation( "Recruit Companions" ), - to_translation( "Searching for recruits.\n" ), - "Recover Recruiter", to_translation( "Recover Recruiter" ) - } - }, - { - "_faction_camp_scout_0", { - "Scout Mission", to_translation( "Scout Mission" ), - to_translation( "Scouting the region.\n" ), - "Recover Scout", to_translation( "Recover Scout" ) - } - }, - { - "_faction_camp_combat_0", { - "Combat Patrol", to_translation( "Combat Patrol" ), - to_translation( "Patrolling the region.\n" ), - "Recover Combat Patrol", to_translation( "Recover Combat Patrol" ) - } - }, - { - "_faction_upgrade_exp_", { - " Expansion Upgrade", to_translation( " Expansion Upgrade" ), - to_translation( "Working to upgrade your expansions!\n" ), - "Recover Ally", to_translation( "Recover Ally" ) - } - }, - { - "_faction_exp_chop_shop_", { - " Chop Shop", to_translation( " Chop Shop" ), - to_translation( "Working at the chop shop…\n" ), - " (Finish) Chop Shop", to_translation( " (Finish) Chop Shop" ) - } - }, - { - "_faction_exp_kitchen_cooking_", { - " Kitchen Cooking", to_translation( " Kitchen Cooking" ), - to_translation( "Working in your kitchen!\n" ), - " (Finish) Cooking", to_translation( " (Finish) Cooking" ) - } - }, - { - "_faction_exp_blacksmith_crafting_", { - " Blacksmithing", to_translation( " Blacksmithing" ), - to_translation( "Working in your blacksmith shop!\n" ), - " (Finish) Smithing", to_translation( " (Finish) Smithing" ) - } - }, - { - "_faction_exp_plow_", { - " Plow Fields", to_translation( " Plow Fields" ), - to_translation( "Working to plow your fields!\n" ), - " (Finish) Plow Fields", to_translation( " (Finish) Plow fields" ) - } - }, - { - "_faction_exp_plant_", { - " Plant Fields", to_translation( " Plant Fields" ), - to_translation( "Working to plant your fields!\n" ), - " (Finish) Plant Fields", to_translation( " (Finish) Plant Fields" ) - } - }, - { - "_faction_exp_harvest_", { - " Harvest Fields", to_translation( " Harvest Fields" ), - to_translation( "Working to harvest your fields!\n" ), - " (Finish) Harvest Fields", to_translation( " (Finish) Harvest Fields" ) - } - }, - { - "_faction_exp_farm_crafting_", { - " Farm Crafting", to_translation( " Farm Crafting" ), - to_translation( "Working on your farm!\n" ), - " (Finish) Crafting", to_translation( " (Finish) Crafting" ) - } - } - } -}; -} // namespace base_camps - -/**** Forward declaration of utility functions */ -/** - * Counts or destroys and drops the bash items of all furniture that matches @ref f in the map tile - * @param comp NPC companion - * @param omt_tgt the targeted OM tile - * @param f furniture you are looking for - * @param chance chance of destruction, 0 to 100 - * @param estimate if true, non-destructive count of the furniture - * @param bring_back force the destruction of the furniture and bring back the drop items - */ -int om_harvest_furn( npc &comp, const tripoint &omt_tgt, const furn_id &f, int chance = 100, - bool estimate = false, bool bring_back = true ); -// om_harvest_furn helper function that counts the furniture instances -int om_harvest_furn_est( npc &comp, const tripoint &omt_tgt, const furn_id &f, int chance = 100 ); -int om_harvest_furn_break( npc &comp, const tripoint &omt_tgt, const furn_id &f, - int chance = 100 ); -/// Exact same as om_harvest_furn but functions on terrain -int om_harvest_ter( npc &comp, const tripoint_abs_omt &omt_tgt, const ter_id &t, int chance = 100, - bool estimate = false, bool bring_back = true ); -// om_harvest_furn helper function that counts the furniture instances -int om_harvest_ter_est( npc &comp, const tripoint_abs_omt &omt_tgt, const ter_id &t, - int chance = 100 ); -int om_harvest_ter_break( npc &comp, const tripoint_abs_omt &omt_tgt, const ter_id &t, - int chance = 100 ); -/// Collects all items in @ref omt_tgt with a @ref chance between 0 - 1.0, returns total -/// mass and volume -/// @ref take, whether you take the item or count it -mass_volume om_harvest_itm( const npc_ptr &comp, const tripoint_abs_omt &omt_tgt, int chance = 100, - bool take = true ); -void apply_camp_ownership( const tripoint &camp_pos, int radius ); -/* - * Counts or cuts trees into trunks and trunks into logs - * @param omt_tgt the targeted OM tile - * @param chance chance of destruction, 0 to 100 - * @param estimate if true, non-destructive count of trees - * @force_cut_trunk if true and estimate is false, chop tree trunks into logs - */ -int om_cutdown_trees( const tripoint_abs_omt &omt_tgt, int chance = 100, bool estimate = false, - bool force_cut_trunk = true ); -int om_cutdown_trees_est( const tripoint_abs_omt &omt_tgt, int chance = 100 ); -int om_cutdown_trees_logs( const tripoint_abs_omt &omt_tgt, int chance = 100 ); -int om_cutdown_trees_trunks( const tripoint_abs_omt &omt_tgt, int chance = 100 ); - -/// Creates an improvised shelter at @ref omt_tgt and dumps the @ref itms into the building -bool om_set_hide_site( npc &comp, const tripoint_abs_omt &omt_tgt, const std::vector &itms, - const std::vector &itms_rem = {} ); -/** - * Opens the overmap so that you can select points for missions or constructions. - * @param omt_pos where your camp is, used for calculating travel distances - * @param min_range - * @param range max number of OM tiles the user can select - * @param possible_om_types requires the user to reselect if the OM picked isn't in the list - * @param must_see whether the user can select points in the unknown/fog of war - * @param popup_notice toggles if the user should be shown ranges before being allowed to pick - * @param source if you are selecting multiple points this is where the OM is centered to start - * @param bounce - */ -tripoint_abs_omt om_target_tile( - const tripoint_abs_omt &omt_pos, int min_range = 1, int range = 1, - const std::vector &possible_om_types = {}, bool must_see = true, - bool popup_notice = true, const tripoint_abs_omt &source = tripoint_abs_omt( -999, -999, -999 ), - bool bounce = false ); -void om_range_mark( const tripoint_abs_omt &origin, int range, bool add_notes = true, - const std::string &message = "Y;X: MAX RANGE" ); -void om_line_mark( - const tripoint_abs_omt &origin, const tripoint_abs_omt &dest, bool add_notes = true, - const std::string &message = "R;X: PATH" ); -std::vector om_companion_path( - const tripoint_abs_omt &start, int range_start = 90, bool bounce = true ); -/** - * Can be used to calculate total trip time for an NPC mission or just the traveling portion. - * Doesn't use the pathingalgorithms yet. - * @param omt_pos start point - * @param omt_tgt target point - * @param work how much time the NPC will stay at the target - * @param trips how many trips back and forth the NPC will make - */ -time_duration companion_travel_time_calc( const tripoint_abs_omt &pos, const tripoint_abs_omt &tgt, - time_duration work, int trips = 1, int haulage = 0 ); -time_duration companion_travel_time_calc( - const std::vector &journey, time_duration work, int trips = 1, - int haulage = 0 ); -/// Determines how many round trips a given NPC @ref comp will take to move all of the -/// items @ref itms -int om_carry_weight_to_trips( const std::vector &itms, const npc_ptr &comp = nullptr ); -/// Determines how many trips it takes to move @ref mass and @ref volume of items -/// with @ref carry_mass and @ref carry_volume moved per trip -int om_carry_weight_to_trips( units::mass mass, units::volume volume, units::mass carry_mass, - units::volume carry_volume ); -/// Formats the variables into a standard looking description to be displayed in a ynquery window -std::string camp_trip_description( const time_duration &total_time, - const time_duration &working_time, - const time_duration &travel_time, - int distance, int trips, int need_food ); - -/// Returns a string for display of the selected car so you don't chop shop the wrong one -std::string camp_car_description( vehicle *car ); -std::string camp_farm_act( const tripoint &omt_pos, size_t &plots_count, farm_ops operation ); - -/// Changes the faction food supply by @ref change, 0 returns total food supply, a negative -/// total food supply hurts morale -int camp_food_supply( int change = 0, bool return_days = false ); -/// Same as above but takes a time_duration and consumes from faction food supply for that -/// duration of work -int camp_food_supply( time_duration work ); -/// Returns the total charges of food time_duration @ref work costs -int time_to_food( time_duration work ); -/// Changes the faction respect for you by @ref change, returns repect -int camp_discipline( int change = 0 ); -/// Changes the faction opinion for you by @ref change, returns opinion -int camp_morale( int change = 0 ); -/* - * check if a companion survives a random encounter - * @param comp the companion - * @param situation what the survivor is doing - * @param favor a number added to the survivor's skills to see if he can avoid the encounter - * @param threat a number indicating how dangerous the encounter is - * TODO: Convert to JSON basic on dynamic line type structure - */ -bool survive_random_encounter( npc &comp, std::string &situation, int favor, int threat ); - -static bool update_time_left( std::string &entry, const comp_list &npc_list ) -{ - bool avail = false; - for( auto &comp : npc_list ) { - if( comp->companion_mission_time_ret < calendar:: turn ) { - entry = entry + _( " [DONE]\n" ); - avail = true; - } else { - entry = entry + " [" + - to_string( comp->companion_mission_time_ret - calendar::turn ) + - _( " left]\n" ); - avail = g->u.has_trait( trait_DEBUG_HS ); - } - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - return avail; -} - -static bool update_time_fixed( std::string &entry, const comp_list &npc_list, - const time_duration &duration ) -{ - bool avail = false; - for( auto &comp : npc_list ) { - time_duration elapsed = calendar::turn - comp->companion_mission_time; - entry = entry + " " + comp->name + " [" + to_string( elapsed ) + "/" + - to_string( duration ) + "]\n"; - avail |= elapsed >= duration; - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - return avail; -} - -static std::optional get_basecamp( npc &p, const std::string &camp_type = "default" ) -{ - - tripoint_abs_omt omt_pos = p.global_omt_location(); - std::optional bcp = overmap_buffer.find_camp( omt_pos.xy() ); - if( bcp ) { - return bcp; - } - get_map().add_camp( omt_pos, "faction_camp" ); - bcp = overmap_buffer.find_camp( omt_pos.xy() ); - if( !bcp ) { - return std::nullopt; - } - basecamp *temp_camp = *bcp; - temp_camp->define_camp( omt_pos, camp_type ); - return temp_camp; -} - -recipe_id base_camps::select_camp_option( const std::map &pos_options, - const std::string &option ) -{ - std::vector pos_name_ids; - std::vector pos_names; - for( const auto &it : pos_options ) { - pos_names.push_back( it.second.translated() ); - pos_name_ids.push_back( it.first ); - } - - if( pos_name_ids.size() == 1 ) { - return pos_name_ids.front(); - } - - const int choice = uilist( _( option ), pos_names ); - if( choice < 0 || static_cast( choice ) >= pos_name_ids.size() ) { - popup( _( "You choose to wait…" ) ); - return recipe_id::NULL_ID(); - } - return pos_name_ids[choice]; -} - -void talk_function::start_camp( npc &p ) -{ - const tripoint_abs_omt omt_pos = p.global_omt_location(); - const oter_id &omt_ref = overmap_buffer.ter( omt_pos ); - - const auto &pos_camps = recipe_group::get_recipes_by_id( "all_faction_base_types", - omt_ref.id().c_str() ); - if( pos_camps.empty() ) { - popup( _( "You cannot build a camp here." ) ); - return; - } - const recipe_id camp_type = base_camps::select_camp_option( pos_camps, - _( "Select a camp type:" ) ); - if( !camp_type ) { - return; - } - - std::vector> om_region = - om_building_region( omt_pos, 1 ); - int near_fields = 0; - for( const auto &om_near : om_region ) { - const oter_id &om_type = oter_id( om_near.first ); - if( is_ot_match( "field", om_type, ot_match_type::contains ) ) { - near_fields += 1; - } - } - std::vector> om_region_ext = - om_building_region( omt_pos, 3 ); - int forests = 0; - int waters = 0; - for( const auto &om_near : om_region_ext ) { - const oter_id &om_type = oter_id( om_near.first ); - if( is_ot_match( "faction_base", om_type, ot_match_type::contains ) ) { - popup( _( "You are too close to another camp!" ) ); - return; - } else if( is_ot_match( "forest", om_type, ot_match_type::contains ) ) { - forests++; - } else if( is_ot_match( "river", om_type, ot_match_type::contains ) ) { - waters++; - } - } - bool display = false; - std::string buffer = _( "Warning, you have selected a region with the following issues:\n\n" ); - if( forests < 3 ) { - display = true; - buffer += _( "There are few forests. Wood is your primary construction material.\n" ); - } - if( waters == 0 ) { - display = true; - buffer += _( "There are few large clean-ish water sources.\n" ); - } - if( near_fields < 4 ) { - display = true; - buffer += _( "There are few fields. Farming may be difficult.\n" ); - } - if( display && !query_yn( _( "%s\nAre you sure you wish to continue?" ), buffer ) ) { - return; - } - const recipe &making = camp_type.obj(); - if( !run_mapgen_update_func( making.get_blueprint(), omt_pos ) ) { - popup( _( "%s failed to start the %s basecamp, perhaps there is a vehicle in the way." ), - p.disp_name(), making.get_blueprint() ); - return; - } - get_basecamp( p, camp_type.str() ); -} - -void talk_function::recover_camp( npc &p ) -{ - const tripoint_abs_omt omt_pos = p.global_omt_location(); - const std::string &omt_ref = overmap_buffer.ter( omt_pos ).id().c_str(); - if( omt_ref.find( "faction_base_camp" ) == std::string::npos ) { - popup( _( "There is no faction camp here to recover!" ) ); - return; - } - get_basecamp( p ); -} - -void talk_function::remove_overseer( npc &p ) -{ - size_t suffix = p.name.find( _( ", Camp Manager" ) ); - if( suffix != std::string::npos ) { - p.name = p.name.substr( 0, suffix ); - } - - add_msg( _( "%s has abandoned the camp." ), p.name ); - p.companion_mission_role_id.clear(); - stop_guard( p ); -} - -void talk_function::basecamp_mission( npc &p ) -{ - const std::string title = _( "Base Missions" ); - const tripoint_abs_omt omt_pos = p.global_omt_location(); - mission_data mission_key; - - std::optional temp_camp = get_basecamp( p ); - if( !temp_camp ) { - return; - } - basecamp *bcp = *temp_camp; - bcp->set_by_radio( g->u.dialogue_by_radio ); - if( bcp->get_dumping_spot() == tripoint_zero ) { - map &here = get_map(); - auto &mgr = zone_manager::get_manager(); - if( here.check_vehicle_zones( g->get_levz() ) ) { - mgr.cache_vzones(); - } - tripoint src_loc; - const auto abspos = p.global_square_location(); - if( mgr.has_near( zone_type_camp_storage, abspos, 60 ) ) { - const auto &src_set = mgr.get_near( zone_type_camp_storage, abspos ); - const auto &src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); - // Find the nearest unsorted zone to dump objects at - for( auto &src : src_sorted ) { - src_loc = here.getlocal( src ); - break; - } - } - bcp->set_dumping_spot( here.getabs( src_loc ) ); - } - bcp->get_available_missions( mission_key ); - if( display_and_choose_opts( mission_key, omt_pos, base_camps::id, title ) ) { - bcp->handle_mission( mission_key.cur_key.id, mission_key.cur_key.dir ); - } -} - -void basecamp::add_available_recipes( mission_data &mission_key, point dir, - const std::map &craft_recipes ) -{ - const std::string dir_id = base_camps::all_directions.at( dir ).id; - const std::string dir_abbr = base_camps::all_directions.at( dir ).bracket_abbr.translated(); - for( const auto &recipe_data : craft_recipes ) { - const std::string id = dir_id + recipe_data.first.str(); - const std::string &title_e = dir_abbr + recipe_data.second; - const std::string &entry = craft_description( recipe_data.first ); - const recipe &recp = recipe_data.first.obj(); - bool craftable = recp.deduped_requirements().can_make_with_inventory( - _inv, recp.get_component_filter() ); - mission_key.add_start( id, title_e, dir, entry, craftable ); - } -} - -void basecamp::get_available_missions_by_dir( mission_data &mission_key, point dir ) -{ - std::string entry; - std::string gather_bldg = "null"; - - const std::string dir_id = base_camps::all_directions.at( dir ).id; - const std::string dir_abbr = base_camps::all_directions.at( dir ).bracket_abbr.translated(); - const tripoint_abs_omt omt_trg = omt_pos + dir; - - if( dir != base_camps::base_dir ) { - // return legacy workers - comp_list npc_list = get_mission_workers( "_faction_upgrade_exp_" + dir_id ); - if( !npc_list.empty() ) { - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_exp_" ]; - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( "Recover Ally, " + dir_id + " Expansion", - _( "Recover Ally, " ) + dir_abbr + _( " Expansion" ), dir, - entry, avail ); - } - // Generate upgrade missions for expansions - for( const basecamp_upgrade &upgrade : available_upgrades( dir ) ) { - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_exp_" ]; - comp_list npc_list = get_mission_workers( upgrade.bldg + "_faction_upgrade_exp_" + - dir_id ); - if( npc_list.empty() ) { - entry = om_upgrade_description( upgrade.bldg ); - mission_key.add_start( dir_id + miss_info.miss_id + upgrade.bldg, - dir_abbr + miss_info.desc + " " + upgrade.name, dir, entry, - upgrade.avail ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( "Recover Ally, " + dir_id + " Expansion" + upgrade.bldg, - _( "Recover Ally, " ) + dir_abbr + _( " Expansion" ) + - " " + upgrade.name, dir, entry, avail ); - } - } - } - - if( has_provides( "gathering", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_gathering" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_gathering" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to gather materials for the next camp " - "upgrade.\n\n" - "Skill used: survival\n" - "Difficulty: N/A\n" - "Gathering Possibilities:\n" - "%s\n" - "Risk: Very Low\n" - "Time: 3 Hours, Repeated\n" - "Positions: %d/3\n" ), gathering_description( gather_bldg ), - npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, - entry, npc_list.size() < 3 ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_fixed( entry, npc_list, 3_hours ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - dir, entry, avail ); - } - } - if( has_provides( "firewood", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_firewood" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_firewood" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to gather light brush and heavy sticks.\n\n" - "Skill used: survival\n" - "Difficulty: N/A\n" - "Gathering Possibilities:\n" - "> heavy sticks\n" - "> withered plants\n" - "> splintered wood\n\n" - "Risk: Very Low\n" - "Time: 3 Hours, Repeated\n" - "Positions: %d/3\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), std::nullopt, - entry, npc_list.size() < 3 ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_fixed( entry, npc_list, 3_hours ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - if( has_provides( "sorting", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_menial" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_menial" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to do low level chores and sort " - "supplies.\n\n" - "Skill used: fabrication\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Material left in the unsorted loot zone will be sorted " - "into a defined loot zone." - "\n\nRisk: None\n" - "Time: 3 Hours\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), std::nullopt, - entry, npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "logging", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_cut_log" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_cut_log" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to a nearby forest to cut logs.\n\n" - "Skill used: fabrication\n" - "Difficulty: 1\n" - "Effects:\n" - "> 50%% of trees/trunks at the forest position will be " - "cut down.\n" - "> 100%% of total material will be brought back.\n" - "> Repeatable with diminishing returns.\n" - "> Will eventually turn forests into fields.\n" - "Risk: None\n" - "Time: 6 Hour Base + Travel Time + Cutting Time\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), std::nullopt, - entry, npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "logging", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_clearcut" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_clearcut" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to a clear a nearby forest.\n\n" - "Skill used: fabrication\n" - "Difficulty: 1\n" - "Effects:\n" - "> 95%% of trees/trunks at the forest position" - " will be cut down.\n" - "> 0%% of total material will be brought back.\n" - "> Forest should become a field tile.\n" - "> Useful for clearing land for another faction camp.\n\n" - "Risk: None\n" - "Time: 6 Hour Base + Travel Time + Cutting Time\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), std::nullopt, - entry, npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "relaying", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_hide_site" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_hide_site" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to build an improvised shelter and stock it " - "with equipment at a distant map location.\n\n" - "Skill used: survival\n" - "Difficulty: 3\n" - "Effects:\n" - "> Good for setting up resupply or contingency points.\n" - "> Gear is left unattended and could be stolen.\n" - "> Time dependent on weight of equipment being sent forward.\n\n" - "Risk: Medium\n" - "Time: 6 Hour Construction + Travel\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), std::nullopt, - entry, npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "relaying", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_hide_trans" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_hide_trans" ]; - entry = string_format( _( "Notes:\n" - "Push gear out to a hide site or bring gear back from one.\n\n" - "Skill used: survival\n" - "Difficulty: 1\n" - "Effects:\n" - "> Good for returning equipment you left in the hide site " - "shelter.\n" - "> Gear is left unattended and could be stolen.\n" - "> Time dependent on weight of equipment being sent forward or " - "back.\n\n" - "Risk: Medium\n" - "Time: 1 Hour Base + Travel\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), std::nullopt, entry, - npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "foraging", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_foraging" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_foraging" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to forage for edible plants.\n\n" - "Skill used: survival\n" - "Difficulty: N/A\n" - "Foraging Possibilities:\n" - "> wild vegetables\n" - "> fruits and nuts depending on season\n" - "May produce less food than consumed!\n" - "Risk: Very Low\n" - "Time: 4 Hours, Repeated\n" - "Positions: %d/3\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, - entry, npc_list.size() < 3 ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_fixed( entry, npc_list, 4_hours ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - dir, entry, avail ); - } - } - - if( has_provides( "trapping", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_trapping" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_trapping" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to set traps for small game.\n\n" - "Skill used: trapping\n" - "Difficulty: N/A\n" - "Trapping Possibilities:\n" - "> small and tiny animal corpses\n" - "May produce less food than consumed!\n" - "Risk: Low\n" - "Time: 6 Hours, Repeated\n" - "Positions: %d/2\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, - entry, npc_list.size() < 2 ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_fixed( entry, npc_list, 6_hours ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - dir, entry, avail ); - } - } - - if( has_provides( "hunting", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_hunting" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_hunting" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to hunt large animals.\n\n" - "Skill used: marksmanship\n" - "Difficulty: N/A\n" - "Hunting Possibilities:\n" - "> small, medium, or large animal corpses\n" - "May produce less food than consumed!\n" - "Risk: Medium\n" - "Time: 6 Hours, Repeated\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, - entry, npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_fixed( entry, npc_list, 6_hours ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - dir, entry, avail ); - } - } - - if( has_provides( "walls", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_om_fortifications" ); - const base_camps::miss_data &miss_info = - base_camps::miss_info[ "_faction_camp_om_fortifications" ]; - entry = om_upgrade_description( "faction_wall_level_N_0" ); - mission_key.add_start( "Construct Map Fort", _( "Construct Map Fortifications" ), - dir, entry, npc_list.empty() ); - entry = om_upgrade_description( "faction_wall_level_N_1" ); - mission_key.add_start( "Construct Trench", _( "Construct Spiked Trench" ), dir, entry, - npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "recruiting", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_recruit_0" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_recruit_0" ]; - entry = recruit_description( npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, entry, - npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "scouting", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_scout_0" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_scout_0" ]; - entry = string_format( _( "Notes:\n" - "Send a companion out into the great unknown. High survival " - "skills are needed to avoid combat but you should expect an " - "encounter or two.\n\n" - "Skill used: survival\n" - "Difficulty: 3\n" - "Effects:\n" - "> Select checkpoints to customize path.\n" - "> Reveals terrain around the path.\n" - "> Can bounce off hide sites to extend range.\n\n" - "Risk: High\n" - "Time: Travel\n" - "Positions: %d/3\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, - entry, npc_list.size() < 3 ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "patrolling", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_camp_combat_0" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_combat_0" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to purge the wasteland. Their goal is to " - "kill anything hostile they encounter and return when " - "their wounds are too great or the odds are stacked against " - "them.\n\n" - "Skill used: survival\n" - "Difficulty: 4\n" - "Effects:\n" - "> Pulls creatures encountered into combat instead of " - "fleeing.\n" - "> Select checkpoints to customize path.\n" - "> Can bounce off hide sites to extend range.\n\n" - "Risk: Very High\n" - "Time: Travel\n" - "Positions: %d/3\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), std::nullopt, - entry, npc_list.size() < 3 ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - std::nullopt, entry, avail ); - } - } - - if( has_provides( "dismantling", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_chop_shop_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_chop_shop_" ]; - entry = _( "Notes:\n" - "Have a companion attempt to completely dissemble a vehicle into " - "components.\n\n" - "Skill used: mechanics\n" - "Difficulty: 2\n" - "Effects:\n" - "> Removed parts placed on the furniture in the garage.\n" - "> Skill plays a huge role to determine what is salvaged.\n\n" - "Risk: None\n" - "Time: 5 days\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, dir_abbr + miss_info.desc, dir, entry, - npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } - - std::map craft_recipes = recipe_deck( dir ); - if( has_provides( "kitchen", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_kitchen_cooking_" + dir_id ); - const base_camps::miss_data &miss_info = - base_camps::miss_info[ "_faction_exp_kitchen_cooking_" ]; - if( npc_list.empty() ) { - add_available_recipes( mission_key, dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } - - if( has_provides( "blacksmith", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_blacksmith_crafting_" + dir_id ); - const base_camps::miss_data &miss_info = - base_camps::miss_info[ "_faction_exp_blacksmith_crafting_" ]; - if( npc_list.empty() ) { - add_available_recipes( mission_key, dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } - - if( has_provides( "farming", dir ) ) { - size_t plots = 0; - comp_list npc_list = get_mission_workers( "_faction_exp_plow_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_plow_" ]; - if( npc_list.empty() ) { - entry = _( "Notes:\n" - "Plow any spaces that have reverted to dirt or grass.\n\n" ) + - farm_description( omt_trg, plots, farm_ops::plow ) + - _( "\n\n" - "Skill used: fabrication\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Restores only the plots created in the last expansion upgrade.\n" - "> Does not damage existing crops.\n\n" - "Risk: None\n" - "Time: 5 Min / Plot\n" - "Positions: 0/1\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, dir_abbr + miss_info.desc, dir, - entry, plots > 0 ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } - if( has_provides( "farming", dir ) ) { - size_t plots = 0; - comp_list npc_list = get_mission_workers( "_faction_exp_plant_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_plant_" ]; - if( npc_list.empty() ) { - entry = _( "Notes:\n" - "Plant designated seeds in the spaces that have already been " - "tilled.\n\n" ) + - farm_description( omt_trg, plots, farm_ops::plant ) + - _( "\n\n" - "Skill used: survival\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Choose which seed type or all of your seeds.\n" - "> Stops when out of seeds or planting locations.\n" - "> Will plant in ALL dirt mounds in the expansion.\n\n" - "Risk: None\n" - "Time: 1 Min / Plot\n" - "Positions: 0/1\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, - dir_abbr + miss_info.desc, dir, entry, - plots > 0 && warm_enough_to_plant( omt_trg ) ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } - if( has_provides( "farming", dir ) ) { - size_t plots = 0; - comp_list npc_list = get_mission_workers( "_faction_exp_harvest_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_harvest_" ]; - if( npc_list.empty() ) { - entry = _( "Notes:\n" - "Harvest any plants that are ripe and bring the produce back.\n\n" ) + - farm_description( omt_trg, plots, farm_ops::harvest ) + - _( "\n\n" - "Skill used: survival\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Will dump all harvesting products onto your location.\n\n" - "Risk: None\n" - "Time: 3 Min / Plot\n" - "Positions: 0/1\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, - dir_abbr + miss_info.desc, dir, entry, - plots > 0 ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } - - if( has_provides( "reseeding", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_farm_crafting_" + dir_id ); - const base_camps::miss_data &miss_info = - base_camps::miss_info[ "_faction_exp_farm_crafting_" ]; - if( npc_list.empty() ) { - add_available_recipes( mission_key, dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } -} - -void basecamp::get_available_missions( mission_data &mission_key ) -{ - std::string entry; - - point base_dir = base_camps::base_dir; - const base_camps::direction_data &base_data = base_camps::all_directions.at( base_dir ); - const std::string base_dir_id = base_data.id; - const std::string base_dir_abbr = base_data.bracket_abbr.translated(); - reset_camp_resources(); - std::string gather_bldg = "null"; - - // Handling for the central tile - // return legacy workers - comp_list legacy_npc_list = get_mission_workers( "_faction_upgrade_camp" ); - if( !legacy_npc_list.empty() ) { - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_camp" ]; - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, legacy_npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - base_camps::base_dir, entry, avail ); - } - for( const basecamp_upgrade &upgrade : available_upgrades( base_camps::base_dir ) ) { - gather_bldg = upgrade.bldg; - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_camp" ]; - comp_list npc_list = get_mission_workers( upgrade.bldg + "_faction_upgrade_camp" ); - if( npc_list.empty() && !upgrade.in_progress ) { - entry = om_upgrade_description( upgrade.bldg ); - mission_key.add_start( miss_info.miss_id + upgrade.bldg, - miss_info.desc + " " + upgrade.name, base_camps::base_dir, - entry, upgrade.avail ); - } else if( !npc_list.empty() && upgrade.in_progress ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id + upgrade.bldg, - miss_info.ret_desc + " " + upgrade.name, base_camps::base_dir, - entry, avail ); - } - } - - // Missions that belong exclusively to the central tile - comp_list npc_list = get_mission_workers( "_faction_camp_crafting_" + base_dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_crafting_" ]; - //This handles all crafting by the base, regardless of level - if( npc_list.empty() ) { - std::map craft_recipes = recipe_deck( base_camps::base_dir ); - add_available_recipes( mission_key, base_camps::base_dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( base_dir_id + miss_info.ret_miss_id, - base_dir_abbr + miss_info.ret_desc, base_camps::base_dir, entry, - avail ); - } - if( can_expand() ) { - comp_list npc_list = get_mission_workers( "_faction_camp_expansion" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_expansion" ]; - entry = string_format( _( "Notes:\n" - "Your base has become large enough to support an expansion. " - "Expansions open up new opportunities but can be expensive and " - "time consuming. Pick them carefully, only 8 can be built at " - "each camp.\n\n" - "Skill used: N/A\n" - "Effects:\n" - "> Choose any one of the available expansions. Starting with " - "a farm is always a solid choice since food is used to support " - "companion missions and little is needed to get it going. " - "With minimal investment, a mechanic can be useful as a " - "chop-shop to rapidly dismantle large vehicles, and a forge " - "provides the resources to make charcoal.\n\n" - "NOTE: Actions available through expansions are located in " - "separate tabs of the Camp Manager window.\n\n" - "Risk: None\n" - "Time: 3 Hours\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), - base_camps::base_dir, entry, npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - base_camps::base_dir, entry, avail ); - } - } - - if( !by_radio ) { - entry = string_format( _( "Notes:\n" - "Distribute food to your follower and fill you larders. " - "Place the food you wish to distribute in the camp food zone. " - "You must have a camp food zone, and a camp storage zone, " - "or you will be prompted to create them using the zone manager.\n" - "Effects:\n" - "> Increases your faction's food supply value which in " - "turn is used to pay laborers for their time\n\n" - "Must have enjoyability >= -6\n" - "Perishable food liquidated at penalty depending on " - "upgrades and rot time:\n" - "> Rotten: 0%%\n" - "> Rots in < 2 days: 60%%\n" - "> Rots in < 5 days: 80%%\n\n" - "Total faction food stock: %d kcal\nor %d day's rations" ), - camp_food_supply(), camp_food_supply( 0, true ) ); - mission_key.add( "Distribute Food", _( "Distribute Food" ), entry ); - validate_assignees(); - entry = string_format( _( "Notes:\n" - "Assign repeating job duties to NPCs stationed here.\n" - "Difficulty: N/A\n" - "Effects:\n" - "\n\nRisk: None\n" - "Time: Ongoing" ) ); - mission_key.add( "Assign Jobs", _( "Assign Jobs" ), entry ); - entry = string_format( _( "Notes:\n" - "Assign followers to work at this camp." ) ); - mission_key.add( "Assign Workers", _( "Assign Workers" ), entry ); - entry = _( "Notes:\nAbandon this camp" ); - mission_key.add( "Abandon Camp", _( "Abandon Camp" ), entry ); - } - // Missions assigned to the central tile that could be done by an expansion - get_available_missions_by_dir( mission_key, base_camps::base_dir ); - - // Loop over expansions - for( point dir : directions ) { - get_available_missions_by_dir( mission_key, dir ); - } - - if( !camp_workers.empty() ) { - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_recall" ]; - entry = string_format( _( "Notes:\n" - "Cancel a current mission and force the immediate return of a " - "companion. No work will be done on the mission and all " - "resources used on the mission will be lost.\n\n" - "WARNING: All resources used on the mission will be lost and " - "no work will be done. Only use this mission to recover a " - "companion who cannot otherwise be recovered.\n\n" - "Companions must be on missions for at least 24 hours before " - "emergency recall becomes available." ) ); - bool avail = update_time_fixed( entry, camp_workers, 24_hours ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - base_camps::base_dir, entry, avail ); - } -} - -bool basecamp::handle_mission( const std::string &miss_id, - const std::optional &opt_miss_dir ) -{ - point miss_dir = opt_miss_dir ? *opt_miss_dir : base_camps::base_dir; - - if( miss_id == "Distribute Food" ) { - distribute_food(); - } - - if( miss_id.size() > 12 && miss_id.substr( 0, 12 ) == "Upgrade Camp" ) { - const std::string bldg = miss_id.substr( 12 ); - start_upgrade( bldg, base_camps::base_dir, bldg + "_faction_upgrade_camp" ); - } else if( miss_id == "Recover Ally from Upgrading" ) { - upgrade_return( base_camps::base_dir, "_faction_upgrade_camp" ); - } else if( miss_id.size() > 27 && miss_id.substr( 0, 27 ) == "Recover Ally from Upgrading" ) { - const std::string bldg = miss_id.substr( 27 ); - upgrade_return( base_camps::base_dir, bldg + "_faction_upgrade_camp", bldg ); - } - - if( miss_id == "Menial Labor" ) { - start_menial_labor(); - } else if( miss_id == "Recover Menial Laborer" ) { - menial_return(); - } - - if( miss_id == "Assign Jobs" ) { - job_assignment_ui(); - } - if( miss_id == "Assign Workers" ) { - worker_assignment_ui(); - } - if( miss_id == "Abandon Camp" ) { - abandon_camp(); - } - - if( miss_id == "Expand Base" ) { - start_mission( "_faction_camp_expansion", 3_hours, true, - _( "departs to survey land…" ), false, {}, skill_gun, 0 ); - } else if( miss_id == "Recover Surveyor" ) { - survey_return(); - } - - if( miss_id == "Gather Materials" ) { - start_mission( "_faction_camp_gathering", 3_hours, true, - _( "departs to search for materials…" ), false, {}, skill_survival, 0 ); - } else if( miss_id == "Recover Ally from Gathering" ) { - gathering_return( "_faction_camp_gathering", 3_hours ); - } - - if( miss_id == "Collect Firewood" ) { - start_mission( "_faction_camp_firewood", 3_hours, true, - _( "departs to search for firewood…" ), false, {}, skill_survival, 0 ); - } else if( miss_id == "Recover Firewood Gatherers" ) { - gathering_return( "_faction_camp_firewood", 3_hours ); - } - - if( miss_id == "Cut Logs" ) { - start_cut_logs(); - } else if( miss_id == "Recover Log Cutter" ) { - const std::string msg = _( "returns from working in the woods…" ); - mission_return( "_faction_camp_cut_log", 6_hours, true, msg, "construction", 2 ); - } - - if( miss_id == "Clearcut" ) { - start_clearcut(); - } else if( miss_id == "Recover Clearcutter" ) { - const std::string msg = _( "returns from working in the woods…" ); - mission_return( "_faction_camp_clearcut", 6_hours, true, msg, "construction", 1 ); - } - - if( miss_id == "Setup Hide Site" ) { - start_setup_hide_site(); - } else if( miss_id == "Recover Hide Setup" ) { - const std::string msg = _( "returns from working on the hide site…" ); - mission_return( "_faction_camp_hide_site", 3_hours, true, msg, "survival", 3 ); - } - - if( miss_id == "Relay Hide Site" ) { - start_relay_hide_site(); - } else if( miss_id == "Recover Hide Transport" ) { - const std::string msg = _( "returns from shuttling gear between the hide site…" ); - mission_return( "_faction_camp_hide_trans", 3_hours, true, msg, "survival", 3 ); - } - - if( miss_id == "Camp Forage" ) { - start_mission( "_faction_camp_foraging", 4_hours, true, - _( "departs to search for edible plants…" ), false, {}, skill_survival, 0 ); - } else if( miss_id == "Recover Foragers" ) { - gathering_return( "_faction_camp_foraging", 4_hours ); - } - if( miss_id == "Trap Small Game" ) { - start_mission( "_faction_camp_trapping", 6_hours, true, - _( "departs to set traps for small animals…" ), false, {}, skill_traps, 0 ); - } else if( miss_id == "Recover Trappers" ) { - gathering_return( "_faction_camp_trapping", 6_hours ); - } - - if( miss_id == "Hunt Large Animals" ) { - start_mission( "_faction_camp_hunting", 6_hours, true, - _( "departs to hunt for meat…" ), false, {}, skill_gun, 0 ); - } else if( miss_id == "Recover Hunter" ) { - gathering_return( "_faction_camp_hunting", 6_hours ); - } - - if( miss_id == "Construct Map Fort" || miss_id == "Construct Trench" ) { - std::string bldg_exp = "faction_wall_level_N_0"; - if( miss_id == "Construct Trench" ) { - bldg_exp = "faction_wall_level_N_1"; - } - start_fortifications( bldg_exp ); - } else if( miss_id == "Finish Map Fort" ) { - fortifications_return(); - } - - if( miss_id == "Recruit Companions" ) { - start_mission( "_faction_camp_recruit_0", 4_days, true, - _( "departs to search for recruits…" ), false, {}, skill_gun, 0 ); - } else if( miss_id == "Recover Recruiter" ) { - recruit_return( "_faction_camp_recruit_0", recruit_evaluation() ); - } - - if( miss_id == "Scout Mission" ) { - start_combat_mission( "_faction_camp_scout_0" ); - } else if( miss_id == "Combat Patrol" ) { - start_combat_mission( "_faction_camp_combat_0" ); - } else if( miss_id == "Recover Scout" ) { - combat_mission_return( "_faction_camp_scout_0" ); - } else if( miss_id == "Recover Combat Patrol" ) { - combat_mission_return( "_faction_camp_combat_0" ); - } - - const std::string base_dir_id = base_camps::all_directions.at( base_camps::base_dir ).id; - const std::string miss_dir_id = base_camps::all_directions.at( miss_dir ).id; - const tripoint_abs_omt omt_trg = omt_pos + miss_dir; - - if( miss_id.substr( 0, 18 + miss_dir_id.size() ) == miss_dir_id + " Expansion Upgrade" ) { - const std::string bldg = miss_id.substr( 18 + miss_dir_id.size() ); - start_upgrade( bldg, miss_dir, bldg + "_faction_upgrade_exp_" + miss_dir_id ); - } else if( miss_id == "Recover Ally, " + miss_dir_id + " Expansion" ) { - upgrade_return( miss_dir, "_faction_upgrade_exp_" + miss_dir_id ); - } else { - const std::string search_str = "Recover Ally, " + miss_dir_id + " Expansion"; - size_t search_len = search_str.size(); - if( miss_id.size() > search_len && miss_id.substr( 0, search_len ) == search_str ) { - const std::string bldg = miss_id.substr( search_len ); - upgrade_return( miss_dir, bldg + "_faction_upgrade_exp_" + miss_dir_id, bldg ); - } - } - - start_crafting( miss_id, miss_dir, "BASE", "_faction_camp_crafting_" ); - start_crafting( miss_id, miss_dir, "FARM", "_faction_exp_farm_crafting_" ); - if( miss_id == base_dir_id + " (Finish) Crafting" ) { - const std::string msg = _( "returns to you with something…" ); - mission_return( "_faction_camp_crafting_" + miss_dir_id, 1_minutes, true, msg, - "construction", 2 ); - } else if( miss_id == miss_dir_id + " (Finish) Crafting" ) { - const std::string msg = _( "returns from your farm with something…" ); - mission_return( "_faction_exp_farm_crafting_" + miss_dir_id, 1_minutes, true, msg, - "construction", 2 ); - } - - start_crafting( miss_id, miss_dir, "COOK", "_faction_exp_kitchen_cooking_" ); - if( miss_id == miss_dir_id + " (Finish) Cooking" ) { - const std::string msg = _( "returns from your kitchen with something…" ); - mission_return( "_faction_exp_kitchen_cooking_" + miss_dir_id, 1_minutes, - true, msg, "cooking", 2 ); - } - - start_crafting( miss_id, miss_dir, "SMITH", "_faction_exp_blacksmith_crafting_" ); - if( miss_id == miss_dir_id + " (Finish) Smithing" ) { - const std::string msg = _( "returns from your blacksmith shop with something…" ); - mission_return( "_faction_exp_blacksmith_crafting_" + miss_dir_id, 1_minutes, - true, msg, "fabrication", 2 ); - } - if( miss_id == miss_dir_id + " Plow Fields" ) { - start_farm_op( miss_dir, omt_trg, farm_ops::plow ); - } else if( miss_id == miss_dir_id + " (Finish) Plow Fields" ) { - farm_return( "_faction_exp_plow_" + miss_dir_id, omt_trg, farm_ops::plow ); - } - - if( miss_id == miss_dir_id + " Plant Fields" ) { - start_farm_op( miss_dir, omt_trg, farm_ops::plant ); - } else if( miss_id == miss_dir_id + " (Finish) Plant Fields" ) { - farm_return( "_faction_exp_plant_" + miss_dir_id, omt_trg, farm_ops::plant ); - } - - if( miss_id == miss_dir_id + " Harvest Fields" ) { - start_farm_op( miss_dir, omt_trg, farm_ops::harvest ); - } else if( miss_id == miss_dir_id + " (Finish) Harvest Fields" ) { - farm_return( "_faction_exp_harvest_" + miss_dir_id, omt_trg, farm_ops::harvest ); - } - - if( miss_id == miss_dir_id + " Chop Shop" ) { - start_garage_chop( miss_dir, omt_trg ); - } else if( miss_id == miss_dir_id + " (Finish) Chop Shop" ) { - const std::string msg = _( "returns from your garage…" ); - mission_return( "_faction_exp_chop_shop_" + miss_dir_id, 5_days, true, msg, - "mechanics", 2 ); - } - - if( miss_id == "Emergency Recall" ) { - emergency_recall(); - } - - return true; - -} - -// camp faction companion mission start functions -npc_ptr basecamp::start_mission( const std::string &miss_id, time_duration duration, - bool must_feed, const std::string &desc, bool /*group*/, - const std::vector &equipment, - const skill_id &skill_tested, int skill_level ) -{ - std::map required_skills; - required_skills[ skill_tested ] = skill_level; - return start_mission( miss_id, duration, must_feed, desc, false, equipment, required_skills ); -} - -npc_ptr basecamp::start_mission( const std::string &miss_id, time_duration duration, - bool must_feed, const std::string &desc, bool /*group*/, - const std::vector &equipment, - const std::map &required_skills ) -{ - if( must_feed && camp_food_supply() < time_to_food( duration ) ) { - popup( _( "You don't have enough food stored to feed your companion." ) ); - return nullptr; - } - npc_ptr comp = talk_function::individual_mission( omt_pos, base_camps::id, desc, miss_id, - false, equipment, required_skills ); - if( comp != nullptr ) { - comp->companion_mission_time_ret = calendar::turn + duration; - if( must_feed ) { - camp_food_supply( duration ); - } - } - return comp; -} - -void basecamp::start_upgrade( const std::string &bldg, point dir, - const std::string &key ) -{ - const recipe &making = recipe_id( bldg ).obj(); - //Stop upgrade if you don't have materials - if( making.deduped_requirements().can_make_with_inventory( - _inv, making.get_component_filter() ) ) { - bool must_feed = bldg != "faction_base_camp_1"; - - basecamp_action_components components( making, 1, *this ); - if( !components.choose_components() ) { - return; - } - - time_duration work_days = base_camps::to_workdays( making.batch_duration() ); - npc_ptr comp = nullptr; - if( making.required_skills.empty() ) { - if( making.skill_used.is_valid() ) { - comp = start_mission( key, work_days, must_feed, - _( "begins to upgrade the camp…" ), false, {}, - making.skill_used, making.difficulty ); - } else { - comp = start_mission( key, work_days, must_feed, - _( "begins to upgrade the camp…" ), false, {} ); - } - } else { - comp = start_mission( key, work_days, must_feed, _( "begins to upgrade the camp…" ), - false, {}, making.required_skills ); - } - if( comp == nullptr ) { - return; - } - components.consume_components(); - update_in_progress( bldg, dir ); - } else { - popup( _( "You don't have the materials for the upgrade." ) ); - } -} - -void basecamp::abandon_camp() -{ - validate_assignees(); - for( npc_ptr &guy : overmap_buffer.get_companion_mission_npcs( 10 ) ) { - npc_companion_mission c_mission = guy->get_companion_mission(); - if( c_mission.role_id != base_camps::id ) { - continue; - } - const std::string return_msg = _( "responds to the emergency recall…" ); - finish_return( *guy, false, return_msg, "menial", 0, true ); - } - for( npc_ptr &guy : get_npcs_assigned() ) { - talk_function::stop_guard( *guy ); - } - overmap_buffer.remove_camp( *this ); - map &here = get_map(); - here.remove_submap_camp( here.getlocal( bb_pos ) ); - add_msg( m_info, _( "You abandon %s." ), name ); -} - -void basecamp::worker_assignment_ui() -{ - int entries_per_page = 0; - catacurses::window w_followers; - - ui_adaptor ui; - ui.on_screen_resize( [&]( ui_adaptor & ui ) { - const point term( TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0, - TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0 ); - - w_followers = catacurses::newwin( FULL_SCREEN_HEIGHT, FULL_SCREEN_WIDTH, - point( term.y, term.x ) ); - entries_per_page = FULL_SCREEN_HEIGHT - 4; - - ui.position_from_window( w_followers ); - } ); - ui.mark_resize(); - - size_t selection = 0; - input_context ctxt( "FACTION MANAGER" ); - ctxt.register_updown(); - ctxt.register_action( "CONFIRM" ); - ctxt.register_action( "QUIT" ); - ctxt.register_action( "HELP_KEYBINDINGS" ); - validate_assignees(); - g->validate_npc_followers(); - - std::vector followers; - npc *cur_npc = nullptr; - - ui.on_redraw( [&]( const ui_adaptor & ) { - werase( w_followers ); - - // entries_per_page * page number - const size_t top_of_page = entries_per_page * ( selection / entries_per_page ); - - for( int i = 0; i < FULL_SCREEN_HEIGHT - 1; i++ ) { - mvwputch( w_followers, point( 45, i ), BORDER_COLOR, LINE_XOXO ); - } - draw_border( w_followers ); - const nc_color col = c_white; - const std::string no_npcs = _( "You have no companions following you." ); - if( !followers.empty() ) { - draw_scrollbar( w_followers, selection, entries_per_page, followers.size(), - point( 0, 3 ) ); - for( size_t i = top_of_page; i < followers.size(); i++ ) { - const int y = i - top_of_page + 3; - trim_and_print( w_followers, point( 1, y ), 43, selection == i ? hilite( col ) : col, - followers[i]->disp_name() ); - } - } else { - mvwprintz( w_followers, point( 1, 4 ), c_light_red, no_npcs ); - } - mvwprintz( w_followers, point( 1, FULL_SCREEN_HEIGHT - 1 ), c_light_gray, - _( "Press %s to assign this follower to this camp." ), ctxt.get_desc( "CONFIRM" ) ); - wnoutrefresh( w_followers ); - } ); - - while( true ) { - // create a list of npcs stationed at this camp - followers.clear(); - for( const character_id &elem : g->get_follower_list() ) { - shared_ptr_fast npc_to_get = overmap_buffer.find_npc( elem ); - if( !npc_to_get || !npc_to_get->is_following() ) { - continue; - } - npc *npc_to_add = npc_to_get.get(); - followers.push_back( npc_to_add ); - } - cur_npc = nullptr; - if( !followers.empty() ) { - cur_npc = followers[selection]; - } - - ui_manager::redraw(); - const std::string action = ctxt.handle_input(); - if( action == "DOWN" ) { - selection++; - if( selection >= followers.size() ) { - selection = 0; - } - } else if( action == "UP" ) { - if( selection == 0 ) { - selection = followers.empty() ? 0 : followers.size() - 1; - } else { - selection--; - } - } else if( action == "CONFIRM" ) { - if( !followers.empty() && cur_npc ) { - talk_function::assign_camp( *cur_npc ); - } - } else if( action == "QUIT" ) { - break; - } - } -} - -void basecamp::job_assignment_ui() -{ - int entries_per_page = 0; - catacurses::window w_jobs; - - ui_adaptor ui; - ui.on_screen_resize( [&]( ui_adaptor & ui ) { - const point term( TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0, - TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0 ); - - w_jobs = catacurses::newwin( FULL_SCREEN_HEIGHT, FULL_SCREEN_WIDTH, - point( term.y, term.x ) ); - - entries_per_page = FULL_SCREEN_HEIGHT - 4; - - ui.position_from_window( w_jobs ); - } ); - ui.mark_resize(); - - size_t selection = 0; - input_context ctxt( "FACTION MANAGER" ); - ctxt.register_updown(); - ctxt.register_action( "CONFIRM" ); - ctxt.register_action( "QUIT" ); - ctxt.register_action( "HELP_KEYBINDINGS" ); - validate_assignees(); - - std::vector stationed_npcs; - npc *cur_npc = nullptr; - - ui.on_redraw( [&]( const ui_adaptor & ) { - werase( w_jobs ); - const size_t top_of_page = entries_per_page * ( selection / entries_per_page ); - for( int i = 0; i < FULL_SCREEN_HEIGHT - 1; i++ ) { - mvwputch( w_jobs, point( 45, i ), BORDER_COLOR, LINE_XOXO ); - } - draw_border( w_jobs ); - mvwprintz( w_jobs, point( 46, 1 ), c_white, _( "Job/Priority" ) ); - const nc_color col = c_white; - const std::string no_npcs = _( "There are no npcs stationed here" ); - if( !stationed_npcs.empty() ) { - draw_scrollbar( w_jobs, selection, entries_per_page, stationed_npcs.size(), - point( 0, 3 ) ); - for( size_t i = top_of_page; i < stationed_npcs.size(); i++ ) { - const int y = i - top_of_page + 3; - trim_and_print( w_jobs, point( 1, y ), 43, selection == i ? hilite( col ) : col, - stationed_npcs[i]->disp_name() ); - } - if( selection < stationed_npcs.size() ) { - int start_y = 3; - if( cur_npc ) { - if( cur_npc->has_job() ) { - for( activity_id &elem : cur_npc->job.get_prioritised_vector() ) { - const int priority = cur_npc->job.get_priority_of_job( elem ); - player_activity test_act = player_activity( elem ); - mvwprintz( w_jobs, point( 46, start_y ), c_light_gray, string_format( _( "%s : %s" ), - test_act.get_verb(), std::to_string( priority ) ) ); - start_y++; - } - } else { - mvwprintz( w_jobs, point( 46, start_y ), c_light_red, _( "No current job." ) ); - } - } - } else { - mvwprintz( w_jobs, point( 46, 4 ), c_light_red, no_npcs ); - } - } else { - mvwprintz( w_jobs, point( 46, 4 ), c_light_red, no_npcs ); - } - mvwprintz( w_jobs, point( 1, FULL_SCREEN_HEIGHT - 1 ), c_light_gray, - _( "Press %s to change this workers job priorities." ), ctxt.get_desc( "CONFIRM" ) ); - wnoutrefresh( w_jobs ); - } ); - - while( true ) { - // create a list of npcs stationed at this camp - stationed_npcs.clear(); - for( const auto &elem : get_npcs_assigned() ) { - if( elem ) { - stationed_npcs.push_back( elem.get() ); - } - } - cur_npc = nullptr; - // entries_per_page * page number - if( !stationed_npcs.empty() ) { - cur_npc = stationed_npcs[selection]; - } - - ui_manager::redraw(); - - const std::string action = ctxt.handle_input(); - if( action == "DOWN" ) { - selection++; - if( selection >= stationed_npcs.size() ) { - selection = 0; - } - } else if( action == "UP" ) { - if( selection == 0 ) { - selection = stationed_npcs.empty() ? 0 : stationed_npcs.size() - 1; - } else { - selection--; - } - } else if( action == "CONFIRM" ) { - if( cur_npc ) { - while( true ) { - uilist smenu; - smenu.text = _( "Assign job priority ( 0 to disable )" ); - int count = 0; - std::vector job_vec = cur_npc->job.get_prioritised_vector(); - smenu.addentry( count, true, 'C', _( "Clear all priorities" ) ); - count++; - for( const activity_id &elem : job_vec ) { - player_activity test_act = player_activity( elem ); - const int priority = cur_npc->job.get_priority_of_job( elem ); - smenu.addentry( count, true, MENU_AUTOASSIGN, string_format( _( "%s : %s" ), test_act.get_verb(), - std::to_string( priority ) ) ); - count++; - } - smenu.query(); - if( smenu.ret == UILIST_CANCEL ) { - break; - } else if( smenu.ret == 0 ) { - cur_npc->job.clear_all_priorities(); - } else if( smenu.ret > 0 && smenu.ret <= static_cast( job_vec.size() ) ) { - activity_id sel_job = job_vec[smenu.ret - 1]; - player_activity test_act = player_activity( sel_job ); - const std::string formatted = string_format( _( "Priority for %s " ), test_act.get_verb() ); - const int amount = string_input_popup() - .title( formatted ) - .width( 20 ) - .only_digits( true ) - .query_int(); - cur_npc->job.set_task_priority( sel_job, amount ); - } else { - break; - } - } - } - } else if( action == "QUIT" ) { - break; - } - } -} - -void basecamp::start_menial_labor() -{ - if( camp_food_supply() < time_to_food( 3_hours ) ) { - popup( _( "You don't have enough food stored to feed your companion." ) ); - return; - } - shared_ptr_fast comp = talk_function::companion_choose(); - if( comp == nullptr ) { - return; - } - validate_sort_points(); - - comp->assign_activity( ACT_MOVE_LOOT ); - popup( _( "%s goes off to clean toilets and sort loot." ), comp->disp_name() ); -} - -void basecamp::start_cut_logs() -{ - std::vector log_sources = { "forest", "forest_thick", "forest_water" }; - popup( _( "Forests and swamps are the only valid cutting locations." ) ); - tripoint_abs_omt forest = om_target_tile( omt_pos, 1, 50, log_sources ); - if( forest != tripoint_abs_omt( -999, -999, -999 ) ) { - standard_npc sample_npc( "Temp" ); - sample_npc.set_fake( true ); - int tree_est = om_cutdown_trees_est( forest, 50 ); - int tree_young_est = om_harvest_ter_est( sample_npc, forest, - ter_id( "t_tree_young" ), 50 ); - int dist = rl_dist( forest.xy(), omt_pos.xy() ); - //Very roughly what the player does + 6 hours for prep, clean up, breaks - time_duration chop_time = 6_hours + 1_hours * tree_est + 7_minutes * tree_young_est; - int haul_items = 2 * tree_est + 3 * tree_young_est; - time_duration travel_time = companion_travel_time_calc( forest, omt_pos, 0_minutes, - 2, haul_items ); - time_duration work_time = travel_time + chop_time; - if( !query_yn( _( "Trip Estimate:\n%s" ), camp_trip_description( work_time, - chop_time, travel_time, dist, 2, time_to_food( work_time ) ) ) ) { - return; - } - - npc_ptr comp = start_mission( "_faction_camp_cut_log", work_time, true, - _( "departs to cut logs…" ), false, {}, - skill_fabrication, 2 ); - if( comp != nullptr ) { - om_cutdown_trees_logs( forest, 50 ); - om_harvest_ter( *comp, forest, ter_id( "t_tree_young" ), 50 ); - mass_volume harvest = om_harvest_itm( comp, forest, 95 ); - // recalculate trips based on actual load and capacity - travel_time = companion_travel_time_calc( forest, omt_pos, 0_minutes, 2, - harvest.count ); - work_time = travel_time + chop_time; - comp->companion_mission_time_ret = calendar::turn + work_time; - //If we cleared a forest... - if( om_cutdown_trees_est( forest ) < 5 ) { - const oter_id &omt_trees = overmap_buffer.ter( forest ); - //Do this for swamps "forest_wet" if we have a swamp without trees... - if( omt_trees.id() == "forest" || omt_trees.id() == "forest_thick" ) { - overmap_buffer.ter_set( forest, oter_id( "field" ) ); - } - } - } - } -} - -void basecamp::start_clearcut() -{ - std::vector log_sources = { "forest", "forest_thick" }; - popup( _( "Forests are the only valid cutting locations." ) ); - tripoint_abs_omt forest = om_target_tile( omt_pos, 1, 50, log_sources ); - if( forest != tripoint_abs_omt( -999, -999, -999 ) ) { - standard_npc sample_npc( "Temp" ); - sample_npc.set_fake( true ); - int tree_est = om_cutdown_trees_est( forest, 95 ); - int tree_young_est = om_harvest_ter_est( sample_npc, forest, - ter_id( "t_tree_young" ), 95 ); - int dist = rl_dist( forest.xy(), omt_pos.xy() ); - //Very roughly what the player does + 6 hours for prep, clean up, breaks - time_duration chop_time = 6_hours + 1_hours * tree_est + 7_minutes * tree_young_est; - time_duration travel_time = companion_travel_time_calc( forest, omt_pos, 0_minutes, 2 ); - time_duration work_time = travel_time + chop_time; - if( !query_yn( _( "Trip Estimate:\n%s" ), camp_trip_description( work_time, - chop_time, travel_time, dist, 2, time_to_food( work_time ) ) ) ) { - return; - } - - npc_ptr comp = start_mission( "_faction_camp_clearcut", work_time, - true, _( "departs to clear a forest…" ), false, {}, - skill_fabrication, 1 ); - if( comp != nullptr ) { - om_cutdown_trees_trunks( forest, 95 ); - om_harvest_ter_break( *comp, forest, ter_id( "t_tree_young" ), 95 ); - //If we cleared a forest... - if( om_cutdown_trees_est( forest ) < 5 ) { - overmap_buffer.ter_set( forest, oter_id( "field" ) ); - } - } - } -} - -void basecamp::start_setup_hide_site() -{ - std::vector hide_locations = { "forest", "forest_thick", "forest_water", - "field" - }; - popup( _( "Forests, swamps, and fields are valid hide site locations." ) ); - tripoint_abs_omt forest = om_target_tile( omt_pos, 10, 90, hide_locations, true, true, - omt_pos, true ); - if( forest != tripoint_abs_omt( -999, -999, -999 ) ) { - int dist = rl_dist( forest.xy(), omt_pos.xy() ); - std::vector pos_inv = g->u.items_with( []( const item & itm ) { - return !itm.can_revive(); - } ); - if( !pos_inv.empty() ) { - std::vector losing_equipment = give_equipment( pos_inv, - _( "Do you wish to give your companion " - "additional items?" ) ); - int trips = om_carry_weight_to_trips( losing_equipment ); - int haulage = trips <= 2 ? 0 : losing_equipment.size(); - time_duration build_time = 6_hours; - time_duration travel_time = companion_travel_time_calc( forest, omt_pos, 0_minutes, - 2, haulage ); - time_duration work_time = travel_time + build_time; - if( !query_yn( _( "Trip Estimate:\n%s" ), camp_trip_description( work_time, - build_time, travel_time, dist, trips, time_to_food( work_time ) ) ) ) { - return; - } - npc_ptr comp = start_mission( "_faction_camp_hide_site", work_time, true, - _( "departs to build a hide site…" ), false, {}, - skill_survival, 3 ); - if( comp != nullptr ) { - trips = om_carry_weight_to_trips( losing_equipment, comp ); - haulage = trips <= 2 ? 0 : losing_equipment.size(); - work_time = companion_travel_time_calc( forest, omt_pos, 0_minutes, 2, haulage ) + - build_time; - comp->companion_mission_time_ret = calendar::turn + work_time; - om_set_hide_site( *comp, forest, losing_equipment ); - } - } else { - popup( _( "You need equipment to setup a hide site…" ) ); - } - } -} - -void basecamp::start_relay_hide_site() -{ - std::vector hide_locations = { "faction_hide_site_0" }; - popup( _( "You must select an existing hide site." ) ); - tripoint_abs_omt forest = om_target_tile( omt_pos, 10, 90, hide_locations, true, true, - omt_pos, true ); - if( forest != tripoint_abs_omt( -999, -999, -999 ) ) { - int dist = rl_dist( forest.xy(), omt_pos.xy() ); - std::vector pos_inv = g->u.items_with( []( const item & itm ) { - return !itm.can_revive(); - } ); - std::vector losing_equipment; - if( !pos_inv.empty() ) { - losing_equipment = give_equipment( pos_inv, - _( "Do you wish to give your companion " - "additional items?" ) ); - } - //Check items in improvised shelters at hide site - tinymap target_bay; - target_bay.load( project_to( forest ), false ); - std::vector hide_inv; - for( item * const &i : target_bay.i_at( point( 11, 10 ) ) ) { - hide_inv.push_back( i ); - } - std::vector gaining_equipment; - if( !hide_inv.empty() ) { - gaining_equipment = give_equipment( hide_inv, _( "Bring gear back?" ) ); - } - if( !losing_equipment.empty() || !gaining_equipment.empty() ) { - //Only get charged the greater trips since return is free for both - int trips = std::max( om_carry_weight_to_trips( gaining_equipment ), - om_carry_weight_to_trips( losing_equipment ) ); - int haulage = trips <= 2 ? 0 : std::max( gaining_equipment.size(), - losing_equipment.size() ); - time_duration build_time = 6_hours; - time_duration travel_time = companion_travel_time_calc( forest, omt_pos, 0_minutes, - trips, haulage ); - time_duration work_time = travel_time + build_time; - if( !query_yn( _( "Trip Estimate:\n%s" ), camp_trip_description( work_time, build_time, - travel_time, dist, trips, time_to_food( work_time ) ) ) ) { - return; - } - - npc_ptr comp = start_mission( "_faction_camp_hide_trans", work_time, true, - _( "departs for the hide site…" ), false, {}, - skill_survival, 3 ); - if( comp != nullptr ) { - // recalculate trips based on actual load - trips = std::max( om_carry_weight_to_trips( gaining_equipment, comp ), - om_carry_weight_to_trips( losing_equipment, comp ) ); - int haulage = trips <= 2 ? 0 : std::max( gaining_equipment.size(), - losing_equipment.size() ); - work_time = companion_travel_time_calc( forest, omt_pos, 0_minutes, trips, - haulage ) + build_time; - comp->companion_mission_time_ret = calendar::turn + work_time; - om_set_hide_site( *comp, forest, losing_equipment, gaining_equipment ); - } - } else { - popup( _( "You need equipment to transport between the hide site…" ) ); - } - } -} - -void basecamp::start_fortifications( std::string &bldg_exp ) -{ - std::vector allowed_locations = { - "forest", "forest_thick", "forest_water", "field" - }; - popup( _( "Select a start and end point. Line must be straight. Fields, forests, and " - "swamps are valid fortification locations. In addition to existing fortification " - "constructions." ) ); - tripoint_abs_omt start = om_target_tile( omt_pos, 2, 90, allowed_locations ); - popup( _( "Select an end point." ) ); - tripoint_abs_omt stop = om_target_tile( omt_pos, 2, 90, allowed_locations, true, false, start ); - if( start != tripoint_abs_omt( -999, -999, -999 ) && - stop != tripoint_abs_omt( -999, -999, -999 ) ) { - const recipe &making = recipe_id( bldg_exp ).obj(); - bool change_x = ( start.x() != stop.x() ); - bool change_y = ( start.y() != stop.y() ); - if( change_x && change_y ) { - popup( "Construction line must be straight!" ); - return; - } - if( bldg_exp == "faction_wall_level_N_1" ) { - std::vector tmp_line = line_to( stop, start ); - int line_count = tmp_line.size(); - int yes_count = 0; - for( auto elem : tmp_line ) { - if( std::find( fortifications.begin(), fortifications.end(), elem ) != fortifications.end() ) { - yes_count += 1; - } - } - if( yes_count < line_count ) { - popup( _( "Spiked pits must be built over existing trenches!" ) ); - return; - } - } - std::vector fortify_om; - if( ( change_x && stop.x() < start.x() ) || ( change_y && stop.y() < start.y() ) ) { - //line_to doesn't include the origin point - fortify_om.push_back( stop ); - std::vector tmp_line = line_to( stop, start ); - fortify_om.insert( fortify_om.end(), tmp_line.begin(), tmp_line.end() ); - } else { - fortify_om.push_back( start ); - std::vector tmp_line = line_to( start, stop ); - fortify_om.insert( fortify_om.end(), tmp_line.begin(), tmp_line.end() ); - } - int trips = 0; - time_duration build_time = 0_hours; - time_duration travel_time = 0_hours; - int dist = 0; - for( auto fort_om : fortify_om ) { - bool valid = false; - const oter_id &omt_ref = overmap_buffer.ter( fort_om ); - for( const std::string &pos_om : allowed_locations ) { - if( omt_ref.id().c_str() == pos_om ) { - valid = true; - break; - } - } - - if( !valid ) { - popup( _( "Invalid terrain in construction path." ) ); - return; - } - trips += 2; - build_time += making.batch_duration(); - dist += rl_dist( fort_om.xy(), omt_pos.xy() ); - travel_time += companion_travel_time_calc( fort_om, omt_pos, 0_minutes, 2 ); - } - time_duration total_time = base_camps::to_workdays( travel_time + build_time ); - int need_food = time_to_food( total_time ); - if( !query_yn( _( "Trip Estimate:\n%s" ), camp_trip_description( total_time, build_time, - travel_time, dist, trips, need_food ) ) ) { - return; - } else if( !making.deduped_requirements().can_make_with_inventory( _inv, - making.get_component_filter(), ( fortify_om.size() * 2 ) - 2 ) ) { - popup( _( "You don't have the material to build the fortification." ) ); - return; - } - - const int batch_size = fortify_om.size() * 2 - 2; - basecamp_action_components components( making, batch_size, *this ); - if( !components.choose_components() ) { - return; - } - - npc_ptr comp = start_mission( "_faction_camp_om_fortifications", total_time, true, - _( "begins constructing fortifications…" ), false, {}, - making.required_skills ); - if( comp != nullptr ) { - components.consume_components(); - comp->companion_mission_role_id = bldg_exp; - for( auto pt : fortify_om ) { - comp->companion_mission_points.push_back( pt ); - } - } - } -} - -void basecamp::start_combat_mission( const std::string &miss ) -{ - popup( _( "Select checkpoints until you reach maximum range or select the last point again " - "to end." ) ); - tripoint_abs_omt start = omt_pos; - std::vector scout_points = om_companion_path( start, 90, true ); - if( scout_points.empty() ) { - return; - } - int dist = scout_points.size(); - int trips = 2; - time_duration travel_time = companion_travel_time_calc( scout_points, 0_minutes, trips ); - if( !query_yn( _( "Trip Estimate:\n%s" ), camp_trip_description( 0_hours, 0_hours, - travel_time, dist, trips, time_to_food( travel_time ) ) ) ) { - return; - } - npc_ptr comp = start_mission( miss, travel_time, true, _( "departs on patrol…" ), - false, {}, skill_survival, 3 ); - if( comp != nullptr ) { - comp->companion_mission_points = scout_points; - } -} - -// the structure of this function has driven (at least) two devs insane -// recipe_deck returns a map of recipe ids to descriptions -// it first checks whether the mission id starts with the correct direction prefix, -// and then search for the mission id without direction prefix in the recipes -// if there's a match, the player has selected a crafting mission -void basecamp::start_crafting( const std::string &cur_id, point cur_dir, - const std::string &type, const std::string &miss_id ) -{ - const std::string cur_dir_id = base_camps::all_directions.at( cur_dir ).id; - const std::map &recipes = recipe_deck( type ); - if( cur_id.substr( 0, cur_dir_id.size() ) != cur_dir_id ) { - // not a crafting mission or has the wrong direction - return; - } - const auto it = recipes.find( recipe_id( cur_id.substr( cur_dir_id.size() ) ) ); - if( it != recipes.end() ) { - const recipe &making = it->first.obj(); - - if( !making.deduped_requirements().can_make_with_inventory( - _inv, making.get_component_filter() ) ) { - popup( _( "You don't have the materials to craft that" ) ); - return; - } - - int batch_size = 1; - string_input_popup popup_input; - int batch_max = recipe_batch_max( making ); - const std::string title = string_format( _( "Batch crafting %s [MAX: %d]: " ), - making.result_name(), batch_max ); - popup_input.title( title ).edit( batch_size ); - - if( popup_input.canceled() || batch_size <= 0 ) { - return; - } - if( batch_size > recipe_batch_max( making ) ) { - popup( _( "Your batch is too large!" ) ); - return; - } - - basecamp_action_components components( making, batch_size, *this ); - if( !components.choose_components() ) { - return; - } - - time_duration work_days = base_camps::to_workdays( making.batch_duration( batch_size ) ); - npc_ptr comp = start_mission( miss_id + cur_dir_id, work_days, true, - _( "begins to work…" ), false, {}, - making.required_skills ); - if( comp != nullptr ) { - components.consume_components(); - for( detached_ptr &results : making.create_results( batch_size ) ) { - comp->companion_mission_inv.add_item( std::move( results ) ); - } - } - return; - } -} - -static bool farm_valid_seed( const item &itm ) -{ - return itm.is_seed() && itm.typeId() != itype_marloss_seed && itm.typeId() != itype_fungal_seeds; -} - -static std::pair farm_action( const tripoint_abs_omt &omt_tgt, farm_ops op, - const npc_ptr &comp = nullptr ) -{ - size_t plots_cnt = 0; - std::string crops; - - const auto is_dirtmound = []( const tripoint & pos, tinymap & bay1, tinymap & bay2 ) { - return ( bay1.ter( pos ) == t_dirtmound ) && ( !bay2.has_furn( pos ) ); - }; - const auto is_unplowed = []( const tripoint & pos, tinymap & farm_map ) { - const ter_id &farm_ter = farm_map.ter( pos ); - return farm_ter->has_flag( flag_PLOWABLE ); - }; - - std::set plant_names; - std::vector seed_inv; - if( comp ) { - seed_inv = comp->companion_mission_inv.items_with( farm_valid_seed ); - } - - //farm_json is what the area should look like according to jsons - tinymap farm_json; - // TODO: fix point types - farm_json.generate( project_to( omt_tgt ).raw(), calendar::turn ); - //farm_map is what the area actually looks like - tinymap farm_map; - farm_map.load( project_to( omt_tgt ), false ); - tripoint mapmin = tripoint( 0, 0, omt_tgt.z() ); - tripoint mapmax = tripoint( 2 * SEEX - 1, 2 * SEEY - 1, omt_tgt.z() ); - bool done_planting = false; - map &here = get_map(); - for( const tripoint &pos : farm_map.points_in_rectangle( mapmin, mapmax ) ) { - if( done_planting ) { - break; - } - switch( op ) { - case farm_ops::plow: - //Needs to be plowed to match json - if( is_dirtmound( pos, farm_json, farm_map ) && is_unplowed( pos, farm_map ) ) { - plots_cnt += 1; - if( comp ) { - farm_map.ter_set( pos, t_dirtmound ); - } - } - break; - case farm_ops::plant: - if( is_dirtmound( pos, farm_map, farm_map ) ) { - plots_cnt += 1; - if( comp ) { - if( seed_inv.empty() ) { - done_planting = true; - break; - } - item *tmp_seed = seed_inv.back(); - seed_inv.pop_back(); - std::vector> used_seed; - if( tmp_seed->count_by_charges() ) { - used_seed.push_back( item::spawn( *tmp_seed ) ); - tmp_seed->charges -= 1; - if( tmp_seed->charges > 0 ) { - seed_inv.push_back( tmp_seed ); - } - } - used_seed.front()->set_age( 0_turns ); - farm_map.add_item_or_charges( pos, std::move( used_seed.front() ) ); - farm_map.set( pos, t_dirt, f_plant_seed ); - } - } - break; - case farm_ops::harvest: - if( farm_map.furn( pos ) == f_plant_harvest ) { - // Can't use item_stack::only_item() since there might be fertilizer - map_stack items = farm_map.i_at( pos ); - map_stack::iterator seed = std::find_if( items.begin(), - items.end(), []( const item * const & it ) { - return it->is_seed(); - } ); - if( seed != items.end() && farm_valid_seed( **seed ) ) { - plots_cnt += 1; - if( comp ) { - int skillLevel = comp->get_skill_level( skill_survival ); - ///\EFFECT_SURVIVAL increases number of plants harvested from a seed - int plant_cnt = rng( skillLevel / 2, skillLevel ); - plant_cnt = std::min( std::max( plant_cnt, 1 ), 9 ); - int seed_cnt = std::max( 1, rng( plant_cnt / 4, plant_cnt / 2 ) ); - for( auto &i : iexamine::get_harvest_items( *( *seed )->type, plant_cnt, - seed_cnt, true ) ) { - here.add_item_or_charges( g->u.pos(), std::move( i ) ); - } - seed = map_stack::iterator(); - farm_map.i_clear( pos ); - farm_map.furn_set( pos, f_null ); - farm_map.ter_set( pos, t_dirt ); - } else { - plant_names.insert( item::nname( itype_id( ( *seed )->type->seed->fruit_id ) ) ); - } - } - } - break; - default: - // let the callers handle no op argument - break; - } - } - if( comp ) { - farm_map.save(); - } - - int total_c = 0; - for( const std::string &i : plant_names ) { - if( total_c < 5 ) { - crops += " " + i + "\n"; - total_c++; - } else if( total_c == 5 ) { - crops += _( "+ more\n" ); - break; - } - } - - return std::make_pair( plots_cnt, crops ); -} - -void basecamp::start_farm_op( point dir, const tripoint_abs_omt &omt_tgt, farm_ops op ) -{ - const std::string &dir_id = base_camps::all_directions.at( dir ).id; - std::pair farm_data = farm_action( omt_tgt, op ); - size_t plots_cnt = farm_data.first; - if( !plots_cnt ) { - return; - } - - time_duration work = 0_minutes; - switch( op ) { - case farm_ops::harvest: - work += 3_minutes * plots_cnt; - start_mission( "_faction_exp_harvest_" + dir_id, work, true, - _( "begins to harvest the field…" ), false, {}, skill_survival, 1 ); - break; - case farm_ops::plant: { - std::vector seed_inv = _inv.items_with( farm_valid_seed ); - if( seed_inv.empty() ) { - popup( _( "You have no additional seeds to give your companions…" ) ); - return; - } - std::vector plant_these = give_equipment( seed_inv, - _( "Which seeds do you wish to have planted?" ) ); - size_t seed_cnt = 0; - for( item *&seeds : plant_these ) { - seed_cnt += seeds->count(); - } - size_t plots_seeded = std::min( seed_cnt, plots_cnt ); - if( !seed_cnt ) { - return; - } - work += 1_minutes * plots_seeded; - start_mission( "_faction_exp_plant_" + dir_id, work, true, - _( "begins planting the field…" ), false, plant_these, - skill_survival, 1 ); - break; - } - case farm_ops::plow: - work += 5_minutes * plots_cnt; - start_mission( "_faction_exp_plow_" + dir_id, work, true, - _( "begins plowing the field…" ), false, {} ); - break; - default: - debugmsg( "Farm operations called with no operation" ); - } -} - -bool basecamp::start_garage_chop( point dir, const tripoint_abs_omt &omt_tgt ) -{ - editmap edit; - vehicle *car = edit.mapgen_veh_query( omt_tgt ); - if( car == nullptr ) { - return false; - } - - if( !query_yn( _( " Chopping this vehicle:\n%s" ), camp_car_description( car ) ) ) { - return false; - } - - const std::string dir_id = base_camps::all_directions.at( dir ).id; - npc_ptr comp = start_mission( "_faction_exp_chop_shop_" + dir_id, 5_days, true, - _( "begins working in the garage…" ), false, {}, - skill_mechanics, 2 ); - if( comp == nullptr ) { - return false; - } - // FIXME: use ranges, do this sensibly - //Chopping up the car! - int skillLevel = comp->get_skill_level( skill_mechanics ); - for( int prt = 0; prt < car->part_count(); prt++ ) { - vehicle_stack contents = car->get_items( prt ); - for( auto iter = contents.begin(); iter != contents.end(); ) { - detached_ptr it; - iter = contents.erase( iter, &it ); - comp->companion_mission_inv.add_item( std::move( it ) ); - } - bool broken = car->part( prt ).is_broken(); - bool skill_break = false; - bool skill_destroy = false; - - int dice = rng( 1, 20 ); - dice += skillLevel - car->part( prt ).info().difficulty; - - if( dice >= 20 ) { - skill_break = false; - skill_destroy = false; - talk_function::companion_skill_trainer( *comp, skill_mechanics, 1_hours, - car->part( prt ).info().difficulty ); - } else if( dice > 15 ) { - skill_break = false; - } else if( dice > 9 ) { - skill_break = true; - skill_destroy = false; - } else { - skill_break = true; - skill_destroy = true; - } - - if( !broken && !skill_break ) { - //Higher level garages will salvage liquids from tanks - if( !car->part( prt ).is_battery() ) { - car->part( prt ).ammo_consume( car->part( prt ).ammo_capacity(), - car->global_part_pos3( car->part( prt ) ) ); - } - comp->companion_mission_inv.add_item( car->part( prt ).properties_to_item() ); - } else if( !skill_destroy ) { - for( detached_ptr &itm : car->part( prt ).pieces_for_broken_part() ) { - comp->companion_mission_inv.add_item( std::move( itm ) ); - } - } - } - talk_function::companion_skill_trainer( *comp, skill_mechanics, 5_days, 2 ); - edit.mapgen_veh_destroy( omt_tgt, car ); - return true; -} - -// camp faction companion mission recovery functions -npc_ptr basecamp::companion_choose_return( const std::string &miss_id, - time_duration min_duration ) -{ - return talk_function::companion_choose_return( omt_pos, base_camps::id, miss_id, - calendar::turn - min_duration ); -} -void basecamp::finish_return( npc &comp, const bool fixed_time, const std::string &return_msg, - const std::string &skill, int difficulty, const bool cancel ) -{ - popup( "%s %s", comp.name, return_msg ); - // this is the time the mission was expected to take, or did take for fixed time missions - time_duration reserve_time = comp.companion_mission_time_ret - comp.companion_mission_time; - time_duration mission_time = reserve_time; - if( !fixed_time ) { - mission_time = calendar::turn - comp.companion_mission_time; - } - if( !cancel ) { - talk_function::companion_skill_trainer( comp, skill, mission_time, difficulty ); - } - - // companions subtracted food when they started the mission, but didn't mod their hunger for - // that food. so add it back in. - int need_food = time_to_food( mission_time - reserve_time ); - if( camp_food_supply() < need_food ) { - popup( _( "Your companion seems disappointed that your pantry is empty…" ) ); - } - int avail_food = std::min( need_food, camp_food_supply() ) + time_to_food( reserve_time ); - // movng all the logic from talk_function::companion return here instead of polluting - // mission_companion - comp.reset_companion_mission(); - comp.companion_mission_time = calendar::before_time_starts; - comp.companion_mission_time_ret = calendar::before_time_starts; - if( !cancel ) { - for( detached_ptr &it : comp.companion_mission_inv.dump_remove( ) ) { - if( !it->count_by_charges() || it->charges > 0 ) { - place_results( std::move( it ) ); - } - } - } - comp.companion_mission_inv.clear(); - comp.companion_mission_points.clear(); - // npc *may* be active, or not if outside the reality bubble - g->reload_npcs(); - validate_assignees(); - - camp_food_supply( -need_food ); - comp.mod_stored_kcal( avail_food ); - if( has_water() ) { - comp.set_thirst( 0 ); - } - comp.set_fatigue( 0 ); - comp.set_sleep_deprivation( 0 ); -} - -npc_ptr basecamp::mission_return( const std::string &miss_id, time_duration min_duration, - bool fixed_time, const std::string &return_msg, - const std::string &skill, int difficulty ) -{ - npc_ptr comp = companion_choose_return( miss_id, min_duration ); - if( comp != nullptr ) { - finish_return( *comp, fixed_time, return_msg, skill, difficulty ); - } - return comp; -} - -npc_ptr basecamp::emergency_recall() -{ - npc_ptr comp = talk_function::companion_choose_return( omt_pos, base_camps::id, "", - calendar::turn - 24_hours, false ); - if( comp != nullptr ) { - const std::string return_msg = _( "responds to the emergency recall…" ); - finish_return( *comp, false, return_msg, "menial", 0, true ); - } - return comp; - -} - -bool basecamp::upgrade_return( point dir, const std::string &miss ) -{ - const std::string bldg = next_upgrade( dir, 1 ); - if( bldg == "null" ) { - return false; - } - return upgrade_return( dir, miss, bldg ); -} - -bool basecamp::upgrade_return( point dir, const std::string &miss, - const std::string &bldg ) -{ - auto e = expansions.find( dir ); - if( e == expansions.end() ) { - return false; - } - const tripoint_abs_omt upos = e->second.pos; - const recipe &making = recipe_id( bldg ).obj(); - - time_duration work_days = base_camps::to_workdays( making.batch_duration() ); - npc_ptr comp = companion_choose_return( miss, work_days ); - - if( comp == nullptr ) { - return false; - } - if( !run_mapgen_update_func( making.get_blueprint(), upos ) ) { - popup( _( "%s failed to build the %s upgrade, perhaps there is a vehicle in the way." ), - comp->disp_name(), - making.get_blueprint() ); - return false; - } - update_provides( bldg, e->second ); - update_resources( bldg ); - - const std::string msg = _( "returns from upgrading the camp having earned a bit of " - "experience…" ); - finish_return( *comp, false, msg, "construction", making.difficulty ); - - return true; -} - -bool basecamp::menial_return() -{ - const std::string msg = _( "returns from doing the dirty work to keep the camp running…" ); - npc_ptr comp = mission_return( "_faction_camp_menial", 3_hours, true, msg, "menial", 2 ); - if( comp == nullptr ) { - return false; - } - comp->revert_after_activity(); - return true; -} - -bool basecamp::gathering_return( const std::string &task, time_duration min_time ) -{ - npc_ptr comp = companion_choose_return( task, min_time ); - if( comp == nullptr ) { - return false; - } - - std::string task_description = _( "gathering materials" ); - int danger = 20; - int favor = 2; - int threat = 10; - std::string skill_group = "gathering"; - int skill = 2 * comp->get_skill_level( skill_survival ) + comp->per_cur; - int checks_per_cycle = 6; - if( task == "_faction_camp_foraging" ) { - task_description = _( "foraging for edible plants" ); - danger = 15; - checks_per_cycle = 12; - } else if( task == "_faction_camp_trapping" ) { - task_description = _( "trapping small animals" ); - favor = 1; - danger = 15; - skill_group = "trapping"; - skill = 2 * comp->get_skill_level( skill_traps ) + comp->per_cur; - checks_per_cycle = 4; - } else if( task == "_faction_camp_hunting" ) { - task_description = _( "hunting for meat" ); - danger = 10; - favor = 0; - skill_group = "hunting"; - skill = 1.5 * comp->get_skill_level( skill_gun ) + comp->per_cur / 2.0; - threat = 12; - checks_per_cycle = 2; - } - - time_duration mission_time = calendar::turn - comp->companion_mission_time; - if( one_in( danger ) && !survive_random_encounter( *comp, task_description, favor, threat ) ) { - return false; - } - const std::string msg = string_format( _( "returns from %s carrying supplies and has a bit " - "more experience…" ), task_description ); - finish_return( *comp, false, msg, skill_group, 1 ); - - item_group_id itemlist = item_group_id( "forest" ); - if( task == "_faction_camp_firewood" ) { - itemlist = item_group_id( "gathering_faction_base_camp_firewood" ); - } else if( task == "_faction_camp_gathering" ) { - itemlist = get_gatherlist(); - } else if( task == "_faction_camp_foraging" ) { - switch( season_of_year( calendar::turn ) ) { - case SPRING: - itemlist = item_group_id( "foraging_faction_camp_spring" ); - break; - case SUMMER: - itemlist = item_group_id( "foraging_faction_camp_summer" ); - break; - case AUTUMN: - itemlist = item_group_id( "foraging_faction_camp_autumn" ); - break; - case WINTER: - itemlist = item_group_id( "foraging_faction_camp_winter" ); - break; - default: - debugmsg( "Invalid season" ); - } - } - if( task == "_faction_camp_trapping" || task == "_faction_camp_hunting" ) { - hunting_results( skill, task, checks_per_cycle * mission_time / min_time, 30 ); - } else { - search_results( skill, itemlist, checks_per_cycle * mission_time / min_time, 15 ); - } - - return true; -} - -void basecamp::fortifications_return() -{ - npc_ptr comp = companion_choose_return( "_faction_camp_om_fortifications", 3_hours ); - if( comp != nullptr ) { - std::string build_n = "faction_wall_level_N_0"; - std::string build_e = "faction_wall_level_E_0"; - std::string build_s = "faction_wall_level_S_0"; - std::string build_w = "faction_wall_level_W_0"; - if( comp->companion_mission_role_id == "faction_wall_level_N_1" ) { - build_n = "faction_wall_level_N_1"; - build_e = "faction_wall_level_E_1"; - build_s = "faction_wall_level_S_1"; - build_w = "faction_wall_level_W_1"; - } - std::string build_first = build_e; - std::string build_second = build_w; - bool build_dir_NS = comp->companion_mission_points[0].y() != - comp->companion_mission_points[1].y(); - if( build_dir_NS ) { - build_first = build_s; - build_second = build_n; - } - //Add fences - auto build_point = comp->companion_mission_points; - for( size_t pt = 0; pt < build_point.size(); pt++ ) { - //First point is always at top or west since they are built in a line and sorted - if( pt == 0 ) { - run_mapgen_update_func( build_first, build_point[pt] ); - } else if( pt == build_point.size() - 1 ) { - run_mapgen_update_func( build_second, build_point[pt] ); - } else { - run_mapgen_update_func( build_first, build_point[pt] ); - run_mapgen_update_func( build_second, build_point[pt] ); - } - if( comp->companion_mission_role_id == "faction_wall_level_N_0" ) { - tripoint_abs_omt fort_point = build_point[pt]; - fortifications.push_back( fort_point ); - } - } - const std::string msg = _( "returns from constructing fortifications…" ); - finish_return( *comp, true, msg, "construction", 2 ); - } -} - -void basecamp::recruit_return( const std::string &task, int score ) -{ - const std::string msg = _( "returns from searching for recruits with " - "a bit more experience…" ); - npc_ptr comp = mission_return( task, 4_days, true, msg, "recruiting", 2 ); - if( comp == nullptr ) { - return; - } - - npc_ptr recruit; - //Success of finding an NPC to recruit, based on survival/tracking - int skill = comp->get_skill_level( skill_survival ); - if( rng( 1, 20 ) + skill > 17 ) { - recruit = make_shared_fast(); - recruit->randomize(); - popup( _( "%s encountered %s…" ), comp->name, recruit->name ); - } else { - popup( _( "%s didn't find anyone to recruit…" ), comp->name ); - return; - } - //Chance of convincing them to come back - skill = ( 100 * comp->get_skill_level( skill_speech ) + score ) / 100; - if( rng( 1, 20 ) + skill > 19 ) { - popup( _( "%s convinced %s to hear a recruitment offer from you…" ), comp->name, - recruit->name ); - } else { - popup( _( "%s wasn't interested in anything %s had to offer…" ), recruit->name, - comp->name ); - return; - } - //Stat window - int rec_m = 0; - int appeal = rng( -5, 3 ) + std::min( skill / 3, 3 ); - int food_desire = rng( 0, 5 ); - while( rec_m >= 0 ) { - std::string description = _( "NPC Overview:\n\n" ); - description += string_format( _( "Name: %s\n\n" ), right_justify( recruit->name, 20 ) ); - description += string_format( _( "Strength: %10d\n" ), recruit->str_max ); - description += string_format( _( "Dexterity: %10d\n" ), recruit->dex_max ); - description += string_format( _( "Intelligence: %10d\n" ), recruit->int_max ); - description += string_format( _( "Perception: %10d\n\n" ), recruit->per_max ); - description += _( "Top 3 Skills:\n" ); - - const auto skillslist = Skill::get_skills_sorted_by( - [&]( const Skill & a, const Skill & b ) { - const int level_a = recruit->get_skill_level( a.ident() ); - const int level_b = recruit->get_skill_level( b.ident() ); - return localized_compare( std::make_pair( -level_a, a.name() ), - std::make_pair( -level_b, b.name() ) ); - } ); - - description += string_format( "%s: %4d\n", right_justify( skillslist[0]->name(), 12 ), - recruit->get_skill_level( skillslist[0]->ident() ) ); - description += string_format( "%s: %4d\n", right_justify( skillslist[1]->name(), 12 ), - recruit->get_skill_level( skillslist[1]->ident() ) ); - description += string_format( "%s: %4d\n\n", right_justify( skillslist[2]->name(), 12 ), - recruit->get_skill_level( skillslist[2]->ident() ) ); - - description += _( "Asking for:\n" ); - description += string_format( _( "> Food: %10d days\n\n" ), food_desire ); - description += string_format( _( "Faction Food:%9d days\n\n" ), - camp_food_supply( 0, true ) ); - description += string_format( _( "Recruit Chance: %10d%%\n\n" ), - std::min( 100 * ( 10 + appeal ) / 20, 100 ) ); - description += _( "Select an option:" ); - - std::vector rec_options; - rec_options.emplace_back( _( "Increase Food" ) ); - rec_options.emplace_back( _( "Decrease Food" ) ); - rec_options.emplace_back( _( "Make Offer" ) ); - rec_options.emplace_back( _( "Not Interested" ) ); - - rec_m = uilist( description, rec_options ); - if( rec_m < 0 || rec_m == 3 || static_cast( rec_m ) >= rec_options.size() ) { - popup( _( "You decide you aren't interested…" ) ); - return; - } - - if( rec_m == 0 && food_desire + 1 <= camp_food_supply( 0, true ) ) { - food_desire++; - appeal++; - } - if( rec_m == 1 ) { - if( food_desire > 0 ) { - food_desire--; - appeal--; - } - } - if( rec_m == 2 ) { - break; - } - } - // Roll for recruitment - if( rng( 1, 20 ) + appeal >= 10 ) { - popup( _( "%s has been convinced to join!" ), recruit->name ); - } else { - popup( _( "%s wasn't interested…" ), recruit->name ); - // nullptr; - return; - } - // Time durations always subtract from camp food supply - camp_food_supply( 1_days * food_desire ); - recruit->spawn_at_precise( { g->get_levx(), g->get_levy() }, g->u.pos() + point( -4, -4 ) ); - overmap_buffer.insert_npc( recruit ); - recruit->form_opinion( g->u ); - recruit->mission = NPC_MISSION_NULL; - recruit->add_new_mission( mission::reserve_random( ORIGIN_ANY_NPC, - recruit->global_omt_location(), - recruit->getID() ) ); - talk_function::follow( *recruit ); - g->load_npcs(); -} - -void basecamp::combat_mission_return( const std::string &miss ) -{ - npc_ptr comp = companion_choose_return( miss, 3_hours ); - if( comp != nullptr ) { - bool patrolling = miss == "_faction_camp_combat_0"; - comp_list patrol; - npc_ptr guy = overmap_buffer.find_npc( comp->getID() ); - if( guy ) { - patrol.push_back( guy ); - } - for( auto pt : comp->companion_mission_points ) { - const oter_id &omt_ref = overmap_buffer.ter( pt ); - int swim = comp->get_skill_level( skill_swimming ); - if( is_river( omt_ref ) && swim < 2 ) { - if( swim == 0 ) { - popup( _( "Your companion hit a river and didn't know how to swim…" ) ); - } else { - popup( _( "Your companion hit a river and didn't know how to swim well " - "enough to cross…" ) ); - } - break; - } - comp->death_drops = false; - bool outcome = talk_function::companion_om_combat_check( patrol, pt, patrolling ); - comp->death_drops = true; - if( outcome ) { - overmap_buffer.reveal( pt, 2 ); - } else if( comp->is_dead() ) { - popup( _( "%s didn't return from patrol…" ), comp->name ); - comp->place_corpse( pt ); - overmap_buffer.add_note( pt, "DEAD NPC" ); - overmap_buffer.remove_npc( comp->getID() ); - return; - } - } - const std::string msg = _( "returns from patrol…" ); - finish_return( *comp, true, msg, "combat", 4 ); - } -} - -bool basecamp::survey_return() -{ - npc_ptr comp = companion_choose_return( "_faction_camp_expansion", 3_hours ); - if( comp == nullptr ) { - return false; - } - - popup( _( "Select a tile up to %d tiles away." ), 1 ); - const tripoint_abs_omt where( ui::omap::choose_point() ); - if( where == overmap::invalid_tripoint ) { - return false; - } - - int dist = rl_dist( where.xy(), omt_pos.xy() ); - if( dist != 1 ) { - popup( _( "You must select a tile within %d range of the camp" ), 1 ); - return false; - } - if( omt_pos.z() != where.z() ) { - popup( _( "Expansions must be on the same level as the camp" ) ); - return false; - } - const point dir = talk_function::om_simple_dir( omt_pos, where ); - if( expansions.find( dir ) != expansions.end() ) { - popup( _( "You already have an expansion at that location" ) ); - return false; - } - - const oter_id &omt_ref = overmap_buffer.ter( where ); - const auto &pos_expansions = recipe_group::get_recipes_by_id( "all_faction_base_expansions", - omt_ref.id().c_str() ); - if( pos_expansions.empty() ) { - popup( _( "You can't build any expansions in a %s." ), omt_ref.id().c_str() ); - return false; - } - - const recipe_id expansion_type = base_camps::select_camp_option( pos_expansions, - _( "Select an expansion:" ) ); - - if( !run_mapgen_update_func( expansion_type.str(), where ) ) { - popup( _( "%s failed to add the %s expansion, perhaps there is a vehicle in the way." ), - comp->disp_name(), - expansion_type->blueprint_name() ); - return false; - } - overmap_buffer.ter_set( where, oter_id( expansion_type.str() ) ); - add_expansion( expansion_type.str(), where, dir ); - const std::string msg = _( "returns from surveying for the expansion." ); - finish_return( *comp, true, msg, "construction", 2 ); - return true; -} - -bool basecamp::farm_return( const std::string &task, const tripoint_abs_omt &omt_tgt, farm_ops op ) -{ - const std::string msg = _( "returns from working your fields…" ); - npc_ptr comp = companion_choose_return( task, 15_minutes ); - if( comp == nullptr ) { - return false; - } - - farm_action( omt_tgt, op, comp ); - - //Give any seeds the NPC didn't use back to you. - - for( detached_ptr &it : comp->companion_mission_inv.dump_remove() ) { - if( it->charges > 0 ) { - g->u.i_add( std::move( it ) ); - } - } - finish_return( *comp, true, msg, "survival", 2 ); - return true; -} - -// window manipulation -void talk_function::draw_camp_tabs( const catacurses::window &win, - const base_camps::tab_mode cur_tab, - const std::vector> &entries ) -{ - werase( win ); - const int width = getmaxx( win ); - mvwhline( win, point( 0, 2 ), LINE_OXOX, width ); - - std::vector tabs( base_camps::all_directions.size() ); - for( const auto &direction : base_camps::all_directions ) { - tabs.at( direction.second.tab_order ) = direction.second.tab_title.translated(); - } - const int tab_step = 3; - int tab_space = 1; - int tab_x = 0; - for( auto &t : tabs ) { - bool tab_empty = entries[tab_x + 1].empty(); - draw_subtab( win, tab_space, t, tab_x == cur_tab, false, tab_empty ); - tab_space += tab_step + utf8_width( t ); - tab_x++; - } - wnoutrefresh( win ); -} - -std::string talk_function::name_mission_tabs( - const tripoint_abs_omt &omt_pos, const std::string &role_id, - const std::string &cur_title, base_camps::tab_mode cur_tab ) -{ - if( role_id != base_camps::id ) { - return cur_title; - } - std::optional temp_camp = overmap_buffer.find_camp( omt_pos.xy() ); - if( !temp_camp ) { - return cur_title; - } - basecamp *bcp = *temp_camp; - for( const auto &direction : base_camps::all_directions ) { - if( cur_tab == direction.second.tab_order ) { - return bcp->expansion_tab( direction.first ); - } - } - return bcp->expansion_tab( base_camps::base_dir ); -} - -// recipes and craft support functions -int basecamp::recipe_batch_max( const recipe &making ) const -{ - int max_batch = 0; - const int max_checks = 9; - for( size_t batch_size = 1000; batch_size > 0; batch_size /= 10 ) { - for( int iter = 0; iter < max_checks; iter++ ) { - time_duration work_days = base_camps::to_workdays( making.batch_duration( - max_batch + batch_size ) ); - int food_req = time_to_food( work_days ); - bool can_make = making.deduped_requirements().can_make_with_inventory( - _inv, making.get_component_filter(), max_batch + batch_size ); - if( can_make && camp_food_supply() > food_req ) { - max_batch += batch_size; - } else { - break; - } - } - } - return max_batch; -} - -void basecamp::search_results( int skill, const item_group_id &group_id, int attempts, - int difficulty ) -{ - for( int i = 0; i < attempts; i++ ) { - if( skill > rng( 0, difficulty ) ) { - detached_ptr result = item_group::item_from( group_id, calendar::turn ); - if( result && !result->is_null() ) { - place_results( std::move( result ) ); - } - } - } -} - -void basecamp::hunting_results( int skill, const std::string &task, int attempts, int difficulty ) -{ - // no item groups for corpses, so we'll have to improvise - weighted_int_list hunting_targets; - hunting_targets.add( mon_beaver, 10 ); - hunting_targets.add( mon_fox_red, 10 ); - hunting_targets.add( mon_fox_gray, 10 ); - hunting_targets.add( mon_mink, 5 ); - hunting_targets.add( mon_muskrat, 10 ); - hunting_targets.add( mon_otter, 10 ); - hunting_targets.add( mon_duck, 10 ); - hunting_targets.add( mon_cockatrice, 1 ); - if( task == "_faction_camp_trapping" ) { - hunting_targets.add( mon_black_rat, 40 ); - hunting_targets.add( mon_chipmunk, 30 ); - hunting_targets.add( mon_groundhog, 30 ); - hunting_targets.add( mon_hare, 20 ); - hunting_targets.add( mon_lemming, 40 ); - hunting_targets.add( mon_opossum, 10 ); - hunting_targets.add( mon_rabbit, 20 ); - hunting_targets.add( mon_squirrel, 20 ); - hunting_targets.add( mon_weasel, 20 ); - hunting_targets.add( mon_chicken, 10 ); - hunting_targets.add( mon_grouse, 10 ); - hunting_targets.add( mon_pheasant, 10 ); - hunting_targets.add( mon_turkey, 20 ); - } else if( task == "_faction_camp_hunting" ) { - hunting_targets.add( mon_chicken, 20 ); - // good luck hunting upland game birds without dogs - hunting_targets.add( mon_grouse, 2 ); - hunting_targets.add( mon_pheasant, 2 ); - hunting_targets.add( mon_turkey, 10 ); - hunting_targets.add( mon_bear, 1 ); - hunting_targets.add( mon_cougar, 5 ); - hunting_targets.add( mon_cow, 1 ); - hunting_targets.add( mon_coyote, 15 ); - hunting_targets.add( mon_deer, 2 ); - hunting_targets.add( mon_moose, 1 ); - hunting_targets.add( mon_pig, 1 ); - hunting_targets.add( mon_wolf, 10 ); - } - for( int i = 0; i < attempts; i++ ) { - if( skill > rng( 0, difficulty ) ) { - const mtype_id *target = hunting_targets.pick(); - detached_ptr result = item::make_corpse( *target, calendar::turn, "" ); - if( result && !result->is_null() ) { - place_results( std::move( result ) ); - } - } - } -} - -int om_harvest_furn_est( npc &comp, const tripoint &omt_tgt, const furn_id &f, int chance ) -{ - return om_harvest_furn( comp, omt_tgt, f, chance, true, false ); -} -int om_harvest_furn_break( npc &comp, const tripoint &omt_tgt, const furn_id &f, int chance ) -{ - return om_harvest_furn( comp, omt_tgt, f, chance, false, false ); -} -int om_harvest_furn( npc &comp, const tripoint &omt_tgt, const furn_id &f, int chance, - bool estimate, bool bring_back ) -{ - const furn_t &furn_tgt = f.obj(); - tinymap target_bay; - target_bay.load( tripoint( omt_tgt.x * 2, omt_tgt.y * 2, omt_tgt.z ), false ); - int harvested = 0; - int total = 0; - tripoint mapmin = tripoint( 0, 0, omt_tgt.z ); - tripoint mapmax = tripoint( 2 * SEEX - 1, 2 * SEEY - 1, omt_tgt.z ); - for( const tripoint &p : target_bay.points_in_rectangle( mapmin, mapmax ) ) { - if( target_bay.furn( p ) == f && x_in_y( chance, 100 ) ) { - total++; - if( estimate ) { - continue; - } - if( bring_back ) { - for( detached_ptr &itm : item_group::items_from( furn_tgt.bash.drop_group, - calendar::turn ) ) { - comp.companion_mission_inv.push_back( std::move( itm ) ); - } - harvested++; - } - if( bring_back || comp.str_cur > furn_tgt.bash.str_min + rng( -2, 2 ) ) { - target_bay.furn_set( p, furn_tgt.bash.furn_set ); - } - } - } - target_bay.save(); - if( bring_back ) { - return harvested; - } - return total; -} - -int om_harvest_ter_est( npc &comp, const tripoint_abs_omt &omt_tgt, const ter_id &t, int chance ) -{ - return om_harvest_ter( comp, omt_tgt, t, chance, true, false ); -} -int om_harvest_ter_break( npc &comp, const tripoint_abs_omt &omt_tgt, const ter_id &t, int chance ) -{ - return om_harvest_ter( comp, omt_tgt, t, chance, false, false ); -} -int om_harvest_ter( npc &comp, const tripoint_abs_omt &omt_tgt, const ter_id &t, int chance, - bool estimate, bool bring_back ) -{ - const ter_t &ter_tgt = t.obj(); - tinymap target_bay; - target_bay.load( project_to( omt_tgt ), false ); - int harvested = 0; - int total = 0; - tripoint mapmin = tripoint( 0, 0, omt_tgt.z() ); - tripoint mapmax = tripoint( 2 * SEEX - 1, 2 * SEEY - 1, omt_tgt.z() ); - for( const tripoint &p : target_bay.points_in_rectangle( mapmin, mapmax ) ) { - if( target_bay.ter( p ) == t && x_in_y( chance, 100 ) ) { - total++; - if( estimate ) { - continue; - } - if( bring_back ) { - for( detached_ptr &itm : item_group::items_from( ter_tgt.bash.drop_group, - calendar::turn ) ) { - comp.companion_mission_inv.push_back( std::move( itm ) ); - } - harvested++; - target_bay.ter_set( p, ter_tgt.bash.ter_set ); - } - } - } - target_bay.save(); - if( bring_back ) { - return harvested; - } - return total; -} - -int om_cutdown_trees_est( const tripoint_abs_omt &omt_tgt, int chance ) -{ - return om_cutdown_trees( omt_tgt, chance, true, false ); -} -int om_cutdown_trees_logs( const tripoint_abs_omt &omt_tgt, int chance ) -{ - return om_cutdown_trees( omt_tgt, chance, false, true ); -} -int om_cutdown_trees_trunks( const tripoint_abs_omt &omt_tgt, int chance ) -{ - return om_cutdown_trees( omt_tgt, chance, false, false ); -} -int om_cutdown_trees( const tripoint_abs_omt &omt_tgt, int chance, bool estimate, - bool force_cut_trunk ) -{ - tinymap target_bay; - target_bay.load( project_to( omt_tgt ), false ); - int harvested = 0; - int total = 0; - tripoint mapmin = tripoint( 0, 0, omt_tgt.z() ); - tripoint mapmax = tripoint( 2 * SEEX - 1, 2 * SEEY - 1, omt_tgt.z() ); - for( const tripoint &p : target_bay.points_in_rectangle( mapmin, mapmax ) ) { - if( target_bay.ter( p ).obj().has_flag( flag_TREE ) && rng( 0, 100 ) < chance ) { - total++; - if( estimate ) { - continue; - } - tripoint delta{ - 3 * ( 2 * rng( 0, 1 ) - 1 ) + rng( -1, 1 ), - 3 * rng( -1, 1 ) + rng( -1, 1 ), - omt_tgt.z() - }; - std::vector tree = line_to( p, p + delta, rng( 1, 8 ) ); - for( auto &elem : tree ) { - target_bay.destroy( elem ); - target_bay.ter_set( elem, t_trunk ); - } - target_bay.ter_set( p, t_dirt ); - harvested++; - } - } - if( estimate ) { - return total; - } - if( !force_cut_trunk ) { - target_bay.save(); - return harvested; - } - // having cut down the trees, cut the trunks into logs - for( const tripoint &p : target_bay.points_in_rectangle( mapmin, mapmax ) ) { - if( target_bay.ter( p ) == ter_id( "t_trunk" ) ) { - target_bay.ter_set( p, t_dirt ); - target_bay.spawn_item( p, itype_log, rng( 2, 3 ), 0, calendar::turn ); - harvested++; - } - } - target_bay.save(); - return harvested; -} - -mass_volume om_harvest_itm( const npc_ptr &comp, const tripoint_abs_omt &omt_tgt, int chance, - bool take ) -{ - tinymap target_bay; - target_bay.load( project_to( omt_tgt ), false ); - units::mass harvested_m = 0_gram; - units::volume harvested_v = 0_ml; - units::mass total_m = 0_gram; - units::volume total_v = 0_ml; - int total_num = 0; - int harvested_num = 0; - tripoint mapmin = tripoint( 0, 0, omt_tgt.z() ); - tripoint mapmax = tripoint( 2 * SEEX - 1, 2 * SEEY - 1, omt_tgt.z() ); - for( const tripoint &p : target_bay.points_in_rectangle( mapmin, mapmax ) ) { - for( item *&i : target_bay.i_at( p ) ) { - total_m += i->weight( true ); - total_v += i->volume( true ); - total_num += 1; - if( take && x_in_y( chance, 100 ) ) { - if( comp ) { - comp->companion_mission_inv.push_back( item::spawn( *i ) ); - } - harvested_m += i->weight( true ); - harvested_v += i->volume( true ); - harvested_num += 1; - } - } - if( take ) { - target_bay.i_clear( p ); - } - } - target_bay.save(); - mass_volume results; - if( take ) { - results.wgt = harvested_m; - results.vol = harvested_v; - results.count = harvested_num; - } else { - results.wgt = total_m; - results.vol = total_v; - results.count = total_num; - } - return results; -} - -tripoint_abs_omt om_target_tile( const tripoint_abs_omt &omt_pos, int min_range, int range, - const std::vector &possible_om_types, bool must_see, - bool popup_notice, const tripoint_abs_omt &source, bool bounce ) -{ - bool errors = false; - if( popup_notice ) { - popup( _( "Select a location between %d and %d tiles away." ), min_range, range ); - } - - std::vector bounce_locations = { "faction_hide_site_0" }; - - tripoint_abs_omt where; - om_range_mark( omt_pos, range ); - om_range_mark( omt_pos, min_range, true, "Y;X: MIN RANGE" ); - if( source == tripoint_abs_omt( -999, -999, -999 ) ) { - where = ui::omap::choose_point(); - } else { - where = ui::omap::choose_point( source ); - } - om_range_mark( omt_pos, range, false ); - om_range_mark( omt_pos, min_range, false, "Y;X: MIN RANGE" ); - - if( where == overmap::invalid_tripoint ) { - return tripoint_abs_omt( -999, -999, -999 ); - } - int dist = rl_dist( where.xy(), omt_pos.xy() ); - if( dist > range || dist < min_range ) { - popup( _( "You must select a target between %d and %d range from the base. Range: %d" ), - min_range, range, dist ); - errors = true; - } - - tripoint_abs_omt omt_tgt = where; - - const oter_id &omt_ref = overmap_buffer.ter( omt_tgt ); - - if( must_see && !overmap_buffer.seen( omt_tgt ) ) { - errors = true; - popup( _( "You must be able to see the target that you select." ) ); - } - - if( !errors ) { - for( const std::string &pos_om : bounce_locations ) { - if( bounce && omt_ref.id().c_str() == pos_om && range > 5 ) { - if( query_yn( _( "Do you want to bounce off this location to extend range?" ) ) ) { - om_line_mark( omt_pos, omt_tgt ); - tripoint_abs_omt dest = - om_target_tile( omt_tgt, 2, range * .75, possible_om_types, true, false, - omt_tgt, true ); - om_line_mark( omt_pos, omt_tgt, false ); - return dest; - } - } - } - - if( possible_om_types.empty() ) { - return omt_tgt; - } - - for( const std::string &pos_om : possible_om_types ) { - if( omt_ref.id().c_str() == pos_om ) { - return omt_tgt; - } - } - } - - return om_target_tile( omt_pos, min_range, range, possible_om_types ); -} - -void om_range_mark( const tripoint_abs_omt &origin, int range, bool add_notes, - const std::string &message ) -{ - std::vector note_pts; - //North Limit - for( int x = origin.x() - range; x < origin.x() + range + 1; x++ ) { - note_pts.emplace_back( x, origin.y() - range, origin.z() ); - } - //South - for( int x = origin.x() - range; x < origin.x() + range + 1; x++ ) { - note_pts.emplace_back( x, origin.y() + range, origin.z() ); - } - //West - for( int y = origin.y() - range; y < origin.y() + range + 1; y++ ) { - note_pts.emplace_back( origin.x() - range, y, origin.z() ); - } - //East - for( int y = origin.y() - range; y < origin.y() + range + 1; y++ ) { - note_pts.emplace_back( origin.x() + range, y, origin.z() ); - } - - for( auto pt : note_pts ) { - if( add_notes ) { - if( !overmap_buffer.has_note( pt ) ) { - overmap_buffer.add_note( pt, message ); - } - } else { - if( overmap_buffer.has_note( pt ) && overmap_buffer.note( pt ) == message ) { - overmap_buffer.delete_note( pt ); - } - } - } -} - -void om_line_mark( const tripoint_abs_omt &origin, const tripoint_abs_omt &dest, bool add_notes, - const std::string &message ) -{ - std::vector note_pts = line_to( origin, dest ); - - for( auto pt : note_pts ) { - if( add_notes ) { - if( !overmap_buffer.has_note( pt ) ) { - overmap_buffer.add_note( pt, message ); - } - } else { - if( overmap_buffer.has_note( pt ) && overmap_buffer.note( pt ) == message ) { - overmap_buffer.delete_note( pt ); - } - } - } -} - -std::string get_mission_action_string( const std::string &input_mission ) -{ - const base_camps::miss_data &miss_info = base_camps::miss_info[ input_mission ]; - return miss_info.action.translated(); - -} - -bool om_set_hide_site( npc &comp, const tripoint_abs_omt &omt_tgt, - const std::vector &itms, - const std::vector &itms_rem ) -{ - tinymap target_bay; - target_bay.load( project_to( omt_tgt ), false ); - target_bay.ter_set( point( 11, 10 ), t_improvised_shelter ); - for( auto i : itms_rem ) { - comp.companion_mission_inv.add_item( target_bay.i_rem( point( 11, 10 ), i ) ); - } - for( auto i : itms ) { - std::vector> res = g->u.use_amount( i->typeId(), 1 ); - target_bay.add_item_or_charges( point( 11, 10 ), std::move( res.front() ) ); - } - target_bay.save(); - - overmap_buffer.ter_set( omt_tgt, oter_id( "faction_hide_site_0" ) ); - - overmap_buffer.reveal( omt_tgt.xy(), 3, 0 ); - return true; -} - -// path and travel time -time_duration companion_travel_time_calc( const tripoint_abs_omt &omt_pos, - const tripoint_abs_omt &omt_tgt, time_duration work, int trips, int haulage ) -{ - std::vector journey = line_to( omt_pos, omt_tgt ); - return companion_travel_time_calc( journey, work, trips, haulage ); -} - -time_duration companion_travel_time_calc( const std::vector &journey, - time_duration work, int trips, int haulage ) -{ - int one_way = 0; - for( auto &om : journey ) { - const oter_id &omt_ref = overmap_buffer.ter( om ); - std::string om_id = omt_ref.id().c_str(); - //Player walks 1 om is roughly 30 seconds - if( om_id == "field" ) { - one_way += 30 + 30 * haulage; - } else if( om_id == "forest" ) { - one_way += 40 + 30 * haulage; - } else if( om_id == "forest_thick" ) { - one_way += 50 + 30 * haulage; - } else if( om_id == "forest_water" ) { - one_way += 60 + 30 * haulage; - } else if( is_river( omt_ref ) ) { - // hauling stuff over a river is slow, because you have to portage most items - one_way += 200 + 40 * haulage; - } else { - one_way += 40 + 30 * haulage; - } - } - return work + one_way * trips * 1_seconds; -} - -int om_carry_weight_to_trips( units::mass mass, units::volume volume, - units::mass carry_mass, units::volume carry_volume ) -{ - int trips_m = 1 + mass / carry_mass; - int trips_v = 1 + volume / carry_volume; - // return the number of round trips - return 2 * std::max( trips_m, trips_v ); -} - -int om_carry_weight_to_trips( const std::vector &itms, const npc_ptr &comp ) -{ - units::mass total_m = 0_gram; - units::volume total_v = 0_ml; - for( auto &i : itms ) { - total_m += i->weight( true ); - total_v += i->volume( true ); - } - units::mass max_m = comp ? comp->weight_capacity() - comp->weight_carried() : 30_kilogram; - //Assume an additional pack will be carried in addition to normal gear - units::volume sack_v = item::spawn_temporary( itype_id( "makeshift_sling" ) )->get_storage(); - units::volume max_v = comp ? comp->volume_capacity() - comp->volume_carried() : sack_v; - max_v += sack_v; - return om_carry_weight_to_trips( total_m, total_v, max_m, max_v ); -} - -std::vector om_companion_path( const tripoint_abs_omt &start, int range_start, - bool bounce ) -{ - std::vector scout_points; - tripoint_abs_omt last = start; - int range = range_start; - int def_range = range_start; - while( range > 3 ) { - tripoint_abs_omt spt = om_target_tile( last, 0, range, {}, false, true, last, false ); - if( spt == tripoint_abs_omt( -999, -999, -999 ) ) { - scout_points.clear(); - return scout_points; - } - if( last == spt ) { - break; - } - std::vector note_pts = line_to( last, spt ); - scout_points.insert( scout_points.end(), note_pts.begin(), note_pts.end() ); - om_line_mark( last, spt ); - range -= rl_dist( spt.xy(), last.xy() ); - last = spt; - - const oter_id &omt_ref = overmap_buffer.ter( last ); - - if( bounce && omt_ref.id() == "faction_hide_site_0" ) { - range = def_range * .75; - def_range = range; - } - } - for( auto pt : scout_points ) { - om_line_mark( pt, pt, false ); - } - return scout_points; -} - -// camp utility functions -// mission support functions -std::vector basecamp::give_equipment( std::vector equipment, - const std::string &msg ) -{ - std::vector equipment_lost; - do { - std::vector names; - names.reserve( equipment.size() ); - for( auto &i : equipment ) { - names.push_back( i->tname() + " [" + std::to_string( i->charges ) + "]" ); - } - - // Choose item if applicable - const int i_index = uilist( msg, names ); - if( i_index < 0 || static_cast( i_index ) >= equipment.size() ) { - return equipment_lost; - } - equipment_lost.push_back( equipment[i_index] ); - equipment.erase( equipment.begin() + i_index ); - } while( !equipment.empty() ); - return equipment_lost; -} - -bool basecamp::validate_sort_points() -{ - auto &mgr = zone_manager::get_manager(); - map &here = get_map(); - if( here.check_vehicle_zones( g->get_levz() ) ) { - mgr.cache_vzones(); - } - tripoint src_loc = here.getlocal( bb_pos ) + point_north; - const tripoint abspos = here.getabs( g->u.pos() ); - if( !mgr.has_near( zone_type_camp_storage, abspos, 60 ) || - !mgr.has_near( zone_type_camp_food, abspos, 60 ) ) { - if( query_yn( _( "You do not have sufficient sort zones. Do you want to add them?" ) ) ) { - return set_sort_points(); - } else { - return false; - } - } else { - const std::unordered_set &src_set = mgr.get_near( zone_type_camp_storage, abspos ); - const std::vector &src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); - // Find the nearest unsorted zone to dump objects at - for( auto &src : src_sorted ) { - src_loc = here.getlocal( src ); - break; - } - } - set_dumping_spot( here.getabs( src_loc ) ); - return true; -} - -bool basecamp::set_sort_points() -{ - popup( _( "Sorting zones have changed. Please create some sorting zones. " - "You must create a camp food zone, and a camp storage zone." ) ); - g->zones_manager(); - return validate_sort_points(); -} - -// camp analysis functions -std::vector> talk_function::om_building_region( - const tripoint_abs_omt &omt_pos, int range, bool purge ) -{ - std::vector> om_camp_region; - for( const tripoint_abs_omt &omt_near_pos : points_in_radius( omt_pos, range ) ) { - const oter_id &omt_rnear = overmap_buffer.ter( omt_near_pos ); - std::string om_rnear_id = omt_rnear.id().c_str(); - if( !purge || ( om_rnear_id.find( "faction_base_" ) != std::string::npos && - om_rnear_id.find( "faction_base_camp" ) == std::string::npos ) ) { - om_camp_region.emplace_back( om_rnear_id, omt_near_pos ); - } - } - return om_camp_region; -} - -point talk_function::om_simple_dir( const tripoint_abs_omt &omt_pos, - const tripoint_abs_omt &omt_tar ) -{ - point_rel_omt diff = omt_tar.xy() - omt_pos.xy(); - return { clamp( diff.x(), -1, 1 ), clamp( diff.y(), -1, 1 ) }; -} - -// mission descriptions -std::string camp_trip_description( const time_duration &total_time, - const time_duration &working_time, - const time_duration &travel_time, int distance, int trips, - int need_food ) -{ - std::string entry = "\n"; - //A square is roughly 3 m - int dist_m = distance * SEEX * 2 * 3; - if( dist_m > 1000 ) { - entry += string_format( _( ">Distance:%15.2f (km)\n" ), dist_m / 1000.0 ); - entry += string_format( _( ">One Way: %15d (trips)\n" ), trips ); - entry += string_format( _( ">Covered: %15.2f (km)\n" ), dist_m / 1000.0 * trips ); - } else { - entry += string_format( _( ">Distance:%15d (m)\n" ), dist_m ); - entry += string_format( _( ">One Way: %15d (trips)\n" ), trips ); - entry += string_format( _( ">Covered: %15d (m)\n" ), dist_m * trips ); - } - entry += string_format( _( ">Travel: %s\n" ), right_justify( to_string( travel_time ), 23 ) ); - entry += string_format( _( ">Working: %s\n" ), right_justify( to_string( working_time ), 23 ) ); - entry += "---- ----\n"; - entry += string_format( _( "Total: %s\n" ), right_justify( to_string( total_time ), 23 ) ); - entry += string_format( _( "Food: %15d (kcal)\n\n" ), need_food ); - return entry; -} - -std::string basecamp::craft_description( const recipe_id &itm ) -{ - const recipe &making = itm.obj(); - - std::vector component_print_buffer; - int pane = FULL_SCREEN_WIDTH; - const requirement_data &req = making.simple_requirements(); - auto tools = req.get_folded_tools_list( pane, c_white, _inv, 1 ); - auto comps = req.get_folded_components_list( pane, c_white, _inv, - making.get_component_filter(), 1 ); - - component_print_buffer.insert( component_print_buffer.end(), tools.begin(), tools.end() ); - component_print_buffer.insert( component_print_buffer.end(), comps.begin(), comps.end() ); - - std::string comp; - for( auto &elem : component_print_buffer ) { - comp = comp + elem + "\n"; - } - comp = string_format( _( "Skill used: %s\nDifficulty: %d\n%s\nTime: %s\n" ), - making.skill_used.obj().name(), making.difficulty, comp, - to_string( base_camps::to_workdays( making.batch_duration() ) ) ); - return comp; -} - -int basecamp::recruit_evaluation( int &sbase, int &sexpansions, int &sfaction, int &sbonus ) const -{ - auto e = expansions.find( base_camps::base_dir ); - if( e == expansions.end() ) { - sbase = 0; - sexpansions = 0; - sfaction = 0; - sbonus = 0; - return 0; - } - sbase = e->second.cur_level * 5; - sexpansions = expansions.size() * 2; - - //How could we ever starve? - //More than 5 farms at recruiting base - int farm = 0; - for( point dir : directions ) { - if( has_provides( "farming", dir ) ) { - farm++; - } - } - sfaction = std::min( camp_food_supply() / 10000, 10 ); - sfaction += std::min( camp_discipline() / 10, 5 ); - sfaction += std::min( camp_morale() / 10, 5 ); - - //Secret or Hidden Bonus - //Please avoid openly discussing so that there is some mystery to the system - sbonus = 0; - if( farm >= 5 ) { - sbonus += 10; - } - //More machine than man - //Bionics count > 10, respect > 75 - if( g->u.get_bionics().size() > 10 && camp_discipline() > 75 ) { - sbonus += 10; - } - //Survival of the fittest - if( g->get_kill_tracker().npc_kill_count() > 10 ) { - sbonus += 10; - } - return sbase + sexpansions + sfaction + sbonus; -} -int basecamp::recruit_evaluation() const -{ - int sbase; - int sexpansions; - int sfaction; - int sbonus; - return recruit_evaluation( sbase, sexpansions, sfaction, sbonus ); -} - -std::string basecamp::recruit_description( int npc_count ) -{ - int sbase; - int sexpansions; - int sfaction; - int sbonus; - int total = recruit_evaluation( sbase, sexpansions, sfaction, sbonus ); - std::string desc = string_format( _( "Notes:\n" - "Recruiting additional followers is very dangerous and " - "expensive. The outcome is heavily dependent on the " - "skill of the companion you send and the appeal of " - "your base.\n\n" - "Skill used: speech\n" - "Difficulty: 2\n" - "Base Score: +%3d%%\n" - "> Expansion Bonus: +%3d%%\n" - "> Faction Bonus: +%3d%%\n" - "> Special Bonus: +%3d%%\n\n" - "Total: Skill +%3d%%\n\n" - "Risk: High\n" - "Time: 4 Days\n" - "Positions: %d/1\n" ), sbase, sexpansions, sfaction, - sbonus, total, npc_count ); - return desc; -} - -std::string basecamp::gathering_description( const std::string &bldg ) -{ - item_group_id itemlist; - if( item_group::group_is_defined( item_group_id( "gathering_" + bldg ) ) ) { - itemlist = item_group_id( "gathering_" + bldg ); - } else { - itemlist = item_group_id( "forest" ); - } - std::string output; - - // Functions like the debug item group tester but only rolls 6 times so the player - // doesn't have perfect knowledge - std::map itemnames; - for( size_t a = 0; a < 6; a++ ) { - const auto items = item_group::items_from( itemlist, calendar::turn ); - for( auto &it : items ) { - itemnames[it->display_name()]++; - } - } - // Invert the map to get sorting! - std::multimap itemnames2; - for( const auto &e : itemnames ) { - itemnames2.insert( std::pair( e.second, e.first ) ); - } - for( const auto &e : itemnames2 ) { - output = output + "> " + e.second + "\n"; - } - return output; -} - -std::string basecamp::farm_description( const tripoint_abs_omt &farm_pos, size_t &plots_count, - farm_ops operation ) -{ - std::pair farm_data = farm_action( farm_pos, operation ); - std::string entry; - plots_count = farm_data.first; - switch( operation ) { - case farm_ops::harvest: - entry += _( "Harvestable: " ) + std::to_string( plots_count ) + "\n" + farm_data.second; - break; - case farm_ops::plant: - entry += _( "Ready for Planting: " ) + std::to_string( plots_count ) + "\n"; - break; - case farm_ops::plow: - entry += _( "Needs Plowing: " ) + std::to_string( plots_count ) + "\n"; - break; - default: - debugmsg( "Farm operations called with no operation" ); - break; - } - return entry; -} - -std::string camp_car_description( vehicle *car ) -{ - std::string entry = string_format( _( "Name: %s\n" ), right_justify( car->name, 25 ) ); - entry += _( "---- Engines ----\n" ); - for( const vpart_reference &vpr : car->get_any_parts( "ENGINE" ) ) { - const vehicle_part &pt = vpr.part(); - const vpart_info &vp = pt.info(); - entry += string_format( _( "Engine: %s\n" ), right_justify( vp.name(), 25 ) ); - entry += string_format( _( ">Status: %24d%%\n" ), - static_cast( 100 * pt.health_percent() ) ); - entry += string_format( _( ">Fuel: %s\n" ), right_justify( item::nname( vp.fuel_type ), 25 ) ); - } - std::map fuels = car->fuels_left(); - entry += _( "---- Fuel Storage & Battery ----\n" ); - for( auto &fuel : fuels ) { - std::string fuel_entry = string_format( "%d/%d", car->fuel_left( fuel.first ), - car->fuel_capacity( fuel.first ) ); - item *fuel_it = item::spawn_temporary( fuel.first ); - entry += string_format( ">%s:%s\n", fuel_it->tname(), - right_justify( fuel_entry, 33 - utf8_width( fuel_it->tname() ) ) ); - } - for( const vpart_reference &vpr : car->get_all_parts() ) { - if( vpr.part().is_battery() ) { - const vpart_info &vp = vpr.part().info(); - entry += string_format( ">%s:%*d%%\n", vp.name(), 32 - utf8_width( vp.name() ), - static_cast( 100.0 * vpr.part().ammo_remaining() / - vpr.part().ammo_capacity() ) ); - } - } - entry += "\n"; - entry += _( "Estimated Chop Time: 5 Days\n" ); - return entry; -} - -// food supply -int camp_food_supply( int change, bool return_days ) -{ - faction *yours = g->u.get_faction(); - yours->food_supply += change; - if( yours->food_supply < 0 ) { - yours->likes_u += yours->food_supply / 1250; - yours->respects_u += yours->food_supply / 625; - yours->food_supply = 0; - } - if( return_days ) { - return yours->food_supply / 2500; - } - - return yours->food_supply; -} - -int camp_food_supply( time_duration work ) -{ - return camp_food_supply( -time_to_food( work ) ); -} - -int time_to_food( time_duration work ) -{ - return 2500 * to_hours( work ) / 24; -} - -// mission support -bool basecamp::distribute_food() -{ - if( !validate_sort_points() ) { - popup( _( "You do not have a camp food zone. Aborting…" ) ); - return false; - } - - zone_manager &mgr = zone_manager::get_manager(); - map &here = get_map(); - if( here.check_vehicle_zones( g->get_levz() ) ) { - mgr.cache_vzones(); - } - const tripoint abspos = get_dumping_spot(); - const std::unordered_set z_food = mgr.get_near( zone_type_camp_food, abspos, 60 ); - - bool has_items = false; - for( const tripoint &p_food_stock_abs : z_food ) { - const tripoint p_food_stock = here.getlocal( p_food_stock_abs ); - if( !here.i_at( p_food_stock ).empty() ) { - has_items = true; - break; - } - } - if( !has_items ) { - popup( _( "No items are located at the drop point…" ) ); - return false; - } - - const double quick_rot_coeff = 0.6 + ( has_provides( "pantry" ) ? 0.1 : 0 ); - const double slow_rot_coeff = 0.8 + ( has_provides( "pantry" ) ? 0.05 : 0 ); - - int total = 0; - for( const tripoint &p_food_stock_abs : z_food ) { - const tripoint p_food_stock = here.getlocal( p_food_stock_abs ); - map_stack initial_items = here.i_at( p_food_stock ); - for( auto it = initial_items.begin(); it != initial_items.end(); ) { - item *i = *it; - const bool is_contained_food = i->is_container() && i->get_contained().is_food(); - const item &innermost_item = is_contained_food ? i->get_contained() : *i; - - const bool would_npcs_eat = innermost_item.is_food() - && !innermost_item.rotten() - && innermost_item.get_comestible_fun() >= -6; - - if( !would_npcs_eat ) { - it++; - continue; - } - - constexpr time_duration full_calories_threshold = 5_days; - constexpr time_duration slow_rot_threshold = 2_days; - // Containers handle spoilage logic internally. - // so we would get very large time duration for canned or unspoilable foods. - const time_duration rots_in = time_duration::from_turns( i->spoilage_sort_order() ); - const double rot_multiplier = ( rots_in >= full_calories_threshold ) ? - 1.0 : - ( ( rots_in >= slow_rot_threshold ) ? slow_rot_coeff : quick_rot_coeff ); - // Comestible is not null for food. - assert( innermost_item.get_comestible() ); - - // TODO: Probably better use component based nutrition - // like in `Character::compute_effective_nutrients`. - const int kcal_per_item = innermost_item.get_comestible()->default_nutrition.kcal; - const double kcal_from_current = kcal_per_item * innermost_item.count() * rot_multiplier; - - total += static_cast( std::round( kcal_from_current ) ); - - // Leave empty container. - // TODO: make NPCs leave empty food containers elsewhere? - if( i->is_container() ) { - i->contents.clear_items(); - i->on_contents_changed(); - it++; - } else { - it = initial_items.erase( it ); - } - } - } - - popup( _( "You distribute %d kcal worth of food to your companions." ), total ); - camp_food_supply( total ); - return true; -} - -// morale -int camp_discipline( int change ) -{ - faction *yours = g->u.get_faction(); - yours->respects_u += change; - return yours->respects_u; -} - -int camp_morale( int change ) -{ - faction *yours = g->u.get_faction(); - yours->likes_u += change; - return yours->likes_u; -} - -void basecamp::place_results( detached_ptr &&result ) -{ - if( by_radio ) { - tinymap target_bay; - target_bay.load( project_to( omt_pos ), false ); - const tripoint &new_spot = target_bay.getlocal( get_dumping_spot() ); - target_bay.add_item_or_charges( new_spot, std::move( result ), true ); - apply_camp_ownership( new_spot, 10 ); - target_bay.save(); - } else { - map &here = get_map(); - auto &mgr = zone_manager::get_manager(); - if( here.check_vehicle_zones( g->get_levz() ) ) { - mgr.cache_vzones(); - } - const auto abspos = here.getabs( g->u.pos() ); - if( mgr.has_near( zone_type_camp_storage, abspos ) ) { - const auto &src_set = mgr.get_near( zone_type_camp_storage, abspos ); - const auto &src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); - // Find the nearest unsorted zone to dump objects at - auto &src = src_sorted.front(); - const auto &src_loc = here.getlocal( src ); - here.add_item_or_charges( src_loc, std::move( result ), true ); - apply_camp_ownership( src_loc, 10 ); - //or dump them at players feet - } else { - here.add_item_or_charges( g->u.pos(), std::move( result ), true ); - apply_camp_ownership( g->u.pos(), 0 ); - } - } -} - -void apply_camp_ownership( const tripoint &camp_pos, int radius ) -{ - map &here = get_map(); - for( const tripoint &p : here.points_in_rectangle( camp_pos + point( -radius, -radius ), - camp_pos + point( radius, radius ) ) ) { - auto items = here.i_at( p.xy() ); - for( item * const &elem : items ) { - elem->set_owner( g->u ); - } - } -} - -// combat and danger -// this entire system is stupid -bool survive_random_encounter( npc &comp, std::string &situation, int favor, int threat ) -{ - popup( _( "While %s, a silent specter approaches %s…" ), situation, comp.name ); - int skill_1 = comp.get_skill_level( skill_survival ); - int skill_2 = comp.get_skill_level( skill_speech ); - if( skill_1 + favor > rng( 0, 10 ) ) { - popup( _( "%s notices the antlered horror and slips away before it gets too close." ), - comp.name ); - talk_function::companion_skill_trainer( comp, "gathering", 10_minutes, 10 - favor ); - } else if( skill_2 + favor > rng( 0, 10 ) ) { - popup( _( "Another survivor approaches %s asking for directions." ), comp.name ); - popup( _( "Fearful that he may be an agent of some hostile faction, " - "%s doesn't mention the camp." ), comp.name ); - popup( _( "The two part on friendly terms and the survivor isn't seen again." ) ); - talk_function::companion_skill_trainer( comp, "recruiting", 10_minutes, 10 - favor ); - } else { - popup( _( "%s didn't detect the ambush until it was too late!" ), comp.name ); - int skill = comp.get_skill_level( skill_melee ) + - 0.5 * comp.get_skill_level( skill_survival ) + - comp.get_skill_level( skill_bashing ) + - comp.get_skill_level( skill_cutting ) + - comp.get_skill_level( skill_stabbing ) + - comp.get_skill_level( skill_unarmed ) + comp.get_skill_level( skill_dodge ); - int monsters = rng( 0, threat ); - if( skill * rng( 8, 12 ) > ( monsters * rng( 8, 12 ) ) ) { - if( one_in( 2 ) ) { - popup( _( "The bull moose charged %s from the tree line…" ), comp.name ); - popup( _( "Despite being caught off guard %s was able to run away until the " - "moose gave up pursuit." ), comp.name ); - } else { - popup( _( "The jabberwock grabbed %s by the arm from behind and " - "began to scream." ), comp.name ); - popup( _( "Terrified, %s spun around and delivered a massive kick " - "to the creature's torso…" ), comp.name ); - popup( _( "Collapsing into a pile of gore, %s walked away unscathed…" ), - comp.name ); - popup( _( "(Sounds like bullshit, you wonder what really happened.)" ) ); - } - talk_function::companion_skill_trainer( comp, "combat", 10_minutes, 10 - favor ); - } else { - if( one_in( 2 ) ) { - popup( _( "%s turned to find the hideous black eyes of a giant wasp " - "staring back from only a few feet away…" ), comp.name ); - popup( _( "The screams were terrifying, there was nothing anyone could do." ) ); - } else { - popup( _( "Pieces of %s were found strewn across a few bushes." ), comp.name ); - popup( _( "(You wonder if your companions are fit to work on their own…)" ) ); - } - overmap_buffer.remove_npc( comp.getID() ); - return false; - } - } - return true; -} diff --git a/src/faction_camp.h b/src/faction_camp.h deleted file mode 100644 index 8c65ea8c4c14..000000000000 --- a/src/faction_camp.h +++ /dev/null @@ -1,60 +0,0 @@ -#pragma once -#ifndef CATA_SRC_FACTION_CAMP_H -#define CATA_SRC_FACTION_CAMP_H - -#include -#include -#include - -#include "coordinates.h" - -namespace catacurses -{ -class window; -} // namespace catacurses -class npc; -struct point; -struct tripoint; -struct mission_entry; -namespace base_camps -{ -enum tab_mode : int; -} // namespace base_camps - -enum class farm_ops { - plow = 1, - plant = 2, - harvest = 4 -}; -inline bool operator&( const farm_ops &rhs, const farm_ops &lhs ) -{ - return static_cast( rhs ) & static_cast( lhs ); -} - -std::string get_mission_action_string( const std::string &input_mission ); - -namespace talk_function -{ -void basecamp_mission( npc & ); - -///Changes an NPC follower to a camp manager -void become_overseer( npc & ); -///Changes an NPC follower to a camp manager, displays camp warnings, and sets the current OM tile to a camp survey -void start_camp( npc & ); -///Changes an NPC follower to a camp manager of an existing camp. -void recover_camp( npc & ); -///Changes an NPC camp manager to a follower -void remove_overseer( npc & ); - -void draw_camp_tabs( const catacurses::window &win, base_camps::tab_mode cur_tab, - const std::vector> &entries ); -std::string name_mission_tabs( const tripoint_abs_omt &omt_pos, const std::string &role_id, - const std::string &cur_title, base_camps::tab_mode cur_tab ); - -/// Returns the OM tiles surrounding the camp, @ref purge removes all tiles that aren't expansions -std::vector> om_building_region( - const tripoint_abs_omt &omt_pos, int range, bool purge = false ); -/// Returns the x and y coordinates of ( omt_tar - omt_pos ), clamped to [-1, 1] -point om_simple_dir( const tripoint_abs_omt &omt_pos, const tripoint_abs_omt &omt_tar ); -} // namespace talk_function -#endif // CATA_SRC_FACTION_CAMP_H diff --git a/src/game.cpp b/src/game.cpp index 10a0b8752340..8adeb0402f59 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -43,7 +43,6 @@ #include "avatar.h" #include "avatar_action.h" #include "avatar_functions.h" -#include "basecamp.h" #include "bionics.h" #include "bodypart.h" #include "calendar.h" @@ -822,9 +821,6 @@ void game::load_npcs() if( temp->is_active() ) { continue; } - if( temp->has_companion_mission() ) { - continue; - } const tripoint sm_loc = temp->global_sm_location(); // NPCs who are out of bounds before placement would be pushed into bounds @@ -1952,20 +1948,6 @@ void game::validate_npc_followers() } } -void game::validate_camps() -{ - basecamp camp = m.hoist_submap_camp( u.pos() ); - if( camp.is_valid() ) { - overmap_buffer.add_camp( camp ); - m.remove_submap_camp( u.pos() ); - } else if( camp.camp_omt_pos() != tripoint_abs_omt() ) { - std::string camp_name = _( "Faction Camp" ); - camp.set_name( camp_name ); - overmap_buffer.add_camp( camp ); - m.remove_submap_camp( u.pos() ); - } -} - std::set game::get_follower_list() { return follower_ids; @@ -2600,7 +2582,6 @@ bool game::load( const save_t &name ) reload_npcs(); validate_npc_followers(); validate_mounted_npcs(); - validate_camps(); validate_linked_vehicles(); update_map( u ); for( auto &e : u.inv_dump() ) { diff --git a/src/game.h b/src/game.h index e45873f8f4ff..c87604bfdf3c 100644 --- a/src/game.h +++ b/src/game.h @@ -490,8 +490,6 @@ class game void validate_mounted_npcs(); /** validate towed vehicles so they get linked up again after a load */ void validate_linked_vehicles(); - /** validate camps to ensure they are on the overmap list */ - void validate_camps(); /** process vehicles that are following the player */ void autopilot_vehicles(); /** Picks and spawns a random fish from the remaining fish list when a fish is caught. */ diff --git a/src/gamemode_defense.cpp b/src/gamemode_defense.cpp index 419c1bd2719a..28f8226c1a5a 100644 --- a/src/gamemode_defense.cpp +++ b/src/gamemode_defense.cpp @@ -8,7 +8,6 @@ #include "action.h" #include "avatar.h" -#include "basecamp.h" #include "color.h" #include "construction.h" #include "coordinate_conversions.h" diff --git a/src/iexamine.cpp b/src/iexamine.cpp index 731ec4fd27b3..3472a1c504b5 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -22,7 +22,6 @@ #include "avatar.h" #include "avatar_action.h" #include "avatar_functions.h" -#include "basecamp.h" #include "bionics.h" #include "bodypart.h" #include "calendar.h" @@ -72,7 +71,6 @@ #include "mapdata.h" #include "material.h" #include "messages.h" -#include "mission_companion.h" #include "monster.h" #include "mtype.h" #include "mutation.h" @@ -1496,32 +1494,6 @@ void iexamine::locked_object_pickable( player &p, const tripoint &examp ) } } -void iexamine::bulletin_board( player &p, const tripoint &examp ) -{ - g->validate_camps(); - map &here = get_map(); - // TODO: fix point types - point_abs_omt omt( ms_to_omt_copy( here.getabs( examp.xy() ) ) ); - std::optional bcp = overmap_buffer.find_camp( omt ); - if( bcp ) { - basecamp *temp_camp = *bcp; - temp_camp->validate_bb_pos( here.getabs( examp ) ); - temp_camp->validate_assignees(); - temp_camp->validate_sort_points(); - - const std::string title = ( "Base Missions" ); - mission_data mission_key; - temp_camp->set_by_radio( false ); - temp_camp->get_available_missions( mission_key ); - if( talk_function::display_and_choose_opts( mission_key, temp_camp->camp_omt_pos(), - "FACTION_CAMP", title ) ) { - temp_camp->handle_mission( mission_key.cur_key.id, mission_key.cur_key.dir ); - } - } else { - p.add_msg_if_player( _( "This bulletin board is not inside a camp" ) ); - } -} - /** * Display popup with reference to "The Enigma of Amigara Fault." */ @@ -6301,7 +6273,6 @@ iexamine_function iexamine_function_from_string( const std::string &function_nam { "pit_covered", &iexamine::pit_covered }, { "slot_machine", &iexamine::slot_machine }, { "safe", &iexamine::safe }, - { "bulletin_board", &iexamine::bulletin_board }, { "fault", &iexamine::fault }, { "notify", &iexamine::notify }, { "transform", &iexamine::transform }, diff --git a/src/iexamine.h b/src/iexamine.h index 8d786f588568..1a8ac11ba202 100644 --- a/src/iexamine.h +++ b/src/iexamine.h @@ -55,7 +55,6 @@ void harvest_ter( player &p, const tripoint &examp ); void harvested_plant( player &p, const tripoint &examp ); void locked_object( player &p, const tripoint &examp ); void locked_object_pickable( player &p, const tripoint &examp ); -void bulletin_board( player &p, const tripoint &examp ); void fault( player &p, const tripoint &examp ); void notify( player &p, const tripoint &pos ); void transform( player &p, const tripoint &pos ); diff --git a/src/map.cpp b/src/map.cpp index 87e822cb305e..d982b4354df7 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -18,7 +18,6 @@ #include "ammo_effect.h" #include "artifact.h" #include "avatar.h" -#include "basecamp.h" #include "bodypart.h" #include "calendar.h" #include "cata_utility.h" @@ -5099,7 +5098,7 @@ static void use_charges_from_furn( const furn_t &f, const itype_id &type, int &q std::vector> map::use_charges( const tripoint &origin, const int range, const itype_id &type, int &quantity, - const std::function &filter, basecamp *bcp ) + const std::function &filter ) { std::vector> ret; @@ -5120,13 +5119,6 @@ std::vector> map::use_charges( const tripoint &origin, const } } - if( bcp ) { - ret = bcp->use_charges( type, quantity ); - if( quantity <= 0 ) { - return ret; - } - } - for( const tripoint &p : reachable_pts ) { if( has_furn( p ) ) { use_charges_from_furn( furn( p ).obj(), type, quantity, this, p, ret, filter ); @@ -5757,40 +5749,6 @@ computer *map::computer_at( const tripoint &p ) return sm->get_computer( l ); } -bool map::point_within_camp( const tripoint &point_check ) const -{ - // TODO: fix point types - const tripoint_abs_omt omt_check( ms_to_omt_copy( point_check ) ); - const point_abs_omt p = omt_check.xy(); - for( int x2 = -2; x2 < 2; x2++ ) { - for( int y2 = -2; y2 < 2; y2++ ) { - if( std::optional bcp = overmap_buffer.find_camp( p + point( x2, y2 ) ) ) { - return ( *bcp )->camp_omt_pos().z() == point_check.z; - } - } - } - return false; -} - -void map::remove_submap_camp( const tripoint &p ) -{ - get_submap_at( p )->camp.reset(); -} - -basecamp map::hoist_submap_camp( const tripoint &p ) -{ - basecamp *pcamp = get_submap_at( p )->camp.get(); - return pcamp ? *pcamp : basecamp(); -} - -void map::add_camp( const tripoint_abs_omt &omt_pos, const std::string &name ) -{ - basecamp temp_camp = basecamp( name, omt_pos ); - overmap_buffer.add_camp( temp_camp ); - g->u.camps.insert( omt_pos ); - g->validate_camps(); -} - void map::update_submap_active_item_status( const tripoint &p ) { point l; diff --git a/src/map.h b/src/map.h index d87127f8959c..ec38116d1512 100644 --- a/src/map.h +++ b/src/map.h @@ -47,7 +47,6 @@ class window; class active_tile_data; class Character; class Creature; -class basecamp; class character_id; class computer; class field; @@ -1290,8 +1289,7 @@ class map int &quantity, const std::function &filter = return_true ); std::vector> use_charges( const tripoint &origin, int range, const itype_id &type, - int &quantity, const std::function &filter = return_true, - basecamp *bcp = nullptr ); + int &quantity, const std::function &filter = return_true ); /*@}*/ /** @@ -1485,11 +1483,6 @@ class map computer *computer_at( const tripoint &p ); computer *add_computer( const tripoint &p, const std::string &name, int security ); - // Camps - void add_camp( const tripoint_abs_omt &omt_pos, const std::string &name ); - void remove_submap_camp( const tripoint & ); - basecamp hoist_submap_camp( const tripoint &p ); - bool point_within_camp( const tripoint &point_check ) const; // Graffiti bool has_graffiti_at( const tripoint &p ) const; const std::string &graffiti_at( const tripoint &p ) const; diff --git a/src/map_field.cpp b/src/map_field.cpp index c1052facea1f..127aee4d71aa 100644 --- a/src/map_field.cpp +++ b/src/map_field.cpp @@ -13,7 +13,6 @@ #include #include "avatar.h" -#include "basecamp.h" #include "bodypart.h" #include "calendar.h" #include "cata_utility.h" diff --git a/src/mapgen.cpp b/src/mapgen.cpp index a11d71ef84b8..4d49e6d49219 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -15,7 +15,6 @@ #include #include "all_enum_values.h" -#include "basecamp.h" #include "calendar.h" #include "catacharset.h" #include "catalua.h" diff --git a/src/mission_companion.cpp b/src/mission_companion.cpp deleted file mode 100644 index bea4da63e42c..000000000000 --- a/src/mission_companion.cpp +++ /dev/null @@ -1,2153 +0,0 @@ -#include "mission_companion.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "avatar.h" -#include "basecamp.h" -#include "calendar.h" -#include "catacharset.h" -#include "color.h" -#include "coordinate_conversions.h" -#include "coordinates.h" -#include "creature.h" -#include "cursesdef.h" -#include "debug.h" -#include "enums.h" -#include "faction.h" -#include "faction_camp.h" -#include "game.h" -#include "game_constants.h" -#include "input.h" -#include "int_id.h" -#include "inventory.h" -#include "item.h" -#include "item_group.h" -#include "item_stack.h" -#include "itype.h" -#include "line.h" -#include "map.h" -#include "map_iterator.h" -#include "mapbuffer.h" -#include "mapdata.h" -#include "material.h" -#include "memory_fast.h" -#include "messages.h" -#include "monster.h" -#include "mtype.h" -#include "npc.h" -#include "output.h" -#include "overmap.h" -#include "overmapbuffer.h" -#include "pldata.h" -#include "point.h" -#include "rng.h" -#include "skill.h" -#include "string_formatter.h" -#include "string_id.h" -#include "translations.h" -#include "ui.h" -#include "ui_manager.h" -#include "value_ptr.h" -#include "weather.h" -#include "weighted_list.h" - -static const efftype_id effect_riding( "riding" ); - -static const itype_id itype_fungal_seeds( "fungal_seeds" ); -static const itype_id itype_marloss_seed( "marloss_seed" ); - -static const skill_id skill_bashing( "bashing" ); -static const skill_id skill_cutting( "cutting" ); -static const skill_id skill_dodge( "dodge" ); -static const skill_id skill_fabrication( "fabrication" ); -static const skill_id skill_gun( "gun" ); -static const skill_id skill_melee( "melee" ); -static const skill_id skill_stabbing( "stabbing" ); -static const skill_id skill_survival( "survival" ); -static const skill_id skill_unarmed( "unarmed" ); - -static const trait_id trait_DEBUG_HS( "DEBUG_HS" ); -static const trait_id trait_NPC_MISSION_LEV_1( "NPC_MISSION_LEV_1" ); -static const trait_id trait_NPC_CONSTRUCTION_LEV_1( "NPC_CONSTRUCTION_LEV_1" ); -static const trait_id trait_NPC_CONSTRUCTION_LEV_2( "NPC_CONSTRUCTION_LEV_2" ); - -struct comp_rank { - int industry; - int combat; - int survival; -}; - -mission_data::mission_data() -{ - for( int tab_num = base_camps::TAB_MAIN; tab_num != base_camps::TAB_NW + 3; tab_num++ ) { - std::vector k; - entries.push_back( k ); - } -} - -namespace talk_function -{ -void scavenger_patrol( mission_data &mission_key, npc &p ); -void scavenger_raid( mission_data &mission_key, npc &p ); -void commune_menial( mission_data &mission_key, npc &p ); -void commune_carpentry( mission_data &mission_key, npc &p ); -void commune_farmfield( mission_data &mission_key, npc &p ); -void commune_forage( mission_data &mission_key, npc &p ); -void commune_refuge_caravan( mission_data &mission_key, npc &p ); -bool handle_outpost_mission( const mission_entry &cur_key, npc &p ); -} // namespace talk_function - -void talk_function::companion_mission( npc &p ) -{ - mission_data mission_key; - - std::string role_id = p.companion_mission_role_id; - const tripoint_abs_omt omt_pos = p.global_omt_location(); - std::string title = _( "Outpost Missions" ); - if( role_id == "SCAVENGER" ) { - title = _( "Junk Shop Missions" ); - scavenger_patrol( mission_key, p ); - if( p.has_trait( trait_NPC_MISSION_LEV_1 ) ) { - scavenger_raid( mission_key, p ); - } - } else if( role_id == "COMMUNE CROPS" ) { - title = _( "Agricultural Missions" ); - commune_farmfield( mission_key, p ); - commune_forage( mission_key, p ); - commune_refuge_caravan( mission_key, p ); - } else if( role_id == "FOREMAN" ) { - title = _( "Construction Missions" ); - commune_menial( mission_key, p ); - if( p.has_trait( trait_NPC_MISSION_LEV_1 ) ) { - commune_carpentry( mission_key, p ); - } - } else if( role_id == "REFUGEE MERCHANT" ) { - title = _( "Free Merchant Missions" ); - commune_refuge_caravan( mission_key, p ); - } else { - return; - } - if( display_and_choose_opts( mission_key, omt_pos, role_id, title ) ) { - handle_outpost_mission( mission_key.cur_key, p ); - } -} - -void talk_function::scavenger_patrol( mission_data &mission_key, npc &p ) -{ - std::string entry = _( "Profit: $25-$500\nDanger: Low\nTime: 10 hour missions\n\n" - "Assigning one of your allies to patrol the surrounding wilderness " - "and isolated buildings presents the opportunity to build survival " - "skills while engaging in relatively safe combat against isolated " - "creatures." ); - mission_key.add( "Assign Scavenging Patrol", _( "Assign Scavenging Patrol" ), entry ); - std::vector npc_list = companion_list( p, "_scavenging_patrol" ); - if( !npc_list.empty() ) { - entry = _( "Profit: $25-$500\nDanger: Low\nTime: 10 hour missions\n\nPatrol Roster:\n" ); - for( auto &elem : npc_list ) { - entry = entry + " " + elem->name + " [" + std::to_string( to_hours( calendar::turn - - elem->companion_mission_time ) ) + _( " hours]\n" ); - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - mission_key.add( "Retrieve Scavenging Patrol", _( "Retrieve Scavenging Patrol" ), entry ); - } -} - -void talk_function::scavenger_raid( mission_data &mission_key, npc &p ) -{ - std::string entry = _( "Profit: $200-$1000\nDanger: Medium\nTime: 10 hour missions\n\n" - "Scavenging raids target formerly populated areas to loot as many " - "valuable items as possible before being surrounded by the undead. " - "Combat is to be expected and assistance from the rest of the party " - "can't be guaranteed. The rewards are greater and there is a chance " - "of the companion bringing back items." ); - mission_key.add( "Assign Scavenging Raid", _( "Assign Scavenging Raid" ), entry ); - std::vector npc_list = companion_list( p, "_scavenging_raid" ); - if( !npc_list.empty() ) { - entry = _( "Profit: $200-$1000\nDanger: Medium\nTime: 10 hour missions\n\n" - "Raid Roster:\n" ); - for( auto &elem : npc_list ) { - entry = entry + " " + elem->name + " [" + std::to_string( to_hours( calendar::turn - - elem->companion_mission_time ) ) + _( " hours]\n" ); - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - mission_key.add( "Retrieve Scavenging Raid", _( "Retrieve Scavenging Raid" ), entry ); - } -} - -void talk_function::commune_menial( mission_data &mission_key, npc &p ) -{ - mission_key.add( "Assign Ally to Menial Labor", _( "Assign Ally to Menial Labor" ) ); - std::vector npc_list = companion_list( p, "_labor" ); - if( !npc_list.empty() ) { - std::string entry = _( "Profit: $8/hour\nDanger: Minimal\nTime: 1 hour minimum\n\n" - "Assigning one of your allies to menial labor is a safe way to teach " - "them basic skills and build reputation with the outpost. Don't expect " - "much of a reward though.\n\nLabor Roster:\n" ); - for( auto &elem : npc_list ) { - entry = entry + " " + elem->name + " [" + std::to_string( to_hours( calendar::turn - - elem->companion_mission_time ) ) + _( " hours]\n" ); - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - mission_key.add( "Recover Ally from Menial Labor", _( "Recover Ally from Menial Labor" ), - entry ); - } -} - -void talk_function::commune_carpentry( mission_data &mission_key, npc &p ) -{ - std::string entry = _( "Profit: $12/hour\nDanger: Minimal\nTime: 1 hour minimum\n\n" - "Carpentry work requires more skill than menial labor while offering " - "modestly improved pay. It is unlikely that your companions will face " - "combat but there are hazards working on makeshift buildings." ); - mission_key.add( "Assign Ally to Carpentry Work", _( "Assign Ally to Carpentry Work" ), entry ); - std::vector npc_list = companion_list( p, "_carpenter" ); - if( !npc_list.empty() ) { - entry = _( "Profit: $12/hour\nDanger: Minimal\nTime: 1 hour minimum\n\nLabor Roster:\n" ); - for( auto &elem : npc_list ) { - entry = entry + " " + elem->name + " [" + std::to_string( to_hours( calendar::turn - - elem->companion_mission_time ) ) + _( " hours]\n" ); - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - mission_key.add( "Recover Ally from Carpentry Work", - _( "Recover Ally from Carpentry Work" ), entry ); - } -} - -void talk_function::commune_farmfield( mission_data &mission_key, npc &p ) -{ - if( !p.has_trait( trait_NPC_CONSTRUCTION_LEV_1 ) ) { - std::string entry = _( "Cost: $1000\n\n\n" - " .........\n" // NOLINT(cata-text-style) - " .........\n" // NOLINT(cata-text-style) - " .........\n" // NOLINT(cata-text-style) - " .........\n" // NOLINT(cata-text-style) - " .........\n" // NOLINT(cata-text-style) - " .........\n" // NOLINT(cata-text-style) - " ..#....**\n" // NOLINT(cata-text-style) - " ..#Ov..**\n" // NOLINT(cata-text-style) - " ...O|....\n\n" // NOLINT(cata-text-style) - "We're willing to let you purchase a field at a substantial " - "discount to use for your own agricultural enterprises. We'll " - "plow it for you so you know exactly what is yours… after you " - "have a field you can hire workers to plant or harvest crops for " - "you. If the crop is something we have a demand for, we'll be " - "willing to liquidate it." ); - mission_key.add( "Purchase East Field", _( "Purchase East Field" ), entry ); - } - if( p.has_trait( trait_NPC_CONSTRUCTION_LEV_1 ) && !p.has_trait( trait_NPC_CONSTRUCTION_LEV_2 ) ) { - std::string entry = _( "Cost: $5500\n\n" - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ..#....**" // NOLINT(cata-text-style) - "\n ..#Ov..**" // NOLINT(cata-text-style) - "\n ...O|....\n\n" // NOLINT(cata-text-style) - "Protecting your field with a sturdy picket fence will keep most " - "wildlife from nibbling your crops apart. You can expect yields to " - "increase." ); - mission_key.add( "Upgrade East Field I", _( "Upgrade East Field I" ), entry ); - } - - if( p.has_trait( trait_NPC_CONSTRUCTION_LEV_1 ) ) { - std::string entry = _( "Cost: $3.00/plot\n\n" - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ..#....**" // NOLINT(cata-text-style) - "\n ..#Ov..**" // NOLINT(cata-text-style) - "\n ...O|....\n\n" // NOLINT(cata-text-style) - "We'll plant the field with your choice of crop if you are willing " - "to finance it. When the crop is ready to harvest you can have us " - "liquidate it or harvest it for you." ); - mission_key.add( "Plant East Field", _( "Plant East Field" ), entry ); - entry = _( "Cost: $2.00/plot\n\n" - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ........." // NOLINT(cata-text-style) - "\n ..#....**" // NOLINT(cata-text-style) - "\n ..#Ov..**" // NOLINT(cata-text-style) - "\n ...O|....\n\n" // NOLINT(cata-text-style) - "You can either have us liquidate the crop and give you the cash or pay us to " - "harvest it for you." ); - mission_key.add( "Harvest East Field", _( "Harvest East Field" ), entry ); - } -} - -void talk_function::commune_forage( mission_data &mission_key, npc &p ) -{ - std::string entry = _( "Profit: $10/hour\nDanger: Low\nTime: 4 hour minimum\n\n" - "Foraging for food involves dispatching a companion to search the " - "surrounding wilderness for wild edibles. Combat will be avoided but " - "encounters with wild animals are to be expected. The low pay is " - "supplemented with the odd item as a reward for particularly large " - "hauls." ); - mission_key.add( "Assign Ally to Forage for Food", _( "Assign Ally to Forage for Food" ), - entry ); - std::vector npc_list = companion_list( p, "_forage" ); - if( !npc_list.empty() ) { - entry = _( "Profit: $10/hour\nDanger: Low\nTime: 4 hour minimum\n\nLabor Roster:\n" ); - for( auto &elem : npc_list ) { - entry = entry + " " + elem->name + " [" + std::to_string( to_hours( calendar::turn - - elem->companion_mission_time ) ) + _( " hours]\n" ); - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - mission_key.add( "Recover Ally from Foraging", _( "Recover Ally from Foraging" ), entry ); - } -} - -void talk_function::commune_refuge_caravan( mission_data &mission_key, npc &p ) -{ - std::string entry = _( "Profit: $18/hour\nDanger: High\nTime: UNKNOWN\n\n" - "Adding companions to the caravan team increases the likelihood of " - "success. By nature, caravans are extremely tempting targets for " - "raiders or hostile groups so only a strong party is recommended. The " - "rewards are significant for those participating but are even more " - "important for the factions that profit.\n\n" - "The commune is sending food to the Free Merchants in the Refugee " - "Center as part of a tax and in exchange for skilled labor." ); - mission_key.add( "Caravan Commune-Refugee Center", _( "Caravan Commune-Refugee Center" ), - entry ); - std::vector npc_list = companion_list( p, "_commune_refugee_caravan" ); - std::vector npc_list_aux; - if( !npc_list.empty() ) { - entry = _( "Profit: $18/hour\nDanger: High\nTime: UNKNOWN\n\n" - "\nRoster:\n" ); - for( auto &elem : npc_list ) { - if( elem->companion_mission_time == calendar::before_time_starts ) { - entry = entry + " " + elem->name + _( " [READY]\n" ); - npc_list_aux.push_back( elem ); - } else if( calendar::turn >= elem->companion_mission_time ) { - entry = entry + " " + elem->name + _( " [COMPLETE]\n" ); - } else { - entry = entry + " " + elem->name + " [" + std::to_string( std::abs( to_hours - ( calendar::turn - elem->companion_mission_time ) ) ) + _( " Hours]\n" ); - } - } - if( !npc_list_aux.empty() ) { - std::string entry_aux = _( "Profit: $18/hour\nDanger: High\nTime: UNKNOWN\n\n" - "\nRoster:\n" ); - for( auto &elem : npc_list_aux ) { - if( elem->companion_mission_time == calendar::before_time_starts ) { - entry_aux = entry_aux + " " + elem->name + _( " [READY]\n" ); - } - } - entry_aux = entry_aux + _( "\n\n" - "The caravan will contain two or three additional members " - "from the commune, are you ready to depart?" ); - mission_key.add( "Begin Commune-Refugee Center Run", - _( "Begin Commune-Refugee Center Run" ), entry ); - } - entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); - mission_key.add( "Recover Commune-Refugee Center", _( "Recover Commune-Refugee Center" ), - entry ); - } -} - -bool talk_function::display_and_choose_opts( - mission_data &mission_key, const tripoint_abs_omt &omt_pos, const std::string &role_id, - const std::string &title ) -{ - if( mission_key.entries.empty() ) { - popup( _( "There are no missions at this colony. Press Spacebar…" ) ); - return false; - } - - int TITLE_TAB_HEIGHT = 0; - if( role_id == "FACTION_CAMP" ) { - TITLE_TAB_HEIGHT = 1; - } - - base_camps::tab_mode tab_mode = base_camps::TAB_MAIN; - - size_t sel = 0; - int name_offset = 0; - - // The following are for managing the right pane scrollbar. - size_t info_offset = 0; - nc_color col = c_white; - std::vector name_text; - std::vector mission_text; - - input_context ctxt( "FACTIONS" ); - ctxt.register_action( "UP", to_translation( "Move cursor up" ) ); - ctxt.register_action( "DOWN", to_translation( "Move cursor down" ) ); - ctxt.register_action( "NEXT_TAB" ); - ctxt.register_action( "PREV_TAB" ); - ctxt.register_action( "PAGE_UP" ); - ctxt.register_action( "PAGE_DOWN" ); - ctxt.register_action( "CONFIRM" ); - ctxt.register_action( "QUIT" ); - ctxt.register_action( "HELP_KEYBINDINGS" ); - std::vector cur_key_list; - - auto reset_cur_key_list = [&]() { - cur_key_list = mission_key.entries[0]; - for( const auto &k : mission_key.entries[1] ) { - bool has = false; - for( const auto &keys : cur_key_list ) { - if( k.id == keys.id ) { - has = true; - break; - } - } - if( !has ) { - cur_key_list.push_back( k ); - } - } - }; - - reset_cur_key_list(); - - if( cur_key_list.empty() ) { - popup( _( "There are no missions at this colony. Press Spacebar…" ) ); - return false; - } - - size_t part_y = 0; - size_t part_x = 0; - size_t maxy = 0; - size_t maxx = 0; - size_t info_height = 0; - size_t info_width = 0; - - catacurses::window w_list; - catacurses::window w_tabs; - catacurses::window w_info; - - ui_adaptor ui; - ui.on_screen_resize( [&]( ui_adaptor & ui ) { - name_offset = 0; - info_offset = 0; - part_y = TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 4 : 0; - part_x = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 4 : 0; - maxy = part_y ? TERMY - 2 * part_y : FULL_SCREEN_HEIGHT; - maxx = part_x ? TERMX - 2 * part_x : FULL_SCREEN_WIDTH; - info_height = maxy - 3; - info_width = maxx - 1 - MAX_FAC_NAME_SIZE; - - w_list = catacurses::newwin( maxy, maxx, - point( part_x, part_y + TITLE_TAB_HEIGHT ) ); - w_info = catacurses::newwin( info_height, info_width, - point( part_x + MAX_FAC_NAME_SIZE, part_y + TITLE_TAB_HEIGHT + 1 ) ); - - if( role_id == "FACTION_CAMP" ) { - w_tabs = catacurses::newwin( TITLE_TAB_HEIGHT, maxx, point( part_x, part_y ) ); - ui.position( point( part_x, part_y ), point( maxx, maxy + TITLE_TAB_HEIGHT ) ); - } else { - ui.position( point( part_x, part_y + TITLE_TAB_HEIGHT ), point( maxx, maxy ) ); - } - } ); - ui.mark_resize(); - - ui.on_redraw( [&]( const ui_adaptor & ) { - werase( w_list ); - draw_border( w_list ); - // NOLINTNEXTLINE(cata-use-named-point-constants) - mvwprintz( w_list, point( 1, 1 ), c_white, name_mission_tabs( omt_pos, role_id, title, - tab_mode ) ); - - struct disp_entry { - std::vector lines; - nc_color col; - }; - - std::vector disp_names; - size_t folded_names_lines = 0; - for( size_t i = 0; i < cur_key_list.size(); i++ ) { - const mission_entry &e = cur_key_list[i]; - std::vector lines = foldstring( e.name_display, MAX_FAC_NAME_SIZE - 5, ' ' ); - nc_color col = i == sel ? h_white : c_white; - - //highlight important missions - for( const auto &k : mission_key.entries[0] ) { - if( e.id == k.id ) { - col = ( i == sel ? h_white : c_yellow ); - break; - } - } - //dull uncraftable items - for( const auto &k : mission_key.entries[10] ) { - if( e.id == k.id ) { - col = ( i == sel ? h_white : c_dark_gray ); - break; - } - } - - folded_names_lines += lines.size(); - disp_names.push_back( { lines, col } ); - } - - size_t sel_pos_min = 0; - for( size_t i = 0; i < sel; i++ ) { - sel_pos_min += disp_names[i].lines.size(); - } - size_t sel_pos_max = sel_pos_min + disp_names[sel].lines.size() - 1; - - // Make sure the selected entry is fully visible, - // and the cursor is positioned at 1st line of the entry. - calcStartPos( name_offset, sel_pos_max, info_height, folded_names_lines ); - calcStartPos( name_offset, sel_pos_min, info_height, folded_names_lines ); - - // Some entries may be shown only partially, - // but that's fine since it makes scrolling smoother. - int name_curr = 0; - int name_max = name_offset + static_cast( info_height ); - for( const disp_entry &e : disp_names ) { - for( size_t i = 0; i < e.lines.size() && name_curr < name_max; i++, name_curr++ ) { - if( name_curr < name_offset ) { - continue; - } - point p( i == 0 ? 1 : 5, name_curr - name_offset + 2 ); - nc_color col = e.col; - print_colored_text( w_list, p, col, col, e.lines[i] ); - } - } - - if( folded_names_lines > info_height ) { - scrollbar() - .offset_x( 0 ) - .offset_y( 1 ) - .content_size( folded_names_lines ) - .viewport_pos( name_offset ) - .viewport_size( info_height ) - .apply( w_list ); - } - wnoutrefresh( w_list ); - werase( w_info ); - - // Fold mission text, store it for scrolling - mission_text = foldstring( mission_key.cur_key.text, info_width - 2, ' ' ); - if( info_height >= mission_text.size() ) { - info_offset = 0; - } else if( info_offset + info_height > mission_text.size() ) { - info_offset = mission_text.size() - info_height; - } - if( mission_text.size() > info_height ) { - scrollbar() - .offset_x( info_width - 1 ) - .offset_y( 0 ) - .content_size( mission_text.size() ) - .viewport_pos( info_offset ) - .viewport_size( info_height ) - .apply( w_info ); - } - const size_t end_line = std::min( info_height, mission_text.size() - info_offset ); - - // Display the current subset of the mission text. - for( size_t start_line = 0; start_line < end_line; start_line++ ) { - print_colored_text( w_info, point( 0, start_line ), col, col, - mission_text[start_line + info_offset] ); - } - - wnoutrefresh( w_info ); - - if( role_id == "FACTION_CAMP" ) { - werase( w_tabs ); - draw_camp_tabs( w_tabs, tab_mode, mission_key.entries ); - wnoutrefresh( w_tabs ); - } - } ); - - while( true ) { - mission_key.cur_key = cur_key_list[sel]; - ui_manager::redraw(); - const std::string action = ctxt.handle_input(); - if( action == "DOWN" ) { - if( sel == cur_key_list.size() - 1 ) { - sel = 0; // Wrap around - } else { - sel++; - } - info_offset = 0; - } else if( action == "UP" ) { - if( sel == 0 ) { - sel = cur_key_list.size() - 1; // Wrap around - } else { - sel--; - } - info_offset = 0; - } else if( action == "PAGE_UP" ) { - if( info_offset > 0 ) { - info_offset--; - } - } else if( action == "PAGE_DOWN" ) { - info_offset++; - } else if( action == "NEXT_TAB" && role_id == "FACTION_CAMP" ) { - sel = 0; - name_offset = 0; - info_offset = 0; - - do { - if( tab_mode == base_camps::TAB_NW ) { - tab_mode = base_camps::TAB_MAIN; - reset_cur_key_list(); - } else { - tab_mode = static_cast( tab_mode + 1 ); - cur_key_list = mission_key.entries[tab_mode + 1]; - } - } while( cur_key_list.empty() ); - } else if( action == "PREV_TAB" && role_id == "FACTION_CAMP" ) { - sel = 0; - name_offset = 0; - info_offset = 0; - - do { - if( tab_mode == base_camps::TAB_MAIN ) { - tab_mode = base_camps::TAB_NW; - } else { - tab_mode = static_cast( tab_mode - 1 ); - } - - if( tab_mode == base_camps::TAB_MAIN ) { - reset_cur_key_list(); - } else { - cur_key_list = mission_key.entries[tab_mode + 1]; - } - } while( cur_key_list.empty() ); - } else if( action == "QUIT" ) { - mission_entry dud; - dud.id = "NONE"; - dud.name_display = "NONE"; - mission_key.cur_key = dud; - break; - } else if( action == "CONFIRM" ) { - if( mission_key.cur_key.possible ) { - break; - } else { - continue; - } - } - } - return true; -} - -bool talk_function::handle_outpost_mission( const mission_entry &cur_key, npc &p ) -{ - if( cur_key.id == "Caravan Commune-Refugee Center" ) { - individual_mission( p, _( "joins the caravan team…" ), "_commune_refugee_caravan", true ); - } - if( cur_key.id == "Begin Commune-Refugee Center Run" ) { - caravan_depart( p, "evac_center_18", "_commune_refugee_caravan" ); - } - if( cur_key.id == "Recover Commune-Refugee Center" ) { - caravan_return( p, "evac_center_18", "_commune_refugee_caravan" ); - } - if( cur_key.id == "Purchase East Field" ) { - field_build_1( p ); - } - if( cur_key.id == "Upgrade East Field I" ) { - field_build_2( p ); - } - if( cur_key.id == "Plant East Field" ) { - field_plant( p, "ranch_camp_63" ); - } - if( cur_key.id == "Harvest East Field" ) { - field_harvest( p, "ranch_camp_63" ); - } - if( cur_key.id == "Assign Scavenging Patrol" ) { - individual_mission( p, _( "departs on the scavenging patrol…" ), "_scavenging_patrol" ); - } - if( cur_key.id == "Retrieve Scavenging Patrol" ) { - scavenging_patrol_return( p ); - } - if( cur_key.id == "Assign Scavenging Raid" ) { - individual_mission( p, _( "departs on the scavenging raid…" ), "_scavenging_raid" ); - } - if( cur_key.id == "Retrieve Scavenging Raid" ) { - scavenging_raid_return( p ); - } - if( cur_key.id == "Assign Ally to Menial Labor" ) { - individual_mission( p, _( "departs to work as a laborer…" ), "_labor" ); - } - if( cur_key.id == "Recover Ally from Menial Labor" ) { - labor_return( p ); - } - - if( cur_key.id == "Assign Ally to Carpentry Work" ) { - individual_mission( p, _( "departs to work as a carpenter…" ), "_carpenter" ); - } - if( cur_key.id == "Recover Ally from Carpentry Work" ) { - carpenter_return( p ); - } - if( cur_key.id == "Assign Ally to Forage for Food" ) { - individual_mission( p, _( "departs to forage for food…" ), "_forage" ); - } - if( cur_key.id == "Recover Ally from Foraging" ) { - forage_return( p ); - } - - return true; -} - -npc_ptr talk_function::individual_mission( npc &p, const std::string &desc, - const std::string &miss_id, bool group, const std::vector &equipment, - const std::map &required_skills ) -{ - const tripoint_abs_omt omt_pos = p.global_omt_location(); - return individual_mission( omt_pos, p.companion_mission_role_id, desc, miss_id, group, - equipment, required_skills ); -} -npc_ptr talk_function::individual_mission( const tripoint_abs_omt &omt_pos, - const std::string &role_id, const std::string &desc, - const std::string &miss_id, bool group, const std::vector &equipment, - const std::map &required_skills ) -{ - npc_ptr comp = companion_choose( required_skills ); - if( comp == nullptr ) { - return comp; - } - // make sure, for now, that NPCs dismount their horse before going on a mission. - if( comp->has_effect( effect_riding ) ) { - comp->npc_dismount(); - } - //Ensure we have someone to give equipment to before we lose it - for( item * const &i : equipment ) { - comp->companion_mission_inv.add_item( i->detach() ); - } - if( comp->in_vehicle ) { - get_map().unboard_vehicle( comp->pos() ); - } - popup( "%s %s", comp->name, desc ); - comp->set_companion_mission( omt_pos, role_id, miss_id ); - if( group ) { - comp->companion_mission_time = calendar::before_time_starts; - } else { - comp->companion_mission_time = calendar::turn; - } - g->reload_npcs(); - g->validate_npc_followers(); - assert( !comp->is_active() ); - return comp; -} - -void talk_function::caravan_depart( npc &p, const std::string &dest, const std::string &id ) -{ - std::vector npc_list = companion_list( p, id ); - int distance = caravan_dist( dest ); - time_duration time = 20_minutes + distance * 10_minutes; - popup( _( "The caravan departs with an estimated total travel time of %d hours…" ), - to_hours( time ) ); - - for( auto &elem : npc_list ) { - if( elem->companion_mission_time == calendar::before_time_starts ) { - //Adds a 10% error in estimated travel time - elem->companion_mission_time = calendar::turn + time * rng_float( -1.1, 1.1 ); - } - } -} - -//Could be expanded to actually path to the site, just returns the distance -int talk_function::caravan_dist( const std::string &dest ) -{ - Character &player_character = get_player_character(); - const tripoint_abs_omt site = - overmap_buffer.find_closest( player_character.global_omt_location(), dest, 0, false ); - int distance = rl_dist( player_character.global_omt_location(), site ); - return distance; -} - -void talk_function::caravan_return( npc &p, const std::string &dest, const std::string &id ) -{ - npc_ptr comp = companion_choose_return( p, id, calendar::turn ); - if( comp == nullptr ) { - return; - } - if( comp->companion_mission_time == calendar::before_time_starts ) { - popup( _( "%s returns to your party." ), comp->name ); - companion_return( *comp ); - return; - } - //So we have chosen to return an individual or party who went on the mission - //Everyone who was on the mission will have the same companion_mission_time - //and will simulate the mission and return together - std::vector caravan_party; - std::vector bandit_party; - std::vector npc_list = companion_list( p, id ); - const int rand_caravan_size = rng( 1, 3 ); - caravan_party.reserve( npc_list.size() + rand_caravan_size ); - for( int i = 0; i < rand_caravan_size; i++ ) { - caravan_party.push_back( temp_npc( string_id( "commune_guard" ) ) ); - } - for( auto &elem : npc_list ) { - if( elem->companion_mission_time == comp->companion_mission_time ) { - caravan_party.push_back( elem ); - } - } - - int distance = caravan_dist( dest ); - int time = 200 + distance * 100; - int experience = rng( 10, time / 300 ); - - const int rand_bandit_size = rng( 1, 3 ); - bandit_party.reserve( rand_bandit_size * 2 ); - for( int i = 0; i < rand_bandit_size * 2; i++ ) { - bandit_party.push_back( temp_npc( string_id( "bandit" ) ) ); - bandit_party.push_back( temp_npc( string_id( "thug" ) ) ); - } - - if( one_in( 3 ) ) { - if( one_in( 2 ) ) { - popup( _( "A bandit party approaches the caravan in the open!" ) ); - force_on_force( caravan_party, "caravan", bandit_party, "band", 1 ); - } else if( one_in( 3 ) ) { - popup( _( "A bandit party attacks the caravan while it it's camped!" ) ); - force_on_force( caravan_party, "caravan", bandit_party, "band", 2 ); - } else { - popup( _( "The caravan walks into a bandit ambush!" ) ); - force_on_force( caravan_party, "caravan", bandit_party, "band", -1 ); - } - } - - int money = 0; - for( const auto &elem : caravan_party ) { - //Scrub temporary party members and the dead - if( elem->get_part_hp_cur( bodypart_id( "torso" ) ) == 0 && elem->has_companion_mission() ) { - overmap_buffer.remove_npc( comp->getID() ); - money += ( time / 600 ) * 9; - } else if( elem->has_companion_mission() ) { - money += ( time / 600 ) * 18; - companion_skill_trainer( *elem, "combat", experience * 10_minutes, 10 ); - companion_return( *elem ); - } - } - - if( money != 0 ) { - g->u.cash += ( 100 * money ); - popup( _( "The caravan party has returned. Your share of the profits are $%d!" ), money ); - } else { - popup( _( "The caravan was a disaster and your companions never made it home…" ) ); - } -} - -//A random NPC on one team attacks a random monster on the opposite -void talk_function::attack_random( const std::vector &attacker, - const std::vector< monster * > &group ) -{ - if( attacker.empty() || group.empty() ) { - return; - } - const auto att = random_entry( attacker ); - monster *def = random_entry( group ); - att->melee_attack( *def, false ); - if( def->get_hp() <= 0 ) { - popup( _( "%s is wasted by %s!" ), def->type->nname(), att->name ); - } -} - -//A random monster on one side attacks a random NPC on the other -void talk_function::attack_random( const std::vector< monster * > &group, - const std::vector &defender ) -{ - if( defender.empty() || group.empty() ) { - return; - } - monster *att = random_entry( group ); - const auto def = random_entry( defender ); - att->melee_attack( *def ); - //monster mon; - if( def->get_part_hp_cur( bodypart_id( "torso" ) ) <= 0 || def->is_dead() ) { - popup( _( "%s is wasted by %s!" ), def->name, att->type->nname() ); - } -} - -//A random NPC on one team attacks a random NPC on the opposite -void talk_function::attack_random( const std::vector &attacker, - const std::vector &defender ) -{ - if( attacker.empty() || defender.empty() ) { - return; - } - const auto att = random_entry( attacker ); - const auto def = random_entry( defender ); - const skill_id best = att->best_skill(); - int best_score = 1; - if( best ) { - best_score = att->get_skill_level( best ); - } - ///\EFFECT_DODGE_NPC increases avoidance of random attacks - if( rng( -1, best_score ) >= rng( 0, def->get_skill_level( skill_dodge ) ) ) { - def->set_part_hp_cur( bodypart_id( "torso" ), 0 ); - popup( _( "%s is wasted by %s!" ), def->name, att->name ); - } else { - popup( _( "%s dodges %s's attack!" ), def->name, att->name ); - } -} - -//Used to determine when to retreat, might want to add in a random factor so that engagements aren't -//drawn out wars of attrition -int talk_function::combat_score( const std::vector &group ) -{ - int score = 0; - for( const auto &elem : group ) { - if( elem->get_part_hp_cur( bodypart_id( "torso" ) ) != 0 ) { - const skill_id best = elem->best_skill(); - if( best ) { - score += elem->get_skill_level( best ); - } else { - score += 1; - } - } - } - return score; -} - -int talk_function::combat_score( const std::vector< monster * > &group ) -{ - int score = 0; - for( const auto &elem : group ) { - if( elem->get_hp() > 0 ) { - score += elem->type->difficulty; - } - } - return score; -} - -npc_ptr talk_function::temp_npc( const string_id &type ) -{ - npc_ptr temp = make_shared_fast(); - temp->load_npc_template( type ); - return temp; -} - -//The field is designed as more of a convenience than a profit opportunity. -void talk_function::field_build_1( npc &p ) -{ - Character &player_character = get_player_character(); - if( player_character.cash < 100000 ) { - popup( _( "I'm sorry, you don't have enough money." ) ); - return; - } - p.set_mutation( trait_NPC_CONSTRUCTION_LEV_1 ); - player_character.cash += -100000; - const tripoint_abs_omt site = - overmap_buffer.find_closest( player_character.global_omt_location(), "ranch_camp_63", 20, - false ); - tinymap bay; - bay.load( project_to( site ), false ); - bay.draw_square_ter( t_dirt, point( 5, 4 ), point( 15, 14 ) ); - bay.draw_square_ter( t_dirtmound, point( 6, 5 ), point( 6, 13 ) ); - bay.draw_square_ter( t_dirtmound, point( 8, 5 ), point( 8, 13 ) ); - bay.draw_square_ter( t_dirtmound, point( 10, 5 ), point( 10, 13 ) ); - bay.draw_square_ter( t_dirtmound, point( 12, 5 ), point( 12, 13 ) ); - bay.draw_square_ter( t_dirtmound, point( 14, 5 ), point( 14, 13 ) ); - bay.save(); - popup( _( "%s jots your name down on a ledger and yells out to nearby laborers to begin " - "plowing your new field." ), p.name ); -} - -//Really expensive, but that is so you can't tear down the fence and sell the wood for a profit! -void talk_function::field_build_2( npc &p ) -{ - Character &player_character = get_player_character(); - if( player_character.cash < 550000 ) { - popup( _( "I'm sorry, you don't have enough money." ) ); - return; - } - p.set_mutation( trait_NPC_CONSTRUCTION_LEV_2 ); - player_character.cash += -550000; - const tripoint_abs_omt site = - overmap_buffer.find_closest( player_character.global_omt_location(), "ranch_camp_63", 20, - false ); - tinymap bay; - bay.load( project_to( site ), false ); - bay.draw_square_ter( t_fence, point( 4, 3 ), point( 16, 3 ) ); - bay.draw_square_ter( t_fence, point( 4, 15 ), point( 16, 15 ) ); - bay.draw_square_ter( t_fence, point( 4, 3 ), point( 4, 15 ) ); - bay.draw_square_ter( t_fence, point( 16, 3 ), point( 16, 15 ) ); - bay.draw_square_ter( t_fencegate_c, point( 10, 3 ), point( 10, 3 ) ); - bay.draw_square_ter( t_fencegate_c, point( 10, 15 ), point( 10, 15 ) ); - bay.draw_square_ter( t_fencegate_c, point( 4, 9 ), point( 4, 9 ) ); - bay.save(); - popup( _( "After counting your money %s directs a nearby laborer to begin constructing a " - "fence around your plot…" ), p.name ); -} - -void talk_function::field_plant( npc &p, const std::string &place ) -{ - if( !warm_enough_to_plant( g->u.pos() ) ) { - popup( _( "It is too cold to plant anything now." ) ); - return; - } - std::vector seed_inv = g->u.items_with( []( const item & itm ) { - return itm.is_seed() && itm.typeId() != itype_marloss_seed && - itm.typeId() != itype_fungal_seeds; - } ); - if( seed_inv.empty() ) { - popup( _( "You have no seeds to plant!" ) ); - return; - } - - int empty_plots = 0; - int free_seeds = 0; - - std::vector seed_types; - std::vector seed_names; - for( auto &seed : seed_inv ) { - if( std::find( seed_types.begin(), seed_types.end(), seed->typeId() ) == seed_types.end() ) { - seed_types.push_back( seed->typeId() ); - seed_names.push_back( seed->tname() ); - } - } - // Choose seed if applicable - const int seed_index = uilist( _( "Which seeds do you wish to have planted?" ), seed_names ); - // Did we cancel? - if( seed_index < 0 || static_cast( seed_index ) >= seed_types.size() ) { - popup( _( "You saved your seeds for later." ) ); - return; - } - - const auto &seed_id = seed_types[seed_index]; - if( item::count_by_charges( seed_id ) ) { - free_seeds = g->u.charges_of( seed_id ); - } else { - free_seeds = g->u.amount_of( seed_id ); - } - - //Now we need to find how many free plots we have to plant in... - const tripoint_abs_omt site = overmap_buffer.find_closest( - g->u.global_omt_location(), place, 20, false ); - tinymap bay; - bay.load( project_to( site ), false ); - for( const tripoint &plot : bay.points_on_zlevel() ) { - if( bay.ter( plot ) == t_dirtmound ) { - empty_plots++; - } - } - - if( empty_plots == 0 ) { - popup( _( "You have no room to plant seeds…" ) ); - return; - } - - int limiting_number = free_seeds; - if( free_seeds > empty_plots ) { - limiting_number = empty_plots; - } - - signed int a = limiting_number * 300; - if( a > g->u.cash ) { - popup( _( "I'm sorry, you don't have enough money to plant those seeds…" ) ); - return; - } - if( !query_yn( _( "Do you wish to have %d %s planted here for $%d?" ), limiting_number, - seed_names[seed_index], limiting_number * 3 ) ) { - return; - } - - //Plant the actual seeds - for( const tripoint &plot : bay.points_on_zlevel() ) { - if( bay.ter( plot ) == t_dirtmound && limiting_number > 0 ) { - std::vector> used_seed; - if( item::count_by_charges( seed_id ) ) { - used_seed = g->u.use_charges( seed_id, 1 ); - } else { - used_seed = g->u.use_amount( seed_id, 1 ); - } - used_seed.front()->set_age( 0_turns ); - bay.add_item_or_charges( plot, std::move( used_seed.front() ) ); - bay.set( plot, t_dirt, f_plant_seed ); - limiting_number--; - } - } - bay.draw_square_ter( t_fence, point( 4, 3 ), point( 16, 3 ) ); - bay.save(); - popup( _( "After counting your money and collecting your seeds, %s calls forth a labor party " - "to plant your field." ), p.name ); -} - -void talk_function::field_harvest( npc &p, const std::string &place ) -{ - Character &player_character = get_player_character(); - //First we need a list of plants that can be harvested... - const tripoint_abs_omt site = overmap_buffer.find_closest( - player_character.global_omt_location(), place, 20, false ); - tinymap bay; - item *tmp; - std::vector seed_types; - std::vector plant_types; - std::vector plant_names; - bay.load( project_to( site ), false ); - for( const tripoint &plot : bay.points_on_zlevel() ) { - map_stack items = bay.i_at( plot ); - if( bay.furn( plot ) == furn_str_id( "f_plant_harvest" ) && !items.empty() ) { - // Can't use item_stack::only_item() since there might be fertilizer - map_stack::iterator seed = std::find_if( items.begin(), items.end(), []( const item * const & it ) { - return it->is_seed(); - } ); - - if( seed != items.end() ) { - const islot_seed &seed_data = *( *seed )->type->seed; - tmp = item::spawn_temporary( seed_data.fruit_id, calendar::turn ); - bool check = false; - for( const std::string &elem : plant_names ) { - if( elem == tmp->type_name( 3 ) ) { - check = true; - } - } - if( !check ) { - plant_types.push_back( tmp->typeId() ); - plant_names.push_back( tmp->type_name( 3 ) ); - seed_types.push_back( ( *seed )->typeId() ); - } - } - } - } - if( plant_names.empty() ) { - popup( _( "There aren't any plants that are ready to harvest…" ) ); - return; - } - // Choose the crop to harvest - const int plant_index = uilist( _( "Which plants do you want to have harvested?" ), - plant_names ); - // Did we cancel? - if( plant_index < 0 || static_cast( plant_index ) >= plant_types.size() ) { - popup( _( "You decided to hold off for now…" ) ); - return; - } - - int number_plots = 0; - int number_plants = 0; - int number_seeds = 0; - int skillLevel = 2; - if( p.has_trait( trait_NPC_CONSTRUCTION_LEV_2 ) ) { - skillLevel += 2; - } - - for( const tripoint &plot : bay.points_on_zlevel() ) { - if( bay.furn( plot ) == furn_str_id( "f_plant_harvest" ) ) { - // Can't use item_stack::only_item() since there might be fertilizer - map_stack items = bay.i_at( plot ); - map_stack::iterator seed = std::find_if( items.begin(), items.end(), []( const item * const & it ) { - return it->is_seed(); - } ); - - if( seed != items.end() ) { - const islot_seed &seed_data = *( *seed )->type->seed; - tmp = item::spawn_temporary( seed_data.fruit_id, calendar::turn ); - if( tmp->typeId() == plant_types[plant_index] ) { - seed = map_stack::iterator(); - number_plots++; - bay.i_clear( plot ); - bay.furn_set( plot, f_null ); - bay.ter_set( plot, t_dirtmound ); - int plantCount = rng( skillLevel / 2, skillLevel ); - if( plantCount >= 9 ) { - plantCount = 9; - } else if( plantCount <= 0 ) { - plantCount = 1; - } - number_plants += plantCount; - number_seeds += std::max( 1, rng( plantCount / 4, plantCount / 2 ) ); - } - } - } - } - bay.save(); - tmp = item::spawn_temporary( plant_types[plant_index], calendar::turn ); - int money = ( number_plants * tmp->price( true ) - number_plots * 2 ) / 100; - bool liquidate = false; - - signed int a = number_plots * 2; - if( a > g->u.cash ) { - liquidate = true; - popup( _( "You don't have enough to pay the workers to harvest the crop so you are forced " - "to sell…" ) ); - } else { - liquidate = query_yn( _( "Do you wish to sell the crop of %d %s for a profit of $%d?" ), - number_plants, plant_names[plant_index], money ); - } - - //Add fruit - if( liquidate ) { - add_msg( _( "The %s are sold for $%d…" ), plant_names[plant_index], money ); - g->u.cash += ( number_plants * tmp->price( true ) - number_plots * 2 ) / 100; - } else { - if( tmp->count_by_charges() ) { - tmp->charges = 1; - } - for( int i = 0; i < number_plants; ++i ) { - //Should be dropped at your feet once greedy companions can be controlled - g->u.i_add( item::spawn( *tmp ) ); - } - add_msg( _( "You receive %d %s…" ), number_plants, plant_names[plant_index] ); - } - tmp = item::spawn_temporary( seed_types[plant_index], calendar::turn ); - const islot_seed &seed_data = *tmp->type->seed; - if( seed_data.spawn_seeds ) { - if( tmp->count_by_charges() ) { - tmp->charges = 1; - } - for( int i = 0; i < number_seeds; ++i ) { - g->u.i_add( item::spawn( *tmp ) ); - } - add_msg( _( "You receive %d %s…" ), number_seeds, tmp->type_name( 3 ) ); - } - -} - -static int scavenging_combat_skill( npc &p, int bonus, bool guns ) -{ - // the following doxygen aliases do not yet exist. this is marked for future reference - ///\EFFECT_MELEE_NPC affects scavenging_patrol results - ///\EFFECT_SURVIVAL_NPC affects scavenging_patrol results - ///\EFFECT_BASHING_NPC affects scavenging_patrol results - ///\EFFECT_CUTTING_NPC affects scavenging_patrol results - ///\EFFECT_GUN_NPC affects scavenging_patrol results - ///\EFFECT_STABBING_NPC affects scavenging_patrol results - ///\EFFECT_UNARMED_NPC affects scavenging_patrol results - ///\EFFECT_DODGE_NPC affects scavenging_patrol results - return bonus + p.get_skill_level( skill_melee ) + .5 * p.get_skill_level( skill_survival ) + - p.get_skill_level( skill_bashing ) + p.get_skill_level( skill_cutting ) + - ( guns ? p.get_skill_level( skill_gun ) : 0 ) + p.get_skill_level( skill_stabbing ) + - p.get_skill_level( skill_unarmed ) + p.get_skill_level( skill_dodge ); -} - -bool talk_function::scavenging_patrol_return( npc &p ) -{ - npc_ptr comp = companion_choose_return( p, "_scavenging_patrol", - calendar::turn - 10_hours ); - if( comp == nullptr ) { - return false; - } - int experience = rng( 5, 20 ); - if( one_in( 4 ) ) { - popup( _( "While scavenging, %s's party suddenly found itself set upon by a large mob of " - "undead…" ), comp->name ); - int skill = scavenging_combat_skill( *comp, 4, true ); - if( one_in( 6 ) ) { - popup( _( "Through quick thinking the group was able to evade combat!" ) ); - } else { - popup( _( "Combat took place in close quarters, focusing on melee skills…" ) ); - int monsters = rng( 8, 30 ); - if( skill * rng_float( .60, 1.4 ) > .35 * monsters * rng_float( .6, 1.4 ) ) { - popup( _( "Through brute force the party smashed through the group of %d" - " undead!" ), monsters ); - experience += rng( 2, 10 ); - } else { - popup( _( "Unfortunately they were overpowered by the undead… I'm sorry." ) ); - overmap_buffer.remove_npc( comp->getID() ); - return false; - } - } - } - - int money = rng( 25, 450 ); - g->u.cash += money * 100; - - companion_skill_trainer( *comp, "combat", experience * 10_minutes, 10 ); - popup( _( "%s returns from patrol having earned $%d and a fair bit of experience…" ), - comp->name, money ); - if( one_in( 10 ) ) { - popup( _( "%s was impressed with %s's performance and gave you a small bonus ( $100 )" ), - p.name, comp->name ); - g->u.cash += 10000; - } - if( one_in( 10 ) && !p.has_trait( trait_NPC_MISSION_LEV_1 ) ) { - p.set_mutation( trait_NPC_MISSION_LEV_1 ); - popup( _( "%s feels more confident in your abilities and is willing to let you " - "participate in daring raids." ), p.name ); - } - companion_return( *comp ); - return true; -} - -bool talk_function::scavenging_raid_return( npc &p ) -{ - npc_ptr comp = companion_choose_return( p, "_scavenging_raid", - calendar::turn - 10_hours ); - if( comp == nullptr ) { - return false; - } - int experience = rng( 10, 20 ); - if( one_in( 2 ) ) { - popup( _( "While scavenging, %s's party suddenly found itself set upon by a large mob of " - "undead…" ), comp->name ); - int skill = scavenging_combat_skill( *comp, 4, true ); - if( one_in( 6 ) ) { - popup( _( "Through quick thinking the group was able to evade combat!" ) ); - } else { - popup( _( "Combat took place in close quarters, focusing on melee skills…" ) ); - int monsters = rng( 8, 30 ); - if( skill * rng_float( .60, 1.4 ) > ( .35 * monsters * rng_float( .6, 1.4 ) ) ) { - popup( _( "Through brute force the party smashed through the group of %d " - "undead!" ), monsters ); - experience += rng( 2, 10 ); - } else { - popup( _( "Unfortunately they were overpowered by the undead… I'm sorry." ) ); - overmap_buffer.remove_npc( comp->getID() ); - return false; - } - } - } - //The loot value needs to be added to the faction - what the player is payed - tripoint_abs_omt loot_location = g->u.global_omt_location(); - // Only check at the ground floor. - loot_location.z() = 0; - for( int i = 0; i < rng( 2, 3 ); i++ ) { - const tripoint_abs_omt site = overmap_buffer.find_closest( - loot_location, "house", 0, false, ot_match_type::prefix ); - overmap_buffer.reveal( site, 2 ); - loot_building( site ); - } - - int money = rng( 200, 900 ); - g->u.cash += money * 100; - - companion_skill_trainer( *comp, "combat", experience * 10_minutes, 10 ); - popup( _( "%s returns from the raid having earned $%d and a fair bit of experience…" ), - comp->name, money ); - if( one_in( 20 ) ) { - popup( _( "%s was impressed with %s's performance and gave you a small bonus ( $100 )" ), - p.name, comp->name ); - g->u.cash += 10000; - } - if( one_in( 2 ) ) { - item_group_id itemlist = item_group_id( "npc_misc" ); - if( one_in( 8 ) ) { - itemlist = item_group_id( "npc_weapon_random" ); - } - detached_ptr result = item_group::item_from( itemlist ); - if( result && !result->is_null() ) { - popup( _( "%s returned with a %s for you!" ), comp->name, result->tname() ); - g->u.i_add( std::move( result ) ); - } - } - companion_return( *comp ); - return true; -} - -bool talk_function::labor_return( npc &p ) -{ - npc_ptr comp = companion_choose_return( p, "_labor", calendar::turn - 1_hours ); - if( comp == nullptr ) { - return false; - } - - float hours = to_hours( calendar::turn - comp->companion_mission_time ); - int money = 8 * hours; - g->u.cash += money * 100; - - companion_skill_trainer( *comp, "menial", calendar::turn - comp->companion_mission_time, 1 ); - - popup( _( "%s returns from working as a laborer having earned $%d and a bit of experience…" ), - comp->name, money ); - companion_return( *comp ); - if( hours >= 8 && one_in( 8 ) && !p.has_trait( trait_NPC_MISSION_LEV_1 ) ) { - p.set_mutation( trait_NPC_MISSION_LEV_1 ); - popup( _( "%s feels more confident in your companions and is willing to let them " - "participate in advanced tasks." ), p.name ); - } - - return true; -} - -bool talk_function::carpenter_return( npc &p ) -{ - npc_ptr comp = companion_choose_return( p, "_carpenter", - calendar::turn - 1_hours ); - if( comp == nullptr ) { - return false; - } - - if( one_in( 20 ) ) { - // the following doxygen aliases do not yet exist. this is marked for future reference - - ///\EFFECT_FABRICATION_NPC affects carpenter mission results - - ///\EFFECT_DODGE_NPC affects carpenter mission results - - ///\EFFECT_SURVIVAL_NPC affects carpenter mission results - int skill_1 = comp->get_skill_level( skill_fabrication ); - int skill_2 = comp->get_skill_level( skill_dodge ); - int skill_3 = comp->get_skill_level( skill_survival ); - popup( _( "While %s was framing a building one of the walls began to collapse…" ), - comp->name ); - if( skill_1 > rng( 1, 8 ) ) { - popup( _( "In the blink of an eye, %s threw a brace up and averted a disaster." ), - comp->name ); - } else if( skill_2 > rng( 1, 8 ) ) { - popup( _( "Darting out a window, %s escaped the collapse." ), comp->name ); - } else if( skill_3 > rng( 1, 8 ) ) { - popup( _( "%s didn't make it out in time…" ), comp->name ); - popup( _( "but %s was rescued from the debris with only minor injuries!" ), - comp->name ); - } else { - popup( _( "%s didn't make it out in time…" ), comp->name ); - popup( _( "Everyone who was trapped under the collapsing roof died…" ) ); - popup( _( "I'm sorry, there is nothing we could do." ) ); - overmap_buffer.remove_npc( comp->getID() ); - return false; - } - } - - float hours = to_hours( calendar::turn - comp->companion_mission_time ); - int money = 12 * hours; - g->u.cash += money * 100; - - companion_skill_trainer( *comp, "construction", calendar::turn - - comp->companion_mission_time, 2 ); - - popup( _( "%s returns from working as a carpenter having earned $%d and a bit of " - "experience…" ), comp->name, money ); - companion_return( *comp ); - return true; -} - -bool talk_function::forage_return( npc &p ) -{ - npc_ptr comp = companion_choose_return( p, "_forage", calendar::turn - 4_hours ); - if( comp == nullptr ) { - return false; - } - - if( one_in( 10 ) ) { - popup( _( "While foraging, a beast began to stalk %s…" ), comp->name ); - // the following doxygen aliases do not yet exist. this is marked for future reference - - ///\EFFECT_SURVIVAL_NPC affects forage mission results - - ///\EFFECT_DODGE_NPC affects forage mission results - int skill_1 = comp->get_skill_level( skill_survival ); - int skill_2 = comp->get_skill_level( skill_dodge ); - if( skill_1 > rng( -2, 8 ) ) { - popup( _( "Alerted by a rustle, %s fled to the safety of the outpost!" ), comp->name ); - } else if( skill_2 > rng( -2, 8 ) ) { - popup( _( "As soon as the cougar sprang %s darted to the safety of the outpost!" ), - comp->name ); - } else { - popup( _( "%s was caught unaware and was forced to fight the creature at close " - "range!" ), comp->name ); - int skill = scavenging_combat_skill( *comp, 0, false ); - int monsters = rng( 0, 10 ); - if( skill * rng_float( .80, 1.2 ) > monsters * rng_float( .8, 1.2 ) ) { - if( one_in( 2 ) ) { - popup( _( "%s was able to scare off the bear after delivering a nasty " - "blow!" ), comp->name ); - } else { - popup( _( "%s beat the cougar into a bloody pulp!" ), comp->name ); - } - } else { - if( one_in( 2 ) ) { - popup( _( "%s was able to hold off the first wolf but the others that were " - "skulking in the tree line caught up…" ), comp->name ); - popup( _( "I'm sorry, there wasn't anything we could do…" ) ); - } else { - popup( _( "We… we don't know what exactly happened but we found %s's gear " - "ripped and bloody…" ), comp->name ); - popup( _( "I fear your companion won't be returning." ) ); - } - overmap_buffer.remove_npc( comp->getID() ); - return false; - } - } - } - - float hours = to_hours( calendar::turn - comp->companion_mission_time ); - int money = 10 * hours; - g->u.cash += money * 100; - - companion_skill_trainer( *comp, "gathering", calendar::turn - - comp->companion_mission_time, 2 ); - - popup( _( "%s returns from working as a forager having earned $%d and a bit of " - "experience…" ), comp->name, money ); - // the following doxygen aliases do not yet exist. this is marked for future reference - - ///\EFFECT_SURVIVAL_NPC affects forage mission results - int skill = comp->get_skill_level( skill_survival ); - if( skill > rng_float( -.5, 8 ) ) { - std::string itemlist = "farming_seeds"; - if( one_in( 2 ) ) { - switch( season_of_year( calendar::turn ) ) { - case SPRING: - itemlist = "forage_spring"; - break; - case SUMMER: - itemlist = "forage_summer"; - break; - case AUTUMN: - itemlist = "forage_autumn"; - break; - case WINTER: - itemlist = "forage_winter"; - break; - default: - debugmsg( "Invalid season" ); - } - } - detached_ptr result = item_group::item_from( item_group_id( itemlist ) ); - if( result && !result->is_null() ) { - popup( _( "%s returned with a %s for you!" ), comp->name, result->tname() ); - g->u.i_add( std::move( result ) ); - } - if( one_in( 6 ) && !p.has_trait( trait_NPC_MISSION_LEV_1 ) ) { - p.set_mutation( trait_NPC_MISSION_LEV_1 ); - popup( _( "%s feels more confident in your companions and is willing to let them " - "participate in advanced tasks." ), p.name ); - } - } - companion_return( *comp ); - return true; -} - -bool talk_function::companion_om_combat_check( const std::vector &group, - const tripoint_abs_omt &om_tgt, bool try_engage ) -{ - if( overmap_buffer.is_safe( om_tgt ) ) { - //Should work but is_safe is always returning true regardless of what is there. - //return true; - } - - tripoint_abs_sm sm_tgt = project_to( om_tgt ); - - tinymap target_bay; - target_bay.load( sm_tgt, false ); - std::vector< monster * > monsters_around; - for( int x = 0; x < 2; x++ ) { - for( int y = 0; y < 2; y++ ) { - tripoint_abs_sm sm = sm_tgt + point( x, y ); - point_abs_om omp; - tripoint_om_sm local_sm; - std::tie( omp, local_sm ) = project_remain( sm ); - overmap &omi = overmap_buffer.get( omp ); - - auto monster_bucket = omi.monster_map->equal_range( local_sm ); - std::for_each( monster_bucket.first, - monster_bucket.second, [&]( std::pair &monster_entry ) { - monster &this_monster = monster_entry.second; - monsters_around.push_back( &this_monster ); - } ); - } - } - float avg_survival = 0; - for( auto &guy : group ) { - avg_survival += guy->get_skill_level( skill_survival ); - } - avg_survival = avg_survival / group.size(); - - monster mon; - - std::vector< monster * > monsters_fighting; - for( auto mons : monsters_around ) { - if( mons->get_hp() <= 0 ) { - continue; - } - int d_modifier = avg_survival - mons->type->difficulty; - int roll = rng( 1, 20 ) + d_modifier; - if( roll > 10 ) { - if( try_engage ) { - mons->death_drops = false; - monsters_fighting.push_back( mons ); - } - } else { - mons->death_drops = false; - monsters_fighting.push_back( mons ); - } - } - - if( !monsters_fighting.empty() ) { - bool outcome = force_on_force( group, "Patrol", monsters_fighting, "attacking monsters", - rng( -1, 2 ) ); - for( auto mons : monsters_fighting ) { - mons->death_drops = true; - } - return outcome; - } - return true; -} - -bool talk_function::force_on_force( const std::vector &defender, - const std::string &def_desc, - const std::vector< monster * > &monsters_fighting, - const std::string &att_desc, int advantage ) -{ - std::string adv; - if( advantage < 0 ) { - adv = ", attacker advantage"; - } else if( advantage > 0 ) { - adv = ", defender advantage"; - } - faction *yours = g->u.get_faction(); - //Find out why your followers don't have your faction... - popup( _( "Engagement between %d members of %s %s and %d %s%s!" ), defender.size(), - yours->name, def_desc, monsters_fighting.size(), att_desc, adv ); - int defense = 0; - int attack = 0; - int att_init = 0; - int def_init = 0; - while( true ) { - std::vector< monster * > remaining_mon; - for( const auto &elem : monsters_fighting ) { - if( elem->get_hp() > 0 ) { - remaining_mon.push_back( elem ); - } - } - std::vector remaining_def; - for( const auto &elem : defender ) { - if( !elem->is_dead() && elem->get_part_hp_cur( bodypart_id( "torso" ) ) >= 0 && - elem->get_part_hp_cur( bodypart_id( "head" ) ) >= 0 ) { - remaining_def.push_back( elem ); - } - } - - defense = combat_score( remaining_def ); - attack = combat_score( remaining_mon ); - if( attack > defense * 3 ) { - attack_random( remaining_mon, remaining_def ); - if( defense == 0 || ( remaining_def.size() == 1 && remaining_def[0]->is_dead() ) ) { - //Here too... - popup( _( "%s forces are destroyed!" ), yours->name ); - } else { - //Again, no faction for your followers - popup( _( "%s forces retreat from combat!" ), yours->name ); - } - return false; - } else if( attack * 3 < defense ) { - attack_random( remaining_def, remaining_mon ); - if( attack == 0 || ( remaining_mon.size() == 1 && remaining_mon[0]->get_hp() == 0 ) ) { - popup( _( "The monsters are destroyed!" ) ); - } else { - popup( _( "The monsters disengage!" ) ); - } - return true; - } else { - def_init = rng( 1, 6 ) + advantage; - att_init = rng( 1, 6 ); - if( def_init >= att_init ) { - attack_random( remaining_mon, remaining_def ); - } - if( def_init <= att_init ) { - attack_random( remaining_def, remaining_mon ); - } - } - } -} - -void talk_function::force_on_force( const std::vector &defender, - const std::string &def_desc, - const std::vector &attacker, - const std::string &att_desc, int advantage ) -{ - std::string adv; - if( advantage < 0 ) { - adv = ", attacker advantage"; - } else if( advantage > 0 ) { - adv = ", defender advantage"; - } - popup( _( "Engagement between %d members of %s %s and %d members of %s %s%s!" ), - defender.size(), defender[0]->get_faction()->name, def_desc, attacker.size(), - attacker[0]->get_faction()->name, att_desc, adv ); - int defense = 0; - int attack = 0; - int att_init = 0; - int def_init = 0; - while( true ) { - std::vector remaining_att; - for( const auto &elem : attacker ) { - if( elem->get_part_hp_cur( bodypart_id( "torso" ) ) != 0 ) { - remaining_att.push_back( elem ); - } - } - std::vector remaining_def; - for( const auto &elem : defender ) { - if( elem->get_part_hp_cur( bodypart_id( "torso" ) ) != 0 ) { - remaining_def.push_back( elem ); - } - } - - defense = combat_score( remaining_def ); - attack = combat_score( remaining_att ); - if( attack > defense * 3 ) { - attack_random( remaining_att, remaining_def ); - if( defense == 0 || ( remaining_def.size() == 1 && - remaining_def[0]->get_part_hp_cur( bodypart_id( "torso" ) ) == 0 ) ) { - popup( _( "%s forces are destroyed!" ), defender[0]->get_faction()->name ); - } else { - popup( _( "%s forces retreat from combat!" ), defender[0]->get_faction()->name ); - } - return; - } else if( attack * 3 < defense ) { - attack_random( remaining_def, remaining_att ); - if( attack == 0 || ( remaining_att.size() == 1 && - remaining_att[0]->get_part_hp_cur( bodypart_id( "torso" ) ) == 0 ) ) { - popup( _( "%s forces are destroyed!" ), attacker[0]->get_faction()->name ); - } else { - popup( _( "%s forces retreat from combat!" ), attacker[0]->get_faction()->name ); - } - return; - } else { - def_init = rng( 1, 6 ) + advantage; - att_init = rng( 1, 6 ); - if( def_init >= att_init ) { - attack_random( remaining_att, remaining_def ); - } - if( def_init <= att_init ) { - attack_random( remaining_def, remaining_att ); - } - } - } -} - -// skill training support functions -void talk_function::companion_skill_trainer( npc &comp, const std::string &skill_tested, - time_duration time_worked, int difficulty ) -{ - difficulty = std::max( 1, difficulty ); - int checks = 1 + to_minutes( time_worked ) / 10; - - weighted_int_list skill_practice; - if( skill_tested == "combat" ) { - const skill_id best_skill = comp.best_skill(); - if( best_skill ) { - skill_practice.add( best_skill, 30 ); - } - } - for( Skill &sk : Skill::skills ) { - skill_practice.add( sk.ident(), sk.get_companion_skill_practice( skill_tested ) ); - } - if( skill_practice.empty() ) { - comp.practice( skill_id( skill_tested ), difficulty * to_minutes( time_worked ) / 10 ); - } else { - for( int i = 0; i < checks; i++ ) { - skill_id *ident = skill_practice.pick(); - if( ident ) { - comp.practice( *ident, difficulty ); - } - } - } -} - -void talk_function::companion_skill_trainer( npc &comp, const skill_id &skill_tested, - time_duration time_worked, int difficulty ) -{ - difficulty = std::max( 1, difficulty ); - comp.practice( skill_tested, difficulty * to_minutes( time_worked ) / 10 ); -} - -void talk_function::companion_return( npc &comp ) -{ - assert( !comp.is_active() ); - comp.reset_companion_mission(); - comp.companion_mission_time = calendar::before_time_starts; - comp.companion_mission_time_ret = calendar::before_time_starts; - map &here = get_map(); - for( detached_ptr &it : comp.companion_mission_inv.dump_remove() ) { - here.add_item_or_charges( get_player_character().pos(), std::move( it ) ); - } - comp.companion_mission_points.clear(); - // npc *may* be active, or not if outside the reality bubble - g->reload_npcs(); -} - -std::vector talk_function::companion_list( const npc &p, const std::string &mission_id, - bool contains ) -{ - std::vector available; - const tripoint_abs_omt omt_pos = p.global_omt_location(); - for( const auto &elem : overmap_buffer.get_companion_mission_npcs() ) { - npc_companion_mission c_mission = elem->get_companion_mission(); - if( c_mission.position == omt_pos && c_mission.mission_id == mission_id && - c_mission.role_id == p.companion_mission_role_id ) { - available.push_back( elem ); - } else if( contains && c_mission.mission_id.find( mission_id ) != std::string::npos ) { - available.push_back( elem ); - } - } - return available; -} - -static int companion_combat_rank( const npc &p ) -{ - int combat = 2 * p.get_dex() + 3 * p.get_str() + 2 * p.get_per() + p.get_int(); - for( const Skill &sk : Skill::skills ) { - combat += p.get_skill_level( sk.ident() ) * sk.companion_combat_rank_factor(); - } - return combat * std::min( p.get_dex(), 32 ) * std::min( p.get_str(), 32 ) / 64; -} - -static int companion_survival_rank( const npc &p ) -{ - int survival = 2 * p.get_dex() + p.get_str() + 2 * p.get_per() + 1.5 * p.get_int(); - for( const Skill &sk : Skill::skills ) { - survival += p.get_skill_level( sk.ident() ) * sk.companion_survival_rank_factor(); - } - return survival * std::min( p.get_dex(), 32 ) * std::min( p.get_per(), 32 ) / 64; -} - -static int companion_industry_rank( const npc &p ) -{ - int industry = p.get_dex() + p.get_str() + p.get_per() + 3 * p.get_int(); - for( const Skill &sk : Skill::skills ) { - industry += p.get_skill_level( sk.ident() ) * sk.companion_industry_rank_factor(); - } - return industry * std::min( p.get_int(), 32 ) / 8; -} - -static bool companion_sort_compare( const npc_ptr &first, const npc_ptr &second ) -{ - return companion_combat_rank( *first ) > companion_combat_rank( *second ); -} - -comp_list talk_function::companion_sort( comp_list available, - const std::map &required_skills ) -{ - if( required_skills.empty() ) { - std::sort( available.begin(), available.end(), companion_sort_compare ); - return available; - } - skill_id hardest_skill; - int hardest_diff = -1; - for( const std::pair &req_skill : required_skills ) { - if( req_skill.second > hardest_diff ) { - hardest_diff = req_skill.second; - hardest_skill = req_skill.first; - } - } - - struct companion_sort_skill { - companion_sort_skill( const skill_id &skill_tested ) { - req_skill = skill_tested; - } - - bool operator()( const npc_ptr &first, const npc_ptr &second ) { - return first->get_skill_level( req_skill ) > second->get_skill_level( req_skill ); - } - - skill_id req_skill; - }; - std::sort( available.begin(), available.end(), companion_sort_skill( hardest_skill ) ); - - return available; -} - -std::vector talk_function::companion_rank( const std::vector &available, - bool adj ) -{ - std::vector raw; - int max_combat = 0; - int max_survival = 0; - int max_industry = 0; - for( const auto &e : available ) { - comp_rank r; - r.combat = companion_combat_rank( *e ); - r.survival = companion_survival_rank( *e ); - r.industry = companion_industry_rank( *e ); - raw.push_back( r ); - if( r.combat > max_combat ) { - max_combat = r.combat; - } - if( r.survival > max_survival ) { - max_survival = r.survival; - } - if( r.industry > max_industry ) { - max_industry = r.industry; - } - } - - if( !adj ) { - return raw; - } - - std::vector adjusted; - for( const auto &entry : raw ) { - comp_rank r; - r.combat = max_combat ? 100 * entry.combat / max_combat : 0; - r.survival = max_survival ? 100 * entry.survival / max_survival : 0; - r.industry = max_industry ? 100 * entry.industry / max_industry : 0; - adjusted.push_back( r ); - } - return adjusted; -} - -npc_ptr talk_function::companion_choose( const std::map &required_skills ) -{ - std::vector available; - std::optional bcp = overmap_buffer.find_camp( g->u.global_omt_location().xy() ); - - for( auto &elem : g->get_follower_list() ) { - npc_ptr guy = overmap_buffer.find_npc( elem ); - if( !guy ) { - continue; - } - if( guy->has_companion_mission() ) { - // Already assigned on a task - continue; - } - // Try nearby visible followers - if( g->u.posz() == guy->posz() && !guy->is_travelling() && - ( rl_dist( g->u.pos(), guy->pos() ) <= SEEX * 2 ) && g->u.sees( guy->pos() ) ) { - available.push_back( guy ); - } else if( bcp ) { - // Try NPCs assigned to this camp - basecamp *player_camp = *bcp; - std::vector camp_npcs = player_camp->get_npcs_assigned(); - if( std::any_of( camp_npcs.begin(), camp_npcs.end(), - [guy]( const npc_ptr & i ) { - return i == guy; - } ) ) { - available.push_back( guy ); - } - } else { - const tripoint_abs_omt guy_omt_pos = guy->global_omt_location(); - std::optional guy_camp = overmap_buffer.find_camp( guy_omt_pos.xy() ); - if( guy_camp ) { - // get NPCs assigned to guard a remote base - basecamp *temp_camp = *guy_camp; - std::vector assigned_npcs = temp_camp->get_npcs_assigned(); - if( std::any_of( assigned_npcs.begin(), assigned_npcs.end(), - [guy]( const npc_ptr & i ) { - return i == guy; - } ) ) { - available.push_back( guy ); - } - } - } - } - if( available.empty() ) { - popup( _( "You don't have any companions to send out…" ) ); - return nullptr; - } - std::vector npc_menu; - available = companion_sort( available, required_skills ); - std::vector rankings = companion_rank( available ); - - int x = 0; - std::string menu_header = left_justify( _( "Who do you want to send?" ), 51 ); - if( required_skills.empty() ) { - menu_header += _( "[ COMBAT : SURVIVAL : INDUSTRY ]" ); - } - for( const npc_ptr &e : available ) { - std::string npc_desc; - bool can_do = true; - if( e->mission == NPC_MISSION_GUARD_ALLY ) { - //~ %1$s: npc name - npc_desc = string_format( pgettext( "companion", "%1$s (Guarding)" ), e->name ); - } else { - npc_desc = e->name; - } - if( required_skills.empty() ) { - npc_desc = string_format( pgettext( "companion ranking", "%s [ %4d : %4d : %4d ]" ), - left_justify( npc_desc, 51 ), rankings[x].combat, - rankings[x].survival, rankings[x].industry ); - } else { - npc_desc = left_justify( npc_desc, 51 ); - bool first = true; - for( const std::pair &skill_tested : required_skills ) { - if( first ) { - first = false; - } else { - npc_desc += ", "; - } - skill_id skill_tested_id = skill_tested.first; - int skill_level = skill_tested.second; - if( skill_level == 0 ) { - //~ %1$s: skill name, %2$d: companion skill level - npc_desc += string_format( pgettext( "companion skill", "%1$s %2$d" ), - skill_tested_id.obj().name(), - e->get_skill_level( skill_tested_id ) ); - } else { - //~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement - npc_desc += string_format( pgettext( "companion skill", "%1$s %2$d/%3$d" ), - skill_tested_id.obj().name(), - e->get_skill_level( skill_tested_id ), - skill_level ); - can_do &= e->get_skill_level( skill_tested_id ) >= skill_level; - } - } - } - uilist_entry npc_entry = uilist_entry( x, can_do, x, npc_desc ); - npc_menu.push_back( npc_entry ); - x++; - } - const size_t npc_choice = uilist( menu_header, npc_menu ); - if( npc_choice >= available.size() ) { - popup( _( "You choose to send no one…" ), npc_choice ); - return nullptr; - } - - return available[npc_choice]; -} - -npc_ptr talk_function::companion_choose_return( const npc &p, const std::string &mission_id, - const time_point &deadline ) -{ - const tripoint_abs_omt omt_pos = p.global_omt_location(); - const std::string &role_id = p.companion_mission_role_id; - return companion_choose_return( omt_pos, role_id, mission_id, deadline ); -} -npc_ptr talk_function::companion_choose_return( const tripoint_abs_omt &omt_pos, - const std::string &role_id, - const std::string &mission_id, - const time_point &deadline, - const bool by_mission ) -{ - std::vector available; - for( npc_ptr &guy : overmap_buffer.get_companion_mission_npcs() ) { - npc_companion_mission c_mission = guy->get_companion_mission(); - if( c_mission.position != omt_pos || - ( by_mission && c_mission.mission_id != mission_id ) || c_mission.role_id != role_id ) { - continue; - } - if( g->u.has_trait( trait_DEBUG_HS ) ) { - available.push_back( guy ); - } else if( deadline == calendar::before_time_starts ) { - if( guy->companion_mission_time_ret <= calendar::turn ) { - available.push_back( guy ); - } - } else if( guy->companion_mission_time <= deadline ) { - available.push_back( guy ); - } - } - - if( available.empty() ) { - popup( _( "You don't have any companions ready to return…" ) ); - return nullptr; - } - - if( available.size() == 1 ) { - return available[0]; - } - - std::vector npcs; - npcs.reserve( available.size() ); - for( auto &elem : available ) { - npcs.push_back( ( elem )->name ); - } - const size_t npc_choice = uilist( _( "Who should return?" ), npcs ); - if( npc_choice < available.size() ) { - return available[npc_choice]; - } - popup( _( "No one returns to your party…" ) ); - return nullptr; -} - -//Smash stuff, steal valuables, and change map maker -void talk_function::loot_building( const tripoint_abs_omt &site ) -{ - tinymap bay; - bay.load( project_to( site ), false ); - for( const tripoint &p : bay.points_on_zlevel() ) { - const ter_id t = bay.ter( p ); - //Open all the doors, doesn't need to be exhaustive - if( t == t_door_c || t == t_door_c_peep || t == t_door_b - || t == t_door_boarded || t == t_door_boarded_damaged - || t == t_rdoor_boarded || t == t_rdoor_boarded_damaged - || t == t_door_boarded_peep || t == t_door_boarded_damaged_peep ) { - bay.ter_set( p, t_door_o ); - } else if( t == t_door_locked || t == t_door_locked_peep || t == t_door_locked_alarm ) { - const map_bash_info &bash = bay.ter( p ).obj().bash; - bay.ter_set( p, bash.ter_set ); - bay.spawn_items( p, item_group::items_from( bash.drop_group, calendar::turn ) ); - } else if( t == t_door_metal_c || t == t_door_metal_locked || t == t_door_metal_pickable ) { - bay.ter_set( p, t_door_metal_o ); - } else if( t == t_door_glass_c ) { - bay.ter_set( p, t_door_glass_o ); - } else if( t == t_wall && one_in( 25 ) ) { - const map_bash_info &bash = bay.ter( p ).obj().bash; - bay.ter_set( p, bash.ter_set ); - bay.spawn_items( p, item_group::items_from( bash.drop_group, calendar::turn ) ); - bay.collapse_at( p, false ); - } - //Smash easily breakable stuff - else if( ( t == t_window || t == t_window_taped || t == t_window_domestic || - t == t_window_boarded_noglass || t == t_window_domestic_taped || - t == t_window_alarm_taped || t == t_window_boarded || - t == t_curtains || t == t_window_alarm || - t == t_window_no_curtains || t == t_window_no_curtains_taped ) - && one_in( 4 ) ) { - const map_bash_info &bash = bay.ter( p ).obj().bash; - bay.ter_set( p, bash.ter_set ); - bay.spawn_items( p, item_group::items_from( bash.drop_group, calendar::turn ) ); - } else if( ( t == t_wall_glass || t == t_wall_glass_alarm ) && one_in( 3 ) ) { - const map_bash_info &bash = bay.ter( p ).obj().bash; - bay.ter_set( p, bash.ter_set ); - bay.spawn_items( p, item_group::items_from( bash.drop_group, calendar::turn ) ); - } else if( bay.has_furn( p ) && bay.furn( p ).obj().bash.str_max != -1 && one_in( 10 ) ) { - const map_bash_info &bash = bay.furn( p ).obj().bash; - bay.furn_set( p, bash.furn_set ); - bay.delete_signage( p ); - bay.spawn_items( p, item_group::items_from( bash.drop_group, calendar::turn ) ); - } - //Kill zombies! Only works against pre-spawned enemies at the moment... - Creature *critter = g->critter_at( p ); - if( critter != nullptr ) { - critter->die( nullptr ); - } - //Hoover up tasty items! - map_stack items = bay.i_at( p ); - for( map_stack::iterator iter = items.begin(); iter != items.end(); ) { - item *it = *iter; - if( ( ( it->is_food() || it->is_food_container() ) && !one_in( 8 ) ) || - ( it->made_of( LIQUID ) && !one_in( 8 ) ) || - ( it->price( true ) > 1000 && !one_in( 4 ) ) || one_in( 5 ) ) { - iter = items.erase( iter ); - } else { - ++iter; - } - } - } - bay.save(); - overmap_buffer.ter_set( site, oter_id( "looted_building" ) ); -} - -void mission_data::add( const std::string &id, const std::string &name_display, - const std::string &text ) -{ - add( id, name_display, std::nullopt, text, false, true ); -} -void mission_data::add_return( const std::string &id, const std::string &name_display, - const std::optional &dir, const std::string &text, bool possible ) -{ - add( id, name_display, dir, text, true, possible ); -} -void mission_data::add_start( const std::string &id, const std::string &name_display, - const std::optional &dir, const std::string &text, bool possible ) -{ - add( id, name_display, dir, text, false, possible ); -} -void mission_data::add( const std::string &id, const std::string &name_display, - const std::optional &dir, const std::string &text, - bool priority, bool possible ) -{ - mission_entry miss; - miss.id = id; - if( name_display.empty() ) { - miss.name_display = id; - } else { - miss.name_display = name_display; - } - miss.dir = dir; - miss.text = text; - miss.priority = priority; - miss.possible = possible; - - if( priority ) { - entries[0].push_back( miss ); - } - if( !possible ) { - entries[10].push_back( miss ); - } - const point direction = dir ? *dir : base_camps::base_dir; - const int tab_order = base_camps::all_directions.at( direction ).tab_order; - entries[tab_order + 1].emplace_back( miss ); -} diff --git a/src/mission_companion.h b/src/mission_companion.h deleted file mode 100644 index 4201295cea3e..000000000000 --- a/src/mission_companion.h +++ /dev/null @@ -1,155 +0,0 @@ -#pragma once -#ifndef CATA_SRC_MISSION_COMPANION_H -#define CATA_SRC_MISSION_COMPANION_H - -#include -#include -#include -#include -#include - -#include "calendar.h" -#include "coordinates.h" -#include "memory_fast.h" -#include "point.h" -#include "type_id.h" - -class item; -class monster; -class npc; -class npc_template; -struct comp_rank; -template -class string_id; - -using npc_ptr = shared_ptr_fast; -using comp_list = std::vector; - -struct mission_entry { - std::string id; - std::string name_display; - std::optional dir; - std::string text; - bool priority = false; - bool possible = false; -}; - -class mission_data -{ - public: - std::vector> entries; - mission_entry cur_key; - - mission_data(); - /** - * Adds the id's to the correct vectors (i.e. tabs) in the UI. - * @param id is the mission reference - * @param name_display is string displayed - * @param dir is the direction of the expansion from the central camp, i.e. "[N]" - * @param priority turns the mission key yellow and pushes to front of main tab - * @param possible grays the mission key when false and makes it impossible to select - */ - void add( const std::string &id, const std::string &name_display, - const std::optional &dir, const std::string &text, - bool priority = false, bool possible = true ); - void add_return( const std::string &id, const std::string &name_display, - const std::optional &dir, const std::string &text, bool possible = true ); - void add_start( const std::string &id, const std::string &name_display, - const std::optional &dir, const std::string &text, bool possible = true ); - void add( const std::string &id, const std::string &name_display = "", - const std::string &text = "" ); -}; - -namespace talk_function -{ -/* - * mission_companion.cpp proves a set of functions that compress all the typical mission - * operations into a set of hard-coded unique missions that don't fit well into the framework of - * the existing system. These missions typically focus on sending companions out on simulated - * adventures or tasks. This is not meant to be a replacement for the existing system. - */ - -//Identifies which mission set the NPC draws from -void companion_mission( npc &p ); - -// Display the available missions and let the player choose one -bool display_and_choose_opts( mission_data &mission_key, const tripoint_abs_omt &omt_pos, - const std::string &role_id, const std::string &title ); - -/** - * Send a companion on an individual mission or attaches them to a group to depart later - * Set @ref submap_coords and @ref pos. - * @param desc is the description in the popup window - * @param miss_id is the value stored with the NPC when it is offloaded - * @param group is whether the NPC is waiting for additional members before departing together - * @param equipment is placed in the NPC's special inventory and dropped when they return - * @param skill_tested is the main skill for the quest - * @param skill_level is checked to prevent lower level NPCs from going on missions - */ -///Send a companion on an individual mission or attaches them to a group to depart later -npc_ptr individual_mission( npc &p, const std::string &desc, const std::string &miss_id, - bool group = false, const std::vector &equipment = {}, - const std::map &required_skills = {} ); -npc_ptr individual_mission( const tripoint_abs_omt &omt_pos, const std::string &role_id, - const std::string &desc, const std::string &miss_id, - bool group = false, const std::vector &equipment = {}, - const std::map &required_skills = {} ); - -///All of these missions are associated with the ranch camp and need to me updated/merged into the new ones -void caravan_return( npc &p, const std::string &dest, const std::string &id ); -void caravan_depart( npc &p, const std::string &dest, const std::string &id ); -int caravan_dist( const std::string &dest ); - -void field_build_1( npc &p ); -void field_build_2( npc &p ); -void field_plant( npc &p, const std::string &place ); -void field_harvest( npc &p, const std::string &place ); -bool scavenging_patrol_return( npc &p ); -bool scavenging_raid_return( npc &p ); -bool labor_return( npc &p ); -bool carpenter_return( npc &p ); -bool forage_return( npc &p ); - -/// Trains NPC @ref comp, in skill_tested for duration time_worked at difficulty 1, several groups of skills can also be input -void companion_skill_trainer( npc &comp, const std::string &skill_tested = "", - time_duration time_worked = 1_hours, int difficulty = 1 ); -void companion_skill_trainer( npc &comp, const skill_id &skill_tested, - time_duration time_worked = 1_hours, int difficulty = 1 ); -//Combat functions -bool companion_om_combat_check( const comp_list &group, const tripoint_abs_omt &om_tgt, - bool try_engage = false ); -void force_on_force( const comp_list &defender, const std::string &def_desc, - const comp_list &attacker, const std::string &att_desc, int advantage ); -bool force_on_force( const comp_list &defender, const std::string &def_desc, - const std::vector< monster * > &monsters_fighting, - const std::string &att_desc, int advantage ); -int combat_score( const comp_list &group ); //Used to determine retreat -int combat_score( const std::vector< monster * > &group ); -void attack_random( const comp_list &attacker, const comp_list &defender ); -void attack_random( const std::vector< monster * > &group, const comp_list &defender ); -void attack_random( const comp_list &attacker, const std::vector< monster * > &group ); -npc_ptr temp_npc( const string_id &type ); - -//Utility functions -/// Returns npcs that have the given companion mission. -comp_list companion_list( const npc &p, const std::string &mission_id, bool contains = false ); -comp_list companion_list( const tripoint &omt_pos, const std::string &role_id, - const std::string &mission_id, bool contains = false ); -comp_list companion_sort( comp_list available, - const std::map &required_skills = {} ); -std::vector companion_rank( const comp_list &available, bool adj = true ); -npc_ptr companion_choose( const std::map &required_skills = {} ); -npc_ptr companion_choose_return( const npc &p, const std::string &mission_id, - const time_point &deadline ); -npc_ptr companion_choose_return( const tripoint_abs_omt &omt_pos, const std::string &role_id, - const std::string &mission_id, const time_point &deadline, - bool by_mission = true ); - -//Return NPC to your party -void companion_return( npc &comp ); -//Smash stuff, steal valuables, and change map maker -// TODO: Make this return the loot gained -void loot_building( const tripoint_abs_omt &site ); - -} // namespace talk_function -#endif // CATA_SRC_MISSION_COMPANION_H diff --git a/src/mutation.cpp b/src/mutation.cpp index f0157071ce55..5440b5f48c5c 100644 --- a/src/mutation.cpp +++ b/src/mutation.cpp @@ -9,7 +9,6 @@ #include #include "avatar_action.h" -#include "basecamp.h" #include "bionics.h" #include "character.h" #include "color.h" diff --git a/src/npc.cpp b/src/npc.cpp index 64ff71072852..15d497684fdc 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -11,7 +11,6 @@ #include "auto_pickup.h" #include "avatar.h" -#include "basecamp.h" #include "bodypart.h" #include "character.h" #include "character_id.h" @@ -1406,10 +1405,6 @@ void npc::mutiny() my_fac->respects_u -= 5; g->remove_npc_follower( getID() ); set_fac( faction_id( "amf" ) ); - job.clear_all_priorities(); - if( assigned_camp ) { - assigned_camp = std::nullopt; - } chatbin.first_topic = "TALK_STRANGER_NEUTRAL"; set_attitude( NPCATT_NULL ); say( _( " Adios, motherfucker!" ), sounds::sound_t::order ); @@ -2102,21 +2097,6 @@ bool npc::is_leader() const return attitude == NPCATT_LEAD; } -bool npc::within_boundaries_of_camp() const -{ - const point_abs_omt p( global_omt_location().xy() ); - for( int x2 = -3; x2 < 3; x2++ ) { - for( int y2 = -3; y2 < 3; y2++ ) { - const point_abs_omt nearby = p + point( x2, y2 ); - std::optional bcp = overmap_buffer.find_camp( nearby ); - if( bcp ) { - return true; - } - } - } - return false; -} - bool npc::is_enemy() const { return attitude == NPCATT_KILL || attitude == NPCATT_FLEE || attitude == NPCATT_FLEE_TEMP; @@ -2530,13 +2510,6 @@ void npc::die( Creature *nkiller ) // *only* set to true in this function! return; } - if( assigned_camp ) { - std::optional bcp = overmap_buffer.find_camp( ( *assigned_camp ).xy() ); - if( bcp ) { - ( *bcp )->remove_assignee( getID() ); - } - } - assigned_camp = std::nullopt; // Need to unboard from vehicle before dying, otherwise // the vehicle code cannot find us if( in_vehicle ) { @@ -3451,56 +3424,3 @@ void npc_follower_rules::clear_overrides() override_enable = ally_rule::DEFAULT; } -bool job_data::set_task_priority( const activity_id &task, int new_priority ) -{ - auto it = task_priorities.find( task ); - if( it != task_priorities.end() ) { - task_priorities[task] = new_priority; - return true; - } - return false; -} - -void job_data::clear_all_priorities() -{ - for( auto &elem : task_priorities ) { - elem.second = 0; - } -} - -std::vector job_data::get_prioritised_vector() const -{ - std::vector> pairs( begin( task_priorities ), end( task_priorities ) ); - - std::vector ret; - sort( begin( pairs ), end( pairs ), []( const std::pair &a, - const std::pair &b ) { - return a.second > b.second; - } ); - ret.reserve( pairs.size() ); - for( std::pair elem : pairs ) { - ret.push_back( elem.first ); - } - return ret; -} - -int job_data::get_priority_of_job( const activity_id &req_job ) const -{ - auto it = task_priorities.find( req_job ); - if( it != task_priorities.end() ) { - return it->second; - } else { - return 0; - } -} - -bool job_data::has_job() const -{ - for( auto &elem : task_priorities ) { - if( elem.second > 0 ) { - return true; - } - } - return false; -} - diff --git a/src/npc.h b/src/npc.h index 607449763903..2fc7c8c711fa 100644 --- a/src/npc.h +++ b/src/npc.h @@ -117,32 +117,6 @@ enum class attitude_group : int { friendly // Follow, defend, listen }; -// jobs assigned to an NPC when they are stationed at a basecamp. -class job_data -{ - private: - std::map task_priorities = { - { activity_id( "ACT_MULTIPLE_BUTCHER" ), 0 }, - { activity_id( "ACT_MULTIPLE_CONSTRUCTION" ), 0 }, - { activity_id( "ACT_VEHICLE_REPAIR" ), 0 }, - { activity_id( "ACT_VEHICLE_DECONSTRUCTION" ), 0 }, - { activity_id( "ACT_MULTIPLE_FARM" ), 0 }, - { activity_id( "ACT_MULTIPLE_CHOP_TREES" ), 0 }, - { activity_id( "ACT_MULTIPLE_CHOP_PLANKS" ), 0 }, - { activity_id( "ACT_MULTIPLE_FISH" ), 0 }, - { activity_id( "ACT_MOVE_LOOT" ), 0 }, - { activity_id( "ACT_TIDY_UP" ), 0 }, - }; - public: - bool set_task_priority( const activity_id &task, int new_priority ); - void clear_all_priorities(); - bool has_job() const; - int get_priority_of_job( const activity_id &req_job ) const; - std::vector get_prioritised_vector() const; - void serialize( JsonOut &json ) const; - void deserialize( JsonIn &jsin ); -}; - enum npc_mission : int { NPC_MISSION_NULL = 0, // Nothing in particular NPC_MISSION_LEGACY_1, @@ -883,7 +857,6 @@ class npc : public player bool is_guarding() const; // Has a guard patrol mission bool is_patrolling() const; - bool within_boundaries_of_camp() const; /** is performing a player_activity */ bool has_player_activity() const; bool is_travelling() const; @@ -1113,9 +1086,6 @@ class npc : public player void move_away_from( const tripoint &p, bool no_bash_atk = false, std::set *nomove = nullptr ); void move_away_from( const std::vector &spheres, bool no_bashing = false ); - // workers at camp relaxing/wandering - void worker_downtime(); - bool find_job_to_perform(); // Same as if the player pressed '.' void move_pause(); @@ -1162,7 +1132,6 @@ class npc : public player bool saw_player_recently() const; /** Returns true if food was consumed, false otherwise. */ bool consume_food(); - bool consume_food_from_camp(); // Movement on the overmap scale // Do we have a long-term destination? @@ -1217,9 +1186,6 @@ class npc : public player void set_attitude( npc_attitude new_attitude ); void set_mission( npc_mission new_mission ); bool has_activity() const; - bool has_job() const { - return job.has_job(); - } npc_attitude get_previous_attitude(); npc_mission get_previous_mission(); void revert_after_activity(); @@ -1231,7 +1197,6 @@ class npc : public player std::string idz; // A temp variable used to link to the correct mission std::vector miss_ids; - std::optional assigned_camp = std::nullopt; private: npc_attitude attitude = NPCATT_NULL; // What we want to do to the player @@ -1319,7 +1284,6 @@ class npc : public player std::optional confident_range_cache; // Dummy point that indicates that the goal is invalid. static constexpr tripoint_abs_omt no_goal_point{ tripoint_min }; - job_data job; time_point last_updated; /** * Do some cleanup and caching as npc is being unloaded from map. diff --git a/src/npcmove.cpp b/src/npcmove.cpp index 826649636a0f..712107bbd2ed 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -13,7 +13,6 @@ #include "active_item_cache.h" #include "activity_handlers.h" -#include "basecamp.h" #include "bionics.h" #include "bodypart.h" #include "cata_algo.h" @@ -147,7 +146,6 @@ enum npc_action : int { npc_investigate_sound, npc_return_to_guard_pos, npc_player_activity, - npc_worker_downtime, num_npc_actions }; @@ -889,15 +887,7 @@ void npc::move() mission = NPC_MISSION_NULL; } } - if( assigned_camp && attitude != NPCATT_ACTIVITY ) { - if( has_job() && calendar::once_every( 10_minutes ) && find_job_to_perform() ) { - action = npc_player_activity; - } else { - action = npc_worker_downtime; - goal = global_omt_location(); - } - } - if( is_stationary( true ) && !assigned_camp ) { + if( is_stationary( true ) ) { // if we're in a vehicle, stay in the vehicle if( in_vehicle ) { action = npc_pause; @@ -911,9 +901,6 @@ void npc::move() } else if( !fetching_item ) { find_item(); print_action( "find_item %s", action ); - } else if( assigned_camp ) { - // this should be covered above, but justincase to stop them zooming away. - action = npc_pause; } // check if in vehicle before rushing off to fetch things @@ -977,9 +964,6 @@ void npc::execute_action( npc_action action ) case npc_pause: move_pause(); break; - case npc_worker_downtime: - worker_downtime(); - break; case npc_reload: { do_reload( primary_weapon() ); } @@ -1846,9 +1830,6 @@ npc_action npc::address_needs( float danger ) // Extreme thirst or hunger, bypass safety check. if( get_thirst() > thirst_levels::dehydrated || get_stored_kcal() + stomach.get_calories() < max_stored_kcal() * 0.75 ) { - if( consume_food_from_camp() ) { - return npc_noop; - } if( consume_food() ) { return npc_noop; } @@ -1866,9 +1847,6 @@ npc_action npc::address_needs( float danger ) if( one_in( 3 ) && ( get_thirst() > thirst_levels::thirsty || get_stored_kcal() + stomach.get_calories() < max_stored_kcal() * 0.95 ) ) { - if( consume_food_from_camp() ) { - return npc_noop; - } if( consume_food() ) { return npc_noop; } @@ -2625,100 +2603,6 @@ void npc::move_away_from( const tripoint &pt, bool no_bash_atk, std::setas_player(), true ) ) { - assign_activity( elem ); - return true; - } - } - return false; -} - -void npc::worker_downtime() -{ - map &here = get_map(); - // are we already in a chair - if( here.has_flag_furn( "CAN_SIT", pos() ) ) { - // just chill here - move_pause(); - return; - } - // already know of a chair, go there - if( chair_pos != tripoint_min ) { - if( here.has_flag_furn( "CAN_SIT", here.getlocal( chair_pos ) ) ) { - update_path( here.getlocal( chair_pos ) ); - if( pos() == here.getlocal( chair_pos ) || path.empty() ) { - move_pause(); - path.clear(); - } else { - move_to_next(); - } - wander_pos = tripoint_min; - return; - } else { - chair_pos = tripoint_min; - } - } else { - // find a chair - if( !is_mounted() ) { - for( const tripoint &elem : here.points_in_radius( pos(), 30 ) ) { - if( here.has_flag_furn( "CAN_SIT", elem ) && !g->critter_at( elem ) && could_move_onto( elem ) && - here.point_within_camp( here.getabs( elem ) ) ) { - // this one will do - chair_pos = here.getabs( elem ); - return; - } - } - } - } - // we got here if there are no chairs available. - // wander back to near the bulletin board of the camp. - if( wander_pos != tripoint_min ) { - update_path( here.getlocal( wander_pos ) ); - if( pos() == here.getlocal( wander_pos ) || path.empty() ) { - move_pause(); - path.clear(); - if( one_in( 30 ) ) { - wander_pos = tripoint_min; - } - } else { - move_to_next(); - } - return; - } - if( assigned_camp ) { - std::optional bcp = overmap_buffer.find_camp( ( *assigned_camp ).xy() ); - if( !bcp ) { - assigned_camp = std::nullopt; - move_pause(); - return; - } - basecamp *temp_camp = *bcp; - std::vector pts; - for( const tripoint &elem : here.points_in_radius( here.getlocal( temp_camp->get_bb_pos() ), - 10 ) ) { - if( g->critter_at( elem ) || !could_move_onto( elem ) || here.has_flag( TFLAG_DEEP_WATER, elem ) || - !here.has_floor( elem ) || g->is_dangerous_tile( elem ) ) { - continue; - } - pts.push_back( elem ); - } - if( !pts.empty() ) { - wander_pos = here.getabs( random_entry( pts ) ); - return; - } - } - move_pause(); -} - void npc::move_pause() { @@ -3952,43 +3836,6 @@ static float rate_food( const item &it, int want_nutr, int want_quench ) return weight; } -bool npc::consume_food_from_camp() -{ - if( !is_player_ally() ) { - return false; - } - Character &player_character = get_player_character(); - std::optional potential_bc; - for( const tripoint_abs_omt &camp_pos : player_character.camps ) { - if( rl_dist( camp_pos, global_omt_location() ) < 3 ) { - potential_bc = overmap_buffer.find_camp( camp_pos.xy() ); - if( potential_bc ) { - break; - } - } - } - if( !potential_bc ) { - return false; - } - basecamp *bcp = *potential_bc; - if( get_thirst() > thirst_levels::thirsty && bcp->has_water() ) { - complain_about( "camp_water_thanks", 1_hours, "", false ); - set_thirst( 0 ); - return true; - } - faction *yours = player_character.get_faction(); - int camp_kcals = std::min( std::max( 0, 19 * max_stored_kcal() / 20 - get_stored_kcal() - - stomach.get_calories() ), yours->food_supply ); - if( camp_kcals > 0 ) { - complain_about( "camp_food_thanks", 1_hours, "", false ); - mod_stored_kcal( camp_kcals ); - yours->food_supply -= camp_kcals; - return true; - } - complain_about( "camp_larder_empty", 1_hours, "", false ); - return false; -} - bool npc::consume_food() { float best_weight = 0.0f; @@ -4390,8 +4237,6 @@ std::string npc_action_name( npc_action action ) return "Undecided"; case npc_pause: return "Pause"; - case npc_worker_downtime: - return "Relaxing"; case npc_reload: return "Reload"; case npc_investigate_sound: diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 76391085a6ea..556cba0fef94 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -32,7 +32,6 @@ #include "enums.h" #include "flag.h" #include "faction.h" -#include "faction_camp.h" #include "game.h" #include "game_constants.h" #include "game_inventory.h" @@ -51,7 +50,6 @@ #include "martialarts.h" #include "messages.h" #include "mission.h" -#include "mission_companion.h" #include "monster.h" #include "mtype.h" #include "npc.h" @@ -412,7 +410,6 @@ void game::chat() const int follower_count = followers.size(); const std::vector guards = get_npcs_if( [&]( const npc & guy ) { return guy.mission == NPC_MISSION_GUARD_ALLY && - guy.companion_mission_role_id != "FACTION_CAMP" && guy.can_hear( u.pos(), volume ); } ); const int guard_count = guards.size(); @@ -1159,7 +1156,6 @@ std::string dialogue::dynamic_line( const talk_topic &the_topic ) const return "&" + p->opinion_text(); } else if( topic == "TALK_MIND_CONTROL" ) { bool not_following = g->get_follower_list().count( p->getID() ) == 0; - p->companion_mission_role_id.clear(); talk_function::follow( *p ); if( not_following ) { return _( "YES, MASTER!" ); @@ -1956,15 +1952,6 @@ talk_effect_fun_t::talk_effect_fun_t( const std::function camps; tripoint_abs_omt destination; - Character &player_character = get_player_character(); - for( const auto &elem : player_character.camps ) { - if( elem == p.global_omt_location() ) { - continue; - } - std::optional camp = overmap_buffer.find_camp( elem.xy() ); - if( !camp ) { - continue; - } - basecamp *temp_camp = *camp; - camps.push_back( temp_camp ); - } - for( auto iter : camps ) { - //~ %1$s: camp name, %2$d and %3$d: coordinates - selection_menu.addentry( i++, true, MENU_AUTOASSIGN, pgettext( "camp", "%1$s at %2$s" ), - iter->camp_name(), iter->camp_omt_pos().to_string() ); - } selection_menu.addentry( i++, true, MENU_AUTOASSIGN, _( "My current location" ) ); selection_menu.addentry( i, true, MENU_AUTOASSIGN, _( "Cancel" ) ); selection_menu.selected = 0; selection_menu.query(); auto index = selection_menu.ret; - if( index < 0 || index > static_cast( camps.size() + 1 ) || - index == static_cast( camps.size() + 1 ) ) { + if( index < 0 || index > static_cast( 2 ) || + index == static_cast( 1 ) ) { return; } - if( index == static_cast( camps.size() ) ) { + if( index == static_cast( 1 ) ) { destination = g->u.global_omt_location(); - } else { - auto selected_camp = camps[index]; - destination = selected_camp->camp_omt_pos(); } p.goal = destination; p.omt_path = overmap_buffer.get_travel_path( p.global_omt_location(), p.goal, @@ -366,34 +344,6 @@ void talk_function::assign_guard( npc &p ) p.set_omt_destination(); } -void talk_function::abandon_camp( npc &p ) -{ - std::optional bcp = overmap_buffer.find_camp( p.global_omt_location().xy() ); - if( bcp ) { - basecamp *temp_camp = *bcp; - temp_camp->abandon_camp(); - } -} - -void talk_function::assign_camp( npc &p ) -{ - std::optional bcp = overmap_buffer.find_camp( p.global_omt_location().xy() ); - if( bcp ) { - basecamp *temp_camp = *bcp; - p.set_attitude( NPCATT_NULL ); - p.set_mission( NPC_MISSION_GUARD_ALLY ); - temp_camp->add_assignee( p.getID() ); - temp_camp->job_assignment_ui(); - temp_camp->validate_assignees(); - add_msg( _( "%1$s is assigned to %2$s" ), p.disp_name(), temp_camp->camp_name() ); - if( p.has_player_activity() ) { - p.revert_after_activity(); - } - p.chatbin.first_topic = "TALK_FRIEND_GUARD"; - p.set_omt_destination(); - } -} - void talk_function::stop_guard( npc &p ) { if( !p.is_player_ally() ) { @@ -410,13 +360,6 @@ void talk_function::stop_guard( npc &p ) p.chatbin.first_topic = "TALK_FRIEND"; p.goal = npc::no_goal_point; p.guard_pos = tripoint_min; - if( p.assigned_camp ) { - if( std::optional bcp = overmap_buffer.find_camp( ( *p.assigned_camp ).xy() ) ) { - ( *bcp )->remove_assignee( p.getID() ); - ( *bcp )->validate_assignees(); - } - p.assigned_camp = std::nullopt; - } } void talk_function::wake_up( npc &p ) @@ -792,7 +735,6 @@ void talk_function::leave( npc &p ) g->remove_npc_follower( p.getID() ); std::string new_fac_id = "solo_"; new_fac_id += p.name; - p.job.clear_all_priorities(); // create a new "lone wolf" faction for this one NPC faction *new_solo_fac = g->faction_manager_ptr->add_new_faction( p.name, faction_id( new_fac_id ), faction_id( "no_faction" ) ); diff --git a/src/overmap.cpp b/src/overmap.cpp index 7538ea20eb95..de6a76f4d2c2 100644 --- a/src/overmap.cpp +++ b/src/overmap.cpp @@ -20,7 +20,6 @@ #include "all_enum_values.h" #include "assign.h" -#include "basecamp.h" #include "cata_utility.h" #include "catacharset.h" #include "character_id.h" @@ -6193,16 +6192,6 @@ shared_ptr_fast overmap::find_npc( const character_id &id ) const return nullptr; } -std::optional overmap::find_camp( const point_abs_omt &p ) -{ - for( auto &v : camps ) { - if( v.camp_omt_pos().xy() == p ) { - return &v; - } - } - return std::nullopt; -} - bool overmap::is_omt_generated( const tripoint_om_omt &loc ) const { if( !inbounds( loc ) ) { diff --git a/src/overmap.h b/src/overmap.h index 265be35dd71c..cf305a613408 100644 --- a/src/overmap.h +++ b/src/overmap.h @@ -36,7 +36,6 @@ class JsonIn; class JsonObject; class JsonOut; -class basecamp; class character_id; class map_extra; class monster; @@ -328,11 +327,9 @@ class overmap // TODO: make private std::vector radios; std::map vehicles; - std::vector camps; std::vector cities; std::map> connections_out; std::optional connection_cache; - std::optional find_camp( const point_abs_omt &p ); /// Adds the npc to the contained list of npcs ( @ref npcs ). void insert_npc( const shared_ptr_fast &who ); /// Removes the npc and returns it ( or returns nullptr if not found ). diff --git a/src/overmap_ui.cpp b/src/overmap_ui.cpp index 7a278fb89af3..2319ae8384a7 100644 --- a/src/overmap_ui.cpp +++ b/src/overmap_ui.cpp @@ -20,7 +20,6 @@ #include "activity_actor_definitions.h" #include "all_enum_values.h" #include "avatar.h" -#include "basecamp.h" #include "cached_options.h" #include "calendar.h" #ifdef TILES @@ -400,45 +399,6 @@ static void draw_city_labels( const catacurses::window &w, const tripoint_abs_om } } -static void draw_camp_labels( const catacurses::window &w, const tripoint_abs_omt ¢er ) -{ - const int win_x_max = getmaxx( w ); - const int win_y_max = getmaxy( w ); - const int sm_radius = std::max( win_x_max, win_y_max ); - - const point screen_center_pos( win_x_max / 2, win_y_max / 2 ); - - for( const auto &element : overmap_buffer.get_camps_near( - project_to( center ), sm_radius ) ) { - const point_abs_omt camp_pos( element.camp->camp_omt_pos().xy() ); - const point screen_pos( ( camp_pos - center.xy() ).raw() + screen_center_pos ); - const int text_width = utf8_width( element.camp->name, true ); - const int text_x_min = screen_pos.x - text_width / 2; - const int text_x_max = text_x_min + text_width; - const int text_y = screen_pos.y; - const std::string camp_name = element.camp->name; - if( text_x_min < 0 || - text_x_max > win_x_max || - text_y < 0 || - text_y > win_y_max ) { - continue; // outside of the window bounds. - } - - if( screen_center_pos.x >= ( text_x_min - 1 ) && - screen_center_pos.x <= ( text_x_max ) && - screen_center_pos.y >= ( text_y - 1 ) && - screen_center_pos.y <= ( text_y + 1 ) ) { - continue; // right under the cursor. - } - - if( !overmap_buffer.seen( tripoint_abs_omt( camp_pos, center.z() ) ) ) { - continue; // haven't seen it. - } - - mvwprintz( w, point( text_x_min, text_y ), i_white, camp_name ); - } -} - static bool query_confirm_delete( bool &ask_when_deleting ) { if( !ask_when_deleting ) { @@ -1150,7 +1110,6 @@ static void draw_ascii( const catacurses::window &w, if( center.z() == 0 && uistate.overmap_show_city_labels ) { draw_city_labels( w, center ); - draw_camp_labels( w, center ); } half_open_rectangle screen_bounds( diff --git a/src/overmapbuffer.cpp b/src/overmapbuffer.cpp index 0d53d23d4b78..823b03a78517 100644 --- a/src/overmapbuffer.cpp +++ b/src/overmapbuffer.cpp @@ -10,7 +10,6 @@ #include #include "avatar.h" -#include "basecamp.h" #include "calendar.h" #include "cata_utility.h" #include "character_id.h" @@ -62,12 +61,6 @@ int city_reference::get_distance_from_bounds() const return distance - omt_to_sm_copy( city->size ); } -int camp_reference::get_distance_from_bounds() const -{ - assert( camp != nullptr ); - return distance - omt_to_sm_copy( 4 ); -} - omt_find_params::~omt_find_params() = default; omt_route_params::~omt_route_params() = default; @@ -586,19 +579,6 @@ void overmapbuffer::move_vehicle( vehicle *veh, const point_abs_ms &old_msp ) } } -void overmapbuffer::remove_camp( const basecamp &camp ) -{ - const point_abs_omt omt = camp.camp_omt_pos().xy(); - const overmap_with_local_coords om_loc = get_om_global( omt ); - std::vector &camps = om_loc.om->camps; - for( auto it = camps.begin(); it != camps.end(); ++it ) { - if( it->camp_omt_pos().xy() == omt ) { - camps.erase( it ); - return; - } - } -} - void overmapbuffer::remove_vehicle( const vehicle *veh ) { const tripoint_abs_omt omt = veh->global_omt_location(); @@ -629,13 +609,6 @@ void overmapbuffer::add_vehicle( vehicle *veh ) veh->om_id = id; } -void overmapbuffer::add_camp( const basecamp &camp ) -{ - const point_abs_omt omt = camp.camp_omt_pos().xy(); - const overmap_with_local_coords om_loc = get_om_global( omt ); - om_loc.om->camps.push_back( camp ); -} - bool overmapbuffer::seen( const tripoint_abs_omt &p ) { if( const overmap_with_local_coords om_loc = get_existing_om_global( p ) ) { @@ -1156,21 +1129,6 @@ shared_ptr_fast overmapbuffer::find_npc( character_id id ) return nullptr; } -std::optional overmapbuffer::find_camp( const point_abs_omt &p ) -{ - for( auto &it : overmaps ) { - const point_abs_omt p2( p ); - for( int x2 = p2.x() - 3; x2 < p2.x() + 3; x2++ ) { - for( int y2 = p2.y() - 3; y2 < p2.y() + 3; y2++ ) { - if( std::optional camp = it.second->find_camp( point_abs_omt( x2, y2 ) ) ) { - return camp; - } - } - } - } - return std::nullopt; -} - void overmapbuffer::insert_npc( const shared_ptr_fast &who ) { assert( who ); @@ -1333,28 +1291,6 @@ std::vector overmapbuffer::find_all_radio_stations() return result; } -std::vector overmapbuffer::get_camps_near( const tripoint_abs_sm &location, - int radius ) -{ - std::vector result; - for( const auto om : get_overmaps_near( location, radius ) ) { - result.reserve( result.size() + om->camps.size() ); - std::transform( om->camps.begin(), om->camps.end(), std::back_inserter( result ), - [&]( basecamp & element ) { - const tripoint_abs_omt camp_pt = element.camp_omt_pos(); - const tripoint_abs_sm camp_sm = project_to( camp_pt ); - const auto distance = rl_dist( camp_sm, location ); - - return camp_reference{ &element, camp_sm, distance }; - } ); - } - std::sort( result.begin(), result.end(), []( const camp_reference & lhs, - const camp_reference & rhs ) { - return lhs.get_distance_from_bounds() < rhs.get_distance_from_bounds(); - } ); - return result; -} - std::vector> overmapbuffer::get_overmap_npcs() { std::vector> result; diff --git a/src/overmapbuffer.h b/src/overmapbuffer.h index 42aa2789d7e9..c3cbf28e593e 100644 --- a/src/overmapbuffer.h +++ b/src/overmapbuffer.h @@ -20,7 +20,6 @@ #include "string_id.h" #include "type_id.h" -class basecamp; class character_id; enum class cube_direction : int; class map_extra; @@ -93,22 +92,6 @@ struct city_reference { int get_distance_from_bounds() const; }; -struct camp_reference { - static const camp_reference invalid; - /** The camp itself, points into @ref overmap::camps */ - basecamp *camp; - /** The global absolute position of the camp (in submap coordinates!) */ - tripoint_abs_sm abs_sm_pos; - /** Distance to center of the search */ - int distance; - - operator bool() const { - return camp != nullptr; - } - - int get_distance_from_bounds() const; -}; - struct overmap_with_local_coords { overmap *om; tripoint_om_omt local; @@ -260,20 +243,11 @@ class overmapbuffer * Add the vehicle to be tracked in the overmap. */ void add_vehicle( vehicle *veh ); - /** - * Remove basecamp - */ - void remove_camp( const basecamp &camp ); /** * Remove the vehicle from being tracked in the overmap. */ void remove_vehicle( const vehicle *veh ); - /** - * Add Basecamp to overmapbuffer - */ - void add_camp( const basecamp &camp ); - std::optional find_camp( const point_abs_omt &p ); /** * Get all npcs in a area with given radius around given central point. * Only npcs on the given z-level are considered. @@ -479,7 +453,6 @@ class overmapbuffer * All entries in the returned vector are valid (have a valid tower pointer). */ std::vector find_all_radio_stations(); - std::vector get_camps_near( const tripoint_abs_sm &location, int radius ); /** * Find all cities within the specified @ref radius. * Result is sorted by proximity to @ref location in ascending order. diff --git a/src/player.h b/src/player.h index a5d266ee254a..ff14f439406d 100644 --- a/src/player.h +++ b/src/player.h @@ -31,7 +31,6 @@ #include "string_id.h" #include "type_id.h" -class basecamp; class craft_command; class effect; class faction; @@ -227,8 +226,7 @@ class player : public Character bool craft_consume_tools( item &craft, int mulitplier, bool start_craft ); void consume_tools( const comp_selection &tool, int batch ); void consume_tools( map &m, const comp_selection &tool, int batch, - const tripoint &origin = tripoint_zero, int radius = PICKUP_RANGE, - basecamp *bcp = nullptr ); + const tripoint &origin = tripoint_zero, int radius = PICKUP_RANGE ); void consume_tools( const std::vector &tools, int batch = 1, const std::string &hotkeys = DEFAULT_HOTKEYS ); diff --git a/src/savegame.cpp b/src/savegame.cpp index ea8a418a2465..006e98fe36b2 100644 --- a/src/savegame.cpp +++ b/src/savegame.cpp @@ -12,7 +12,6 @@ #include "achievement.h" #include "avatar.h" -#include "basecamp.h" #include "cata_io.h" #include "coordinate_conversions.h" #include "creature_tracker.h" @@ -561,13 +560,6 @@ void overmap::unserialize( std::istream &fin, const std::string &file_path ) } npcs.push_back( new_npc ); } - } else if( name == "camps" ) { - jsin.start_array(); - while( !jsin.end_array() ) { - basecamp new_camp; - new_camp.deserialize( jsin ); - camps.push_back( new_camp ); - } } else if( name == "overmap_special_placements" ) { jsin.start_array(); while( !jsin.end_array() ) { @@ -977,14 +969,6 @@ void overmap::serialize( std::ostream &fout ) const json.end_array(); fout << '\n'; - json.member( "camps" ); - json.start_array(); - for( auto &i : camps ) { - json.write( i ); - } - json.end_array(); - fout << '\n'; - // Condense the overmap special placements so that all placements of a given special // are grouped under a single key for that special. std::map> condensed_overmap_special_placements; diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index 32ea12d1edbe..de3ed6ee9bdd 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -31,7 +31,6 @@ #include "assign.h" #include "auto_pickup.h" #include "avatar.h" -#include "basecamp.h" #include "bionics.h" #include "bodypart.h" #include "calendar.h" @@ -851,16 +850,6 @@ void player::store( JsonOut &json ) const json.member( "destination_point", destination_point ); json.member( "ammo_location", ammo_location ); - - // TODO: move to Character - json.member( "camps" ); - json.start_array(); - for( const tripoint_abs_omt &bcpt : camps ) { - json.start_object(); - json.member( "pos", bcpt ); - json.end_object(); - } - json.end_array(); } /** @@ -926,14 +915,6 @@ void player::load( const JsonObject &data ) last_target = g->critter_tracker->from_temporary_id( tmptar ); } data.read( "destination_point", destination_point ); - // TODO: move to Character - camps.clear(); - for( JsonObject bcdata : data.get_array( "camps" ) ) { - bcdata.allow_omitted_members(); - tripoint_abs_omt bcpt; - bcdata.read( "pos", bcpt ); - camps.insert( bcpt ); - } } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1395,21 +1376,6 @@ void npc_favor::serialize( JsonOut &json ) const json.end_object(); } -void job_data::serialize( JsonOut &json ) const -{ - json.start_object(); - json.member( "task_priorities", task_priorities ); - json.end_object(); -} -void job_data::deserialize( JsonIn &jsin ) -{ - if( jsin.test_object() ) { - JsonObject jo = jsin.get_object(); - jo.allow_omitted_members(); - jo.read( "task_priorities", task_priorities ); - } -} - /* * load npc */ @@ -1508,10 +1474,8 @@ void npc::load( const JsonObject &data ) } else { data.read( "pulp_location", pulp_location ); } - data.read( "assigned_camp", assigned_camp ); data.read( "chair_pos", chair_pos ); data.read( "wander_pos", wander_pos ); - data.read( "job", job ); if( data.read( "mission", misstmp ) ) { mission = static_cast( misstmp ); static const std::set legacy_missions = {{ @@ -1681,10 +1645,8 @@ void npc::store( JsonOut &json ) const json.member( "guardz", guard_pos.z ); json.member( "current_activity_id", current_activity_id.str() ); json.member( "pulp_location", pulp_location ); - json.member( "assigned_camp", assigned_camp ); json.member( "chair_pos", chair_pos ); json.member( "wander_pos", wander_pos ); - json.member( "job", job ); // TODO: stringid json.member( "mission", mission ); json.member( "previous_mission", previous_mission ); @@ -3563,112 +3525,6 @@ void pickup::act_item::deserialize( JsonIn &jsin ) jsin.end_array(); } -// basecamp -void basecamp::serialize( JsonOut &json ) const -{ - if( omt_pos != tripoint_abs_omt() ) { - json.start_object(); - json.member( "name", name ); - json.member( "pos", omt_pos ); - json.member( "bb_pos", bb_pos ); - json.member( "expansions" ); - json.start_array(); - for( const auto &expansion : expansions ) { - json.start_object(); - json.member( "dir", expansion.first ); - json.member( "type", expansion.second.type ); - json.member( "provides" ); - json.start_array(); - for( const auto &provide : expansion.second.provides ) { - json.start_object(); - json.member( "id", provide.first ); - json.member( "amount", provide.second ); - json.end_object(); - } - json.end_array(); - json.member( "in_progress" ); - json.start_array(); - for( const auto &working : expansion.second.in_progress ) { - json.start_object(); - json.member( "id", working.first ); - json.member( "amount", working.second ); - json.end_object(); - } - json.end_array(); - json.member( "pos", expansion.second.pos ); - json.end_object(); - } - json.end_array(); - json.member( "fortifications" ); - json.start_array(); - for( const auto &fortification : fortifications ) { - json.start_object(); - json.member( "pos", fortification ); - json.end_object(); - } - json.end_array(); - json.end_object(); - } else { - return; - } -} - -void basecamp::deserialize( JsonIn &jsin ) -{ - JsonObject data = jsin.get_object(); - data.allow_omitted_members(); - data.read( "name", name ); - data.read( "pos", omt_pos ); - data.read( "bb_pos", bb_pos ); - for( JsonObject edata : data.get_array( "expansions" ) ) { - edata.allow_omitted_members(); - expansion_data e; - point dir; - if( edata.has_string( "dir" ) ) { - // old save compatibility - const std::string dir_id = edata.get_string( "dir" ); - dir = base_camps::direction_from_id( dir_id ); - } else { - edata.read( "dir", dir ); - } - edata.read( "type", e.type ); - if( edata.has_int( "cur_level" ) ) { - edata.read( "cur_level", e.cur_level ); - } - if( edata.has_array( "provides" ) ) { - e.cur_level = -1; - for( JsonObject provide_data : edata.get_array( "provides" ) ) { - provide_data.allow_omitted_members(); - std::string id = provide_data.get_string( "id" ); - int amount = provide_data.get_int( "amount" ); - e.provides[ id ] = amount; - } - } - // incase of save corruption, sanity check provides from expansions - const std::string &initial_provide = base_camps::faction_encode_abs( e, 0 ); - if( e.provides.find( initial_provide ) == e.provides.end() ) { - e.provides[ initial_provide ] = 1; - } - for( JsonObject in_progress_data : edata.get_array( "in_progress" ) ) { - in_progress_data.allow_omitted_members(); - std::string id = in_progress_data.get_string( "id" ); - int amount = in_progress_data.get_int( "amount" ); - e.in_progress[ id ] = amount; - } - edata.read( "pos", e.pos ); - expansions[ dir ] = e; - if( dir != base_camps::base_dir ) { - directions.push_back( dir ); - } - } - for( JsonObject edata : data.get_array( "fortifications" ) ) { - edata.allow_omitted_members(); - tripoint_abs_omt restore_pos; - edata.read( "pos", restore_pos ); - fortifications.push_back( restore_pos ); - } -} - void kill_tracker::serialize( JsonOut &jsout ) const { jsout.start_object(); @@ -3967,11 +3823,6 @@ void submap::store( JsonOut &jsout ) const jsout.end_array(); } - // Output base camp if any - if( camp ) { - jsout.member( "camp", *camp ); - } - jsout.member( "active_furniture" ); jsout.start_array(); for( auto &pr : active_furniture ) { @@ -4215,9 +4066,6 @@ void submap::load( JsonIn &jsin, const std::string &member_name, int version, legacy_computer = std::make_unique( "BUGGED_COMPUTER", -100 ); jsin.read( *legacy_computer ); } - } else if( member_name == "camp" ) { - camp = std::make_unique(); - jsin.read( *camp ); } else if( member_name == "active_furniture" ) { jsin.start_array(); while( !jsin.end_array() ) { diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 3ebb0b1413fc..226513ad2ffa 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -33,7 +33,6 @@ #endif #include "avatar.h" -#include "basecamp.h" #include "cata_tiles.h" #include "cata_utility.h" #include "catacharset.h" @@ -1108,14 +1107,6 @@ void cata_tiles::draw_om( point dest, const tripoint_abs_omt ¢er_abs_omt, bo label_bg( city.abs_sm_pos, city.city->name ); } } - - for( const camp_reference &camp : overmap_buffer.get_camps_near( - coords::project_to( center_abs_omt ), radius ) ) { - const tripoint_abs_omt camp_center = coords::project_to( camp.abs_sm_pos ); - if( overmap_buffer.seen( camp_center ) && overmap_area.contains( camp_center.raw() ) ) { - label_bg( camp.abs_sm_pos, camp.camp->name ); - } - } } std::vector> notes_window_text; diff --git a/src/submap.cpp b/src/submap.cpp index 689b16214b68..e916e5db978d 100644 --- a/src/submap.cpp +++ b/src/submap.cpp @@ -6,7 +6,6 @@ #include #include -#include "basecamp.h" #include "int_id.h" #include "mapdata.h" #include "tileray.h" @@ -43,7 +42,6 @@ void submap::swap( submap &first, submap &second ) std::swap( first.spawns, second.spawns ); std::swap( first.vehicles, second.vehicles ); std::swap( first.partial_constructions, second.partial_constructions ); - std::swap( first.camp, second.camp ); std::swap( first.active_furniture, second.active_furniture ); std::swap( first.is_uniform, second.is_uniform ); std::swap( first.computers, second.computers ); diff --git a/src/submap.h b/src/submap.h index 7d5c5e502ec0..2daa5f2f1272 100644 --- a/src/submap.h +++ b/src/submap.h @@ -25,7 +25,6 @@ class JsonIn; class JsonOut; -class basecamp; class map; struct trap; struct ter_t; @@ -238,7 +237,6 @@ class submap : maptile_soa */ std::vector> vehicles; std::map> partial_constructions; - std::unique_ptr camp; // only allowing one basecamp per submap std::map> active_furniture; static void swap( submap &first, submap &second ); diff --git a/tests/basecamp_test.cpp b/tests/basecamp_test.cpp deleted file mode 100644 index 82d91f04ed46..000000000000 --- a/tests/basecamp_test.cpp +++ /dev/null @@ -1,206 +0,0 @@ -#include "avatar.h" -#include "basecamp.h" -#include "calendar.h" -#include "clzones.h" -#include "faction.h" -#include "game.h" -#include "game_constants.h" -#include "map.h" -#include "overmapbuffer.h" -#include "point.h" - -#include "catch/catch.hpp" -#include "map_helpers.h" -#include "state_helpers.h" - -enum class canned_status { - without_can, - canned_sealed, - canned_unsealed -}; - -static const itype_id meat_cooked_id( "meat_cooked" ); -static const itype_id sealed_can_id( "can_medium" ); -static const itype_id unsealed_can_id( "can_medium_unsealed" ); - -static detached_ptr make_food( const itype_id &inner_food_id, int amount, - canned_status canned, - bool is_rotten ) -{ - const time_point time_of_making = is_rotten ? calendar::turn_zero : calendar::turn; - detached_ptr food = item::spawn( inner_food_id, time_of_making, amount ); - - detached_ptr can; - switch( canned ) { - case canned_status::without_can: - return food; - case canned_status::canned_sealed: - can = item::spawn( sealed_can_id, calendar::turn_zero ); - break; - case canned_status::canned_unsealed: - can = item::spawn( unsealed_can_id, calendar::turn_zero ); - break; - } - ret_val retval = can->contents.insert_item( std::move( food ) ); - REQUIRE( retval.success() ); - return can; -} - -static int rounded_int( double val ) -{ - return static_cast( std::round( val ) ); -} - -TEST_CASE( "distribute_food" ) -{ - clear_all_state(); - constexpr tripoint origin( 60, 60, 0 ); - constexpr tripoint thirty_steps_rd = tripoint( 30, 30, 0 ); - g->u.setpos( origin ); - const tripoint origin_abs = get_map().getabs( origin ); - const tripoint_abs_omt omt_pos = g->u.global_omt_location(); - g->m.add_camp( omt_pos, "faction_camp_for_distribute" ); - basecamp *bcp = overmap_buffer.find_camp( omt_pos.xy() ).value(); - bcp->set_bb_pos( origin_abs + tripoint_east ); - zone_manager &zmgr = zone_manager::get_manager(); - const faction *yours = g->u.get_faction(); - zmgr.add( "Zone for dumping food", zone_type_id( "CAMP_FOOD" ), - g->u.get_faction()->id, false, true, - origin_abs - thirty_steps_rd, - origin_abs + thirty_steps_rd ); - zmgr.add( "Storage zone", zone_type_id( "CAMP_STORAGE" ), - g->u.get_faction()->id, false, true, - origin_abs - thirty_steps_rd, - origin_abs + thirty_steps_rd ); - - calendar::turn = calendar::turn_zero + 10_days; - - constexpr int kcal_in_meat = 402; - - SECTION( "Cooked meat without can is consumed" ) { - const int previous_kcal = yours->food_supply; - g->m.add_item_or_charges( origin, make_food( meat_cooked_id, 2, canned_status::without_can, false ), - false ); - bcp->distribute_food(); - CHECK( yours->food_supply - previous_kcal == rounded_int( 1.6 * kcal_in_meat ) ); - CHECK( g->m.i_at( origin ).empty() ); - } - - SECTION( "Jerky is consumed and no calories wasted" ) { - const int previous_kcal = yours->food_supply; - g->m.add_item_or_charges( origin, make_food( itype_id( "jerky" ), 50, canned_status::without_can, - false ), - false ); - bcp->distribute_food(); - constexpr int kcal_in_jerky = 348; - CHECK( yours->food_supply - previous_kcal == 50 * kcal_in_jerky ); - CHECK( g->m.i_at( origin ).empty() ); - } - - SECTION( "Rotten food is not consumed" ) { - const int previous_kcal = yours->food_supply; - g->m.add_item_or_charges( origin, make_food( meat_cooked_id, 1, canned_status::without_can, true ), - false ); - bcp->distribute_food(); - CHECK( yours->food_supply == previous_kcal ); - const map_stack stack = g->m.i_at( origin ); - CHECK( stack.size() == 1 ); - CHECK( std::all_of( stack.begin(), stack.end(), - []( const item * const & it ) { - return it->typeId() == meat_cooked_id && it->count() == 1 && it->rotten(); - } ) ); - g->m.i_clear( origin ); - } - - SECTION( "Canned edible food consumed leaving opened can" ) { - const int previous_kcal = yours->food_supply; - g->m.add_item_or_charges( origin, make_food( meat_cooked_id, 3, canned_status::canned_sealed, - false ), - false ); - bcp->distribute_food(); - CHECK( yours->food_supply - previous_kcal == 3 * kcal_in_meat ); - const map_stack stack = g->m.i_at( origin ); - CHECK( stack.size() == 1 ); - // Should be unsealed - CHECK( std::all_of( stack.begin(), stack.end(), - []( const item * const & it ) { - return it->typeId() == unsealed_can_id && it->count() == 1 && it->contents.empty(); - } ) ); - g->m.i_clear( origin ); - } - - SECTION( "Open edible food consumed leaving opened can" ) { - const int previous_kcal = yours->food_supply; - g->m.add_item_or_charges( origin, make_food( meat_cooked_id, 10, canned_status::canned_unsealed, - false ), - false ); - bcp->distribute_food(); - CHECK( yours->food_supply - previous_kcal == rounded_int( 8 * kcal_in_meat ) ); - const map_stack stack = g->m.i_at( origin ); - CHECK( stack.size() == 1 ); - CHECK( std::all_of( stack.begin(), stack.end(), - []( const item * const & it ) { - return it->typeId() == unsealed_can_id && it->count() == 1 && it->contents.empty(); - } ) ); - g->m.i_clear( origin ); - } - - SECTION( "Unwanted food still remains in same can" ) { - for( const canned_status status : { - canned_status::canned_sealed, canned_status::canned_unsealed - } ) { - const int previous_kcal = yours->food_supply; - detached_ptr det = make_food( itype_id( "dogfood" ), 1, status, false ); - item &can_of_dogfood = *det; - g->m.add_item_or_charges( origin, std::move( det ), false ); - bcp->distribute_food(); - CHECK( yours->food_supply == previous_kcal ); - const map_stack stack = g->m.i_at( origin ); - CHECK( stack.size() == 1 ); - CHECK( std::all_of( stack.begin(), stack.end(), - [&can_of_dogfood]( const item * const & it ) { - return it->typeId() == can_of_dogfood.typeId() && it->count() == 1 - && it->contents.front().typeId() == can_of_dogfood.contents.front().typeId() - && it->contents.front().count() == can_of_dogfood.contents.front().count(); - } ) ); - g->m.i_clear( origin ); - } - } - - SECTION( "Not food remains as is" ) { - const int previous_kcal = yours->food_supply; - detached_ptr det = item::spawn( "2x4" ); - item &it = *det; - g->m.add_item_or_charges( origin, std::move( det ) ); - bcp->distribute_food(); - CHECK( yours->food_supply == previous_kcal ); - const map_stack stack = g->m.i_at( origin ); - CHECK( stack.size() == 1 ); - CHECK( std::all_of( stack.begin(), stack.end(), - [&it]( const item * const & i ) { - return i->typeId() == it.typeId() && i->count() == 1 && i->age() == it.age(); - } ) ); - g->m.i_clear( origin ); - } - - SECTION( "And even bleach remains as is" ) { - const int previous_kcal = yours->food_supply; - // It is not food but I reuse container putting - detached_ptr det = make_food( itype_id( "bleach" ), 5, canned_status::canned_sealed, false ); - item &bleach = *det; - g->m.add_item_or_charges( origin, std::move( det ) ); - bcp->distribute_food(); - CHECK( yours->food_supply == previous_kcal ); - const map_stack stack = g->m.i_at( origin ); - CHECK( stack.size() == 1 ); - CHECK( std::all_of( stack.begin(), stack.end(), - [&bleach]( const item * const & i ) { - return i->typeId() == bleach.typeId() - && bleach.count() == 1 && i->age() == bleach.age() - && i->contents.front().typeId() == bleach.contents.front().typeId() - && i->contents.front().count() == bleach.contents.front().count() - ; - } ) ); - g->m.i_clear( origin ); - } -} diff --git a/tests/npc_talk_test.cpp b/tests/npc_talk_test.cpp index f0ef5860d133..130ceb36650d 100644 --- a/tests/npc_talk_test.cpp +++ b/tests/npc_talk_test.cpp @@ -302,10 +302,6 @@ TEST_CASE( "npc_talk_location", "[npc_talk]" ) gen_response_lines( d, 2 ); CHECK( d.responses[0].text == "This is a basic test response." ); CHECK( d.responses[1].text == "This is a om_location_field test response." ); - change_om_type( "faction_base_camp_11" ); - gen_response_lines( d, 2 ); - CHECK( d.responses[0].text == "This is a basic test response." ); - CHECK( d.responses[1].text == "This is a faction camp any test response." ); } TEST_CASE( "npc_talk_role", "[npc_talk]" )