aq33 / tgstation

polski fork beestation uzywany na Aquila Station 13
https://discord.gg/wQFUt5R
GNU Affero General Public License v3.0
9 stars 35 forks source link

[MIRROR] Virtual Z-Levels #1047

Closed aquila33-bot closed 3 years ago

aquila33-bot commented 3 years ago

Original PR: https://github.com/BeeStation/BeeStation-Hornet/pull/4202

About The Pull Request

Implements a system for virtual z-levels. This allows for different areas on the same z-level to be treated as if they are on different z-level. Applies this system to shuttles in transit. This means that z-level specific things such as communications, crew sensors etc. will be treated as being on different z-levels if the target is on a different shuttle to the origin while the shuttle is on the transit level.

Shuttles together in transit: image

Suit sensors on 1 shuttle on picks up sensors on that virtual z-level. image

Communications relay only affect the shuttle they are placed on: image

image

Additionally provides an easy use system for preventing exploits that allow for teleporting onto other shuttles in the transit z-level. Wormhole generators on mechs will no longer be able to create portals onto other shuttles.

Prevents explosions from affecting nearby shuttles on the transit level.

Why It's Good For The Game

Prevents some trans shuttle teleportation exploits, adds in an invaluable system for downstream implementation on servers such as NSV and makes each shuttle its own unique z-level making them not all feel like they are travelling together.

Changelog

:cl: add: Virtual z-levels tweak: Each shuttle will be treated as a different z-level, meaning things that affect a z-level (Comms, suit sensors, AI upload, explosions, heretic tracking etc.) will no longer be able to track different shuttles while they are in transit. /:cl:

github-actions[bot] commented 3 years ago

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being closed by a maintainer if it is not updated or reviews are not addressed. If your PR is closed as stale, feel free to open a new one after dealing with the issues. This may also be an indication that the maintainers do not have interest in this change, you can try to convince them otherwise, or persist in the doomed world you have created.