Questions about overmap specials

Few questions about things in overmap specials json.

"connections" : [ { "point" : [-1,0,0], "terrain" : "road" }, ]
This causes road to spawn from this thing and connect it to other things.
What exactly does the "existing" : true do? Does it allow the thing to spawn only on a road or does it move the road to pass by the thing?
Can any terrain type be used as the target for connection? (from the special_locations.json ?)
To what is the connection done when no terrain is specified?

locations" : [ "land" ]
I guess this makes the thing only spawn on this type of terrain.

"city_distance" : [8, -1]
This limits how far from cities the thing can spawn? Min and max distance? In overmap tiles? What would -1 mean?

"city_sizes" : [4, 12]
Does this allow this thing to spawn only in cities of this size? Are the number diameter of the city or something else?

"occurrences" : [0, 3]
These two values decide how often the thing spawns. How do they work?

"rotate": true
Does this allow the location to rotate around? (if so why would this be false on so many locations?)

a city_distance value of -1 means no limit, so "city_distance" : [8, -1] means at least 8 overmap tiles, with no maximum, from the city.

An overmap special will only spawn in a world if the world’s “city size” in the world options menu is between the special’s city_sizes. So "city_sizes" : [4, 12] means the special won’t spawn if you set the city size to 2.

“occurrences” are minimum and maximum number of times that special will spawn per overmap region. So "occurrences" : [0, 3] means the special will not necessarily spawn, but if it does, it won’t spawn more than 3 times per overmap region.

You’re correct in that rotation determines whether the location can be rotated as necessary in mapgen.

For instance, the LMOE shelter is “rotate”: false. This means that both the above ground and below ground part of the shelter will always spawn in the orientation as shown in the original entry.

You can tell this by going into the debug menu, pressing ‘g’, then pressing ‘o’ and using ‘/’ to search for LMOE. It will display only two entries, lmoe, and lmoe_under. If it was rotatable, this list would have four entries for each, such as lmoe_north, lmoe_east, lmoe_south, etc. etc.

Anyway . . . “locations” does refer to where it should spawn. Easy enough. Things like the shipwreck use “water”.

I do wish I had more information about the others, I mostly only know what mlangsdorf has already pointed out. Most of the following information is my own anecdotal experience and may actually be incorrect, so, take it skeptically.

“existing”, I think, refers to whether it will attempt to attach to that terrain as it already exists or if it will generate that terrain when it spawns. IE: Does the road have to exist first, or does the location exist and then the road is spawned after. I could be very wrong about this, it’s just the best I can figure.

You should be able to attach any terrain using this, however, I have not used it for this. I believe that’s how you would make a dock, for instance, ensuring that it would spawn adjacent to water.
Again, could be wrong.

If you specify no connection, it will just spawn where there’s an empty place for it that matches the rest of the mapgen, like the cabin. If you specify a connection but don’t assign a terrain, I assume it just won’t work and will kick an error.

Does rotating cause issues with something? Like mission stuff spawning or some other thing that needs location after the location is placed? I think the locations would be more interesting if they weren’t always in same orientation.

Well I tried it and it doesn’t seem to work. Seems like only road, subway, sewer, ant tunnel and forest trail are valid connections. Trying to use something else gives error.

Fair enough. Like I said, all of my input is anecdotal or educated guesses.

There was a discussion recently – Spawning items on rotated tiles in which the room orientation was affecting the location of spawned items. This was for missions. Presumably, a non-rotated location makes it much easier.

I personally can’t think of any other reason to turn off rotation. Unless, say, you made your location in the shape of a smiley face or something that you wanted people to notice immediately. In the case of the LMOE, I don’t know why it isn’t able to be rotated.