CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
9.92k stars 4.08k forks source link

The river cave needs to get a roof #74624

Closed PatrikLundell closed 3 hours ago

PatrikLundell commented 1 week ago

Is your feature request related to a problem? Please describe.

The river cave uses the clever and incomprehensible mutable format, but still need to define a roof on the cave. The roof needs to be defined for two reasons:

Solution you would like.

Someone understanding the mutable logic to define a roof and make it appear above the cave.

Describe alternatives you have considered.

No response

Additional context

I don't know if this appears in vanilla, but it's used by Innawoods, at least.

This is the same problem as #74479, but for a different mapgen. If someone fixes one of these I could probably fix the other by applying the same method to hook the roof into the mutable.

Maleclypse commented 1 week ago

@Procyonae @jbytheway Is there a way for ground level plus mutables to have either another mutable tile if appropriate or a roofing capstone type tile?

jbytheway commented 1 week ago

I think you should be able to add a roof tile and link it as just another part of the mutable special, yes. I don't recall ever explicitly testing that, though.

PatrikLundell commented 1 week ago

I tried various variants with the monster, but never succeeded (after the optimistic start of trying to tackle both above ground tiles I ended up with only the roof of the starting one to deal with one issue at a time). Of course, I don't know how it's supposed to work, so I tried various variations of the pattern I perceived. Whenever I sort of had it hooked up and it didn't complain at game load time, it blew up on placement with a diagnostic error message that somehow rejected both the roof definition (stating it's placed on an air tile with air tiles all around it to the sides), but also the one below the starting tile (soil tile with soil tiles on the cardinal sides), and I think there were other failures further down the line. The diagnostic message didn't say what was wrong though, only what the terrain conditions were.

The configuration that passed through loading (but blew up on application)) had the roof tile specified to be above the starting tile and had to be listed as a joining tile in order to pass loading.

Procyonae commented 1 week ago

I think I'll be able to do this and #74479 I'm just a lil busy irl for the next few weeks, I'll try to take a look on Friday though

jbytheway commented 17 hours ago

A thing you might easily miss is that you have to specify the type of background terrain that the roof can replace. In this case you need to specify that it's air, or something similar to that. If you can't get it working and get some error message that seems like it might be relevant, then post it (and ping me) and I'll try to take a look.

PatrikLundell commented 8 hours ago

Thanks.

I've managed to work around it by using chunks to define both floor and roof, so I don't have to deal with the mutable stuff at all.