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

Teleportation Cleanup & Cult Teleports Respecting Anti-Magic #11466

Merged
merged 8 commits into from
Sep 28, 2024

Conversation

mystery3525
Copy link
Contributor

@mystery3525 mystery3525 commented Sep 10, 2024

About The Pull Request

  • Creates a new check_teleport() proc for when we want to pre-check teleports used primarily with hand-tele and teleporter
    • Will also be used for a future Lavaland Gateway teleporting PR
  • Renames forced argument to ignore_area_restrictions as it was a misnomer.
  • Makes Clockcult teleports actually respect cult blessing and holywater, just as a precaution.

Why It's Good For The Game

Testing Photographs and Procedure

Screenshots&Videos

Blocked by a holymelon at the destination blessing the tile
dreamseeker_eRtFNbafNf

Blocked teleport by being blessed
dreamseeker_rNIeV3fx6a

Blocked teleport due to tile being blessed
dreamseeker_bXinGQDDfk

Wizard can teleport with full hardsuit
image

Changelog

🆑
code: Add check_teleport()
fix: Added more cult-related checks for teleports. Cults can no longer teleport holy items, etc.
fix: Clockcult teleport now respects blessing internally if it didn't already check
/:cl:

Comment on lines 274 to 276
// The nullrod by itself does not block cult/wizard teleports
/obj/item/nullrod/intercept_teleport(channel, turf/origin, turf/destination)
return
Copy link
Member

Choose a reason for hiding this comment

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

This is incredibly hacky, not sending the signal at all because its a nullrod. If you want certain components to block teleports, then it should be a flag on the component itself and should be applied fully. You need to be careful that the wizard hardsuit with magic protection isn't going to block the wizard from teleporting to the station.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So as it turns out, I removed the INTERCEPT_TELEPORT for /datum/component/anti_magic, and just used .anti_magic_check() instead with self = TRUE, which allows us to exclude stuff on our person (like gem encrusted hardsuit) but include stuff like holymelons.

@Rukofamicom Rukofamicom added this pull request to the merge queue Sep 28, 2024
Merged via the queue into BeeStation:master with commit bdb1698 Sep 28, 2024
21 checks passed
@mystery3525 mystery3525 deleted the teleport-cleanup branch September 28, 2024 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants