Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
None
Purpose of change
Add construction definitions for roofs. This allows for construction of roofs over things that currently don't get magic roofs (such as pony and glass walls) and allows for camp construction recipes to determine a construction cost for constructions specifying roofs (the end up as 0 otherwise), once 3D support gets merged.
Edit: Needed to roll the testing dice and decided to trigger that by adding construction of chimney and vent vane.
Describe the solution
Edit:
Describe alternatives you've considered
Testing
Edit:
Additional context
The starting point is in a sorry state. Many construction "recipes" use very little resources, and in many cases do not seem to deduct anything for their magic roofs (while some definitely do). I haven't tried to delve into correcting this because I don't feel qualified at the least, don't like trying to deal with construction materials more than absolutely necessary, and it would constitute discouraged scope creep.
The comparison point is a room with the roof if available. Otherwise whatever conjures the roof is used.
Anyway, here's a summary of what was done:
I have assumed the construction "recipe" names aren't stored in in-process constructions. If they are, there's a need for some kind of migration handling.
Edit: Since I needed to roll the testing dice again I decided to add chimney and vent vane furniture now rather than in a later PR. The intended purpose is to add these onto the roof of base camp constructions that place smoke generating equipment (fire place, stove, forge, ...).
Also note that since these aren't actually useful in the game itself, the construction pre_special is set to allow placement on roofs, rather than restrict placement in locations they'd make little sense. I don't actually expect them to be constructed by players directly, but only as part of camp constructions, but construction entries provide time, materials, etc. requirements for these to draw on.