[quote=“Coolthulhu, post:7, topic:12888”]You don’t need to match the drops too closely. The only parts that shouldn’t get stronger are medieval weaponry/armor and books, since mansions are already great sources of each.
Food, clothing, crafting stuff, “junk” - those are mostly flavor[/quote]
Already planning to nerf books by controlling the drop points. With the current system you can get multiple, huge libraries at random. I’m being judicial with my bookcase placement and I’m hoping I’ll be able to limit the number of library containing maps in any given mansion. As for the other stuff, I really just want to make sure I don’t change things in a drastically bad way. Mansions should be worth a visit but not be an unguarded piggy bank.
[quote=“Coolthulhu, post:7, topic:12888”]It may even be possible to have some limited puzzle piece support already, but I’m not sure how much of it is there, since the only way to really understand how lacking the implementation is is to actually try to add something with it.
Would it be enough if overmap_specials could force rotations? Say, assume the rotation 0 is the tile in upper-left, the one in upper-right is rotation 1, lower-right is 2, lower-left is 3 (or reversed order). That way there would need to be only 4 tile types: entrance, center, T-junction and corner.
The overmap_specials.json would then construct a building out of those 4 types + rotation arguments.[/quote]
That’s pretty much what I was thinking, just 4 types of mansion pieces. Initially I wanted a 5th type for special center-back pieces though I’ve changed my initial layouts, so those pieces could go at any t-intersection except the entrance of course. I hadn’t considered putting the rotation control into the overmap_specials, but that would work just fine. In fact it’s probably better that way since it makes rotation control accessible to all modders for all purposes. Incidentally, I’m drawing my maps so that front-left corners would be rotation 0, and center-back t-intersections are rotation 0. My centers aren’t rotatable but that could be handy for other structures. Labs in particular will need all piece types in all orientations if they ever get this treatment.
Something like this:
[
{
"comment": "Mansion",
"type": "mapgen",
"om_terrain": [
"mansion"
],
"method": "json",
"weight": ...
"object": ...
"new_overmaps" : [
{ "point":[0,0,-1], "overmap": "mansion_corner1_b1"},
{ "point":[0,0,0], "overmap": "mansion_corner1_f1"},
{ "point":[0,0,1], "overmap": "mansion_corner1_f2"}
]
}
{
"comment": "Mansion",
"type": "mapgen",
"om_terrain": [
"mansion_corner1_f1"
],
"method": "json",
"weight": ...
"object": ...
]
}
]Each z-level would have the same code, so that whether you approach by land, subway, or air the correct layers will be generated for the randomly chosen corner piece. Possibly you could combine the two declarations into one by including both IDs in the “om_terrain” array, but then you’d needlessly re-write the new overmap values with each floor’s generation.