-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
basecamps: add modular basecamps (#31115)
* recipes: add support for blueprints without oter_ids and retrieving them add support for blueprints that don't have an oter_id attached to them, but are pure mapgen_update functions. also, add a recipe_dictionary entry for blueprints, similar to the existing autolearn entry. * basecamps: add full modular camp support add support for retrieving available basecamp upgrade path starts and expansion by oter_id from the "all_faction_base_types" and "all_faction_base_expansions" recipe groups. Also populate the expansion tabs in the basecamp control window image the same way. Let the player select from all available basecamp upgrade path starts if there is more than 1 available for the selected basecamp terrain. Select available upgrades from recipe_dict's collection of construction blueprints. * basecamps: add the modular field camp add the JSON definitions of the modular field camp. It can be configured to be very similar to the existing primitive field camp or built as a single large building made from wattle-and-daub, wood panel, or metal. The player can upgrade it piecemeal in the order they please. It's also going to be easier to add new features to it in the future.
- Loading branch information
1 parent
5bce0cd
commit 74d9af4
Showing
23 changed files
with
3,857 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,310 @@ | ||
[ | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_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": "fbmf_fireplace_northeast", | ||
"method": "json", | ||
"object": { "set": [ { "point": "furniture", "id": "f_fireplace", "x": 19, "y": 6 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_brazier_northeast", | ||
"method": "json", | ||
"object": { "set": [ { "point": "furniture", "id": "f_brazier", "x": 19, "y": 6 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_stove_northeast", | ||
"method": "json", | ||
"object": { "set": [ { "point": "furniture", "id": "f_woodstove", "x": 19, "y": 6 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"method": "json", | ||
"nested_mapgen_id": "fbmf_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": "fbmf_strawbed1_northeast", | ||
"method": "json", | ||
"object": { "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 5 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"method": "json", | ||
"nested_mapgen_id": "fbmf_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": "fbmf_bed1_northeast", | ||
"method": "json", | ||
"object": { "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 5 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_strawbed2_northeast", | ||
"method": "json", | ||
"object": { "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 7 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_bed2_northeast", | ||
"method": "json", | ||
"object": { "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 7 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_strawbed3_east", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 11 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_bed3_east", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 11 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_strawbed3_east", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 10 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_bed3_east", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 10 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_strawbed3_southeast", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 17 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_bed3_southeast", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 17 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_strawbed3_southeast", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 16 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_bed3_southeast", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 16 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_strawbed3_northwest", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 5 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 7 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_bed3_northwest", | ||
"method": "json", | ||
"object": { "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 5 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 7 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_strawbed3_west", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 11 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_bed3_west", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 11 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_strawbed3_west", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 10 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_bed3_west", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 10 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_strawbed3_southwest", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 17 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_tent_bed3_southwest", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 17 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_strawbed3_southwest", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 16 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_room_bed3_southwest", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 16 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 19 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_core_kitchen_fireplace_center", | ||
"method": "json", | ||
"object": { | ||
"mapgensize": [ 6, 6 ], | ||
"set": [ | ||
{ "point": "furniture", "id": "f_counter", "x": 13, "y": 10 }, | ||
{ "point": "furniture", "id": "f_fireplace", "x": 12, "y": 11 } | ||
] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_core_kitchen_butchery_center", | ||
"method": "json", | ||
"object": { "set": [ { "point": "furniture", "id": "f_butcher_rack", "x": 12, "y": 10 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_core_kitchen_toolrack_center", | ||
"method": "json", | ||
"object": { "set": [ { "point": "furniture", "id": "f_bookcase", "x": 10, "y": 10 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"method": "json", | ||
"nested_mapgen_id": "fbmf_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": "fbmf_core_kitchen_table_center", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 12 }, { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 13 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_core_kitchen_table_south", | ||
"method": "json", | ||
"object": { | ||
"place_nested": [ { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 16 }, { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 15 } ] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_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": "fbmf_well_north", | ||
"method": "json", | ||
"object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 13, "y": 6 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_root_cellar_north", | ||
"method": "json", | ||
"object": { "set": [ { "point": "terrain", "id": "t_rootcellar", "x": 12, "y": 8 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_radio_tower_north", | ||
"method": "json", | ||
"object": { "set": [ { "point": "terrain", "id": "t_radio_tower", "x": 13, "y": 3 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_radio_console_north", | ||
"method": "json", | ||
"object": { "set": [ { "point": "terrain", "id": "t_radio_controls", "x": 13, "y": 4 } ] } | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
[ | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_trench_north", | ||
"method": "json", | ||
"object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 0, "y2": 0 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_trench_south", | ||
"method": "json", | ||
"object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 23, "y2": 23 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_trench_corner_northeast", | ||
"method": "json", | ||
"object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 0, "y2": 4 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_trench_corner_northwest", | ||
"method": "json", | ||
"object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 0, "y2": 4 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_trench_corner_southeast", | ||
"method": "json", | ||
"object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 19, "y2": 23 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_trench_corner_southwest", | ||
"method": "json", | ||
"object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 19, "y2": 23 } ] } | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_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 } | ||
] | ||
} | ||
}, | ||
{ | ||
"type": "mapgen", | ||
"update_mapgen_id": "fbmf_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 } | ||
] | ||
} | ||
} | ||
] |
Oops, something went wrong.