Adds a new area flag, LOCAL_TELEPORT, given to virtual domains and deathmatch arenas. (#88756)

## About The Pull Request

Adds a new area flag, LOCAL_TELEPORT.

This flag allows teleports ONLY in the same area that the teleport is
used. This allows for short range hijinks without enabling long range
exploits, and thus it's given to DMs and domains.

Changed almost all area_flags & NO_TELEPORT checks to use
check_teleport() (as now areas may use local_teleport instead, and this
lets them check for multiple things instead)

Thus I re-added Void Phase to the heretic scribe in DM and shuffled some
stuff around

(realizing now i neglected to doublecheck if blade breaking tps you to
station. need to check just in case)
## Why It's Good For The Game

It sucks you can't use teleporting abilities in temporary areas, so this
is a good way to allow this to still happen without opening the way for
gamebreaking exploits.
## Changelog
🆑
code: Adds a new area flag, LOCAL_TELEPORT, given to virtual domains and
deathmatch arenas.
code: Re-added Void Phase to Heretic Scribes in Deathmatch's Ragnarok
map.
/🆑
This commit is contained in:
carlarctg
2025-01-06 10:55:58 -03:00
committed by GitHub
parent 6e924f3463
commit d7460f97d7
17 changed files with 38 additions and 50 deletions
@@ -25,7 +25,7 @@
var/list/info_shown = ..()
var/area/destination_area = get_area(imp_in)
if(isnull(destination_area) || (destination_area.area_flags & NOTELEPORT))
if(isnull(destination_area) || check_teleport_valid(imp_in, usr))
info_shown["Status"] = "Implant carrier teleport signal cannot be reached!"
else
var/turf/turf_to_check = get_turf(imp_in)