Exterior turf and shuttle fixes#3563
Merged
Merged
Conversation
| /turf/space/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE) | ||
| return ..(N, tell_universe, TRUE, keep_air) | ||
| /turf/space/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE, var/keep_air_below = FALSE, var/update_open_turfs_above = TRUE) | ||
| return ..(N, tell_universe, TRUE, keep_air, keep_air_below, update_open_turfs_above) |
Contributor
There was a problem hiding this comment.
This could just be return ..(force_lighting_update = FALSE) if I'm reading correctly.
Contributor
Author
There was a problem hiding this comment.
force_lighting_update = TRUE I think, but sounds good
Contributor
Author
There was a problem hiding this comment.
Actually, this seemed to not pass the arguments up correctly when I tried it.
Contributor
There was a problem hiding this comment.
Per Discord, it seems to work fine in Wrench, so unsure.
EDIT: turns out it drops all other arguments, rip.
MistakeNot4892
approved these changes
Jan 9, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of changes
Adjustments and fixes to ZAS and exterior/open turf logic. Also fixes some issues with shuttles while I'm in the area.
ZAS
inner_turfslistinner_turfsare now marked for update on zone merges. This fixes an issue where unsimulated connection edges were not retained post zone mergeExterior turf logic
update_external_atmos_participationshould now be called whenever the external status of a turf may change. Currently, this is whenset_outsideis called directly, when the area of the turf changes, or if a turf above changesairvariable will be updated with the exterior mix when changing from exterior to ZAS participatingOpen turf logic
open_turf_typevariable on the bottom most turf in a Z-stack will now determine the type of open turf created when a turf above it is destroyed in most situations. Theopen_turfvariable on the area will still take precedence if present.open_turf_typeto its newopen_turf_typeShuttle fixes
force_ceiling_on_initvariable which will overwrite any ceiling directly above it on Initialization. This is necessary because space turfs automatically create plating above the shuttle when they see non-dense spaces below them inLateInitialize, which then must be overwrittenWhy and what will this PR improve
Makes exterior and ZAS-participating turfs behave as expected. Holes in ceilings into space now act properly, and buildings on planets should not become magically pressurized.
The shuttle ceiling issue is mostly a pet peeve, since currently the Bee leaves behind an ugly plating outline above it when it takes off. I set
force_ceiling_on_initto beTRUEby default, so any shuttles which are mapped to have ceilings immediately above them need to be adjusted. This isn't a perfect solution. Ideally I would simply have space turfs not turn into plating if they are above a shuttle, but I can't think of a clean way to do this currently due to init orderThe open turf changes are mostly to make creation and removal of space turfs more consistent. Space turfs are set to have themselves as their
open_turf_type, so as long as there is space at the bottom, there will be space through the entire Z-stack. On the other hand, plating will always have/turf/simulated/openabove it, rather than space, unless it has been mapped otherwise. In the short future, we should be able to unify/turf/exterior/openand/turf/simulated/open, so this change shouldn't have much of an effect on multi-Z planets. In the event that a turf cannot find an open turf type from the bottom of its Z-stack or its area, it will still fall back on its ownopen_turf_type. Overall, I believe this is a better solution than having every turf deciding its own open turf type, as this can lead to inconsistencies in the Z-stack. Happy to discuss this change further though if more flexibility is needed or I'm missing an edge case.Targeting staging for this, since these are mostly fixes
Authorship
Myself. Thanks to Loaf for helpful discussions