Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(probably) actually fixes outpost baseturfs, removes holodecks #2598

Merged
merged 5 commits into from
Jan 14, 2024

Conversation

tmtmtl30
Copy link
Contributor

About The Pull Request

changes the behavior downstream of /datum/map_template's should_place_on_top (the particular proc in question is build_coordinate, and its placeOnTop variable) so that, when false, the baseturfs of the resulting turf are set to the baseturfs of the type being placed, instead of the previous behavior, which preserved the old baseturfs entirely.

this odd behavior seemed to be specialized for holodecks, and i mistakenly assumed it'd work for outposts given the variable name and an experiment on a testing map. the behavior has been changed to alter the baseturfs according to the type (so that placing a template with should_place_on_top = FALSE results in the same baseturfs list as you'd get from a changeturf(type, initial(type.baseturfs) call), so that outposts should now place with the correct baseturfs. this enables planetary outposts with a special baseturf defined in a ztrait; before, they would be stuck with a space turf hiding in the baseturf list, making their baseturfs basically always broken.

in order to accommodate this change without breaking holodeck code, holodeck code has been largely removed, with a few exceptions where it'd be a slight pain to remove certain turfs / objects that were originally used in holodecks but which had been since used in other maps. there's also a bit of admin functionality upstream of some holodeck procs that i didn't want to touch

Why It's Good For The Game

outposts spacing themselves when people pry up tiles is bad, and a fix like this is necessary for planetary outposts to ever have the right baseturfs.

Changelog

🆑
del: Holodeck code has been removed.
fix: Outposts should end up erroneously spaced less frequently.
/:cl:

@tmtmtl30 tmtmtl30 requested a review from a team as a code owner December 18, 2023 06:40
@github-actions github-actions bot added Map Change Tile placing is hard. Thank you for your service. DME Edit Code change Watch something violently break. labels Dec 18, 2023
@tmtmtl30 tmtmtl30 changed the title (probably) actually fixes outpost baseturfs, removes holdecks (probably) actually fixes outpost baseturfs, removes holodecks Dec 18, 2023
@github-actions github-actions bot added the Merge Conflict Use Git Hooks, you're welcome. label Dec 28, 2023
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the Merge Conflict Use Git Hooks, you're welcome. label Jan 6, 2024
Copy link
Member

@MarkSuckerberg MarkSuckerberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems legit

@MarkSuckerberg MarkSuckerberg added this pull request to the merge queue Jan 14, 2024
Merged via the queue into shiptest-ss13:master with commit 226734e Jan 14, 2024
14 checks passed
MysticalFaceLesS pushed a commit to CeladonSS13/Shiptest that referenced this pull request Jan 14, 2024
…est-ss13#2598)

## About The Pull Request

changes the behavior downstream of /datum/map_template's
should_place_on_top (the particular proc in question is
build_coordinate, and its placeOnTop variable) so that, when false, the
baseturfs of the resulting turf are set to the baseturfs of the type
being placed, instead of the previous behavior, which preserved the old
baseturfs entirely.

this odd behavior seemed to be specialized for holodecks, and i
mistakenly assumed it'd work for outposts given the variable name and an
experiment on a testing map. the behavior has been changed to alter the
baseturfs according to the type (so that placing a template with
should_place_on_top = FALSE results in the same baseturfs list as you'd
get from a changeturf(type, initial(type.baseturfs) call), so that
outposts should now place with the correct baseturfs. this enables
planetary outposts with a special baseturf defined in a ztrait; before,
they would be stuck with a space turf hiding in the baseturf list,
making their baseturfs basically always broken.

in order to accommodate this change without breaking holodeck code,
holodeck code has been largely removed, with a few exceptions where it'd
be a slight pain to remove certain turfs / objects that were originally
used in holodecks but which had been since used in other maps. there's
also a bit of admin functionality upstream of some holodeck procs that i
didn't want to touch

## Why It's Good For The Game

outposts spacing themselves when people pry up tiles is bad, and a fix
like this is necessary for planetary outposts to ever have the right
baseturfs.

## Changelog

:cl:
del: Holodeck code has been removed.
fix: Outposts should end up erroneously spaced less frequently.
/:cl:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code change Watch something violently break. DME Edit Map Change Tile placing is hard. Thank you for your service.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants