Reduces vision while in closet or trash pile and fixes closet teleporter camera update (#21154)

This started out as an update to reduce vision while inside closets.
While I was testing that, I noticed closet teleporters weren't updating
the camera properly, so I fixed that, as well as a bug with an early
`return` causing closets to have 0 density while a closet teleporter was
on cooldown.


Reduce vision inside locker:
<img width="1354" height="1345" alt="image"
src="https://github.com/user-attachments/assets/5f581031-51c0-4502-bddd-21045329c754"
/>
This commit is contained in:
AlaunusLux
2025-08-15 13:58:31 +00:00
committed by GitHub
parent 86d2f868ac
commit 4697e7b347
5 changed files with 75 additions and 3 deletions
@@ -308,8 +308,14 @@ Frequency:
var/obj/structure/closet/target_closet = linked_teleporter.attached_closet
user.forceMove(target_closet.opened ? get_turf(target_closet) : target_closet)
if(target_closet.opened)
if(user.client)
user.client.eye = user.client.mob
user.client.perspective = MOB_PERSPECTIVE
user.visible_message(SPAN_NOTICE("\The [user] steps out of the back of \the [target_closet]."), SPAN_NOTICE("You teleport into the linked closet, stepping out of it."))
user.set_fullscreen(FALSE, "closet_impaired", /atom/movable/screen/fullscreen/closet_impaired)
else
if(user.client)
user.client.eye = target_closet
target_closet.visible_message(SPAN_WARNING("\The [target_closet] rattles."))
to_chat(user, SPAN_NOTICE("You teleport into the target closet, bumping into the closed door."))
target_closet.shake_animation()