How about allow building modular basecamp everywhere?

Today I found private airport is a good place to build a base, and I hope I can build modular basecamp, so I add this to the JSON for a trial:

      {
        "id": "faction_base_modular_hub_field_version_2_0",
        "description": "Modular Field Camp version 2 (no trenches, more beds, courtyards, expansions not dependent on beds)",
        "om_terrains": [ "s_air_runway_l", "s_air_runway_B", "s_air_runway_term", "s_air_runway", "s_air_runway_hangars", "s_air_runway_r", "s_air_helicopter_pad"  ]
      },

And it works, building a base on the airport and using air storage as storage seems not bad.

It makes me wonder, what if we can setup camp on any location, and allow putting blueprint on any empty spaces around, to set up a base?
And basecamp activity menu will show all available activities provided by nearby workbench and appliances, not only show activity that provided by modular basecamp buildings.

The crucial issue is “empty space”. The blueprints just plonks down what they specify where specified, replacing whatever was there. Each base camp has to be tailored to work where it is set up (such as on an empty field), and have custom blueprints for that location.

In your case, if you set up you central camp tile on the runway, it’s probably going to be empty, and so it would sort of work (apart from it not accounting for it being built on top of a runway rather than dirt), but you also have to consider expansions, and all of the ones currently defined require empty space where they’re set up, and you probably have empty tiles on the other runway tiles, so with some hacking you could probably set up expansions in two adjacent tiles (up and down the runway, respectively). The terminal, however, would require someone to actually define blueprints for using the existing terminal, or, again, you’d just magic away what was where the blueprint added stuff.

you could try tinkering with other types of buildings like railroad stations but making something anywhere would require a bit of individual coding I think

Where did you obtain this JSON? I looked around the files, but I couldn’t find anything.

I think this can be solved by adding the required time to terraform to the blueprint.

And if a space is not empty, just add steps to remove existing things, just like what colonist do in the rimworld.

Hi, search for this in cdda’s repo, it is located at https://github.com/CleverRaven/Cataclysm-DDA/blob/5662136b77a7dfc18544ec20f8d9fbd536700178/data/json/recipes/basecamps/recipe_groups.json

1 Like

The system currently does not support blueprints that takes a variable amount of time based on what’s at the location they’re applied to. I’ve made a suggestion for the introduction of pseudo tiles that could be used for that (with not comments on it so far), but even then, the current crafting and construction logic requires a static time and effort cost. Crafting recipes and constructions are capable of handling variable ingredients, but not variable time (such as e.g. reducing the time taken if better tools are used). However, it would probably be possible to change the UI to support variations in time and effort as well.

It is possible to simulate time taken to modify terrain by making a recipe that does not calculate time, resources, and tools, but instead override that with entries written into the JSON recipe. That allows you to simulate time taken to do things the game doesn’t support, such as breaking up pavement and exposing the dirt underneath in the fire station base camp. However, any overriding resources have to be maintained manually as the game changes, or they’ll be stuck with what might have once been correct.
Also, any such simulation would have to be tailored to that exact location, i.e. time taken to tear down what.

@Minecrafter_Next_Gen and @lineonetwo: The JSON files are part of the installation, and so can be found on your computer at the corresponding location (…/data/json, where … is the location you’ve installed the game in).