[MIRROR] borg privacy in droms (#7504)

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: CHOMPStation2 <chompsation2@gmail.com>
This commit is contained in:
CHOMPStation2
2024-01-04 15:18:28 -07:00
committed by GitHub
parent 1d4d9aef4b
commit 88ef31d208
6 changed files with 53 additions and 6 deletions

View File

@@ -2,7 +2,8 @@
var/enter_message var/enter_message
var/exit_message var/exit_message
var/limit_mob_size = TRUE //If mob size is limited in the area. var/limit_mob_size = TRUE //If mob size is limited in the area.
var/block_suit_sensors = FALSE //If mob size is limited in the area. var/block_suit_sensors = FALSE //If suit sensors are blocked in the area.
var/block_tracking = FALSE //If camera tracking is blocked in the area.
var/turf/ceiling_type var/turf/ceiling_type
// Size of the area in open turfs, only calculated for indoors areas. // Size of the area in open turfs, only calculated for indoors areas.

View File

@@ -228,7 +228,9 @@
var/obj/item/weapon/card/id/id = GetIdCard() var/obj/item/weapon/card/id/id = GetIdCard()
if(id && id.prevent_tracking()) if(id && id.prevent_tracking())
return TRACKING_TERMINATE return TRACKING_TERMINATE
if(InvalidPlayerTurf(get_turf(src))) var/turf/pos = get_turf(src)
var/area/B = pos?.loc // No cam tracking in dorms!
if(InvalidPlayerTurf(pos) || B.block_tracking)
return TRACKING_TERMINATE return TRACKING_TERMINATE
if(invisibility >= INVISIBILITY_LEVEL_ONE) //cloaked if(invisibility >= INVISIBILITY_LEVEL_ONE) //cloaked
return TRACKING_TERMINATE return TRACKING_TERMINATE

View File

@@ -80,8 +80,10 @@
/datum/tgui_module/camera/tgui_interact(mob/user, datum/tgui/ui = null) /datum/tgui_module/camera/tgui_interact(mob/user, datum/tgui/ui = null)
// Update UI // Update UI
ui = SStgui.try_update_ui(user, src, ui) ui = SStgui.try_update_ui(user, src, ui)
var/turf/newturf = get_turf(active_camera)
var/area/B = newturf?.loc // No cam tracking in dorms!
// Show static if can't use the camera // Show static if can't use the camera
if(!active_camera?.can_use()) if(!active_camera?.can_use() || B.block_tracking)
show_camera_static() show_camera_static()
if(!ui) if(!ui)
var/user_ref = REF(user) var/user_ref = REF(user)
@@ -175,15 +177,16 @@
. = TRUE . = TRUE
/datum/tgui_module/camera/proc/update_active_camera_screen() /datum/tgui_module/camera/proc/update_active_camera_screen()
var/turf/newturf = get_turf(active_camera)
var/area/B = newturf?.loc // No cam tracking in dorms!
// Show static if can't use the camera // Show static if can't use the camera
if(!active_camera?.can_use()) if(!active_camera?.can_use() || B.block_tracking)
show_camera_static() show_camera_static()
return TRUE return TRUE
// If we're not forcing an update for some reason and the cameras are in the same location, // If we're not forcing an update for some reason and the cameras are in the same location,
// we don't need to update anything. // we don't need to update anything.
// Most security cameras will end here as they're not moving. // Most security cameras will end here as they're not moving.
var/turf/newturf = get_turf(active_camera)
if(newturf == last_camera_turf) if(newturf == last_camera_turf)
return return

View File

@@ -441,6 +441,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
forbid_events = TRUE forbid_events = TRUE
forbid_singulo = TRUE forbid_singulo = TRUE

View File

@@ -129,6 +129,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
forbid_events = TRUE forbid_events = TRUE
forbid_singulo = TRUE forbid_singulo = TRUE
@@ -286,6 +287,7 @@
flags = RAD_SHIELDED| BLUE_SHIELDED |AREA_FLAG_IS_NOT_PERSISTENT flags = RAD_SHIELDED| BLUE_SHIELDED |AREA_FLAG_IS_NOT_PERSISTENT
soundproofed = TRUE soundproofed = TRUE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
forbid_events = TRUE forbid_events = TRUE
/area/stellardelight/deck3/portdock /area/stellardelight/deck3/portdock
@@ -305,4 +307,3 @@
name = "Deck Two Exterior" name = "Deck Two Exterior"
/area/stellardelight/deck3/exterior /area/stellardelight/deck3/exterior
name = "Deck Three Exterior" name = "Deck Three Exterior"

View File

@@ -986,6 +986,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = = TRUE
/area/crew_quarters/sleep/maintDorm2 /area/crew_quarters/sleep/maintDorm2
name = "\improper Construction Dorm 2" name = "\improper Construction Dorm 2"
@@ -994,6 +995,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = = TRUE
/area/crew_quarters/sleep/maintDorm3 /area/crew_quarters/sleep/maintDorm3
name = "\improper Construction Dorm 3" name = "\improper Construction Dorm 3"
@@ -1002,6 +1004,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = = TRUE
/area/crew_quarters/sleep/maintDorm4 /area/crew_quarters/sleep/maintDorm4
name = "\improper Construction Dorm 4" name = "\improper Construction Dorm 4"
@@ -1010,138 +1013,161 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_1 /area/crew_quarters/sleep/vistor_room_1
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_2 /area/crew_quarters/sleep/vistor_room_2
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_3 /area/crew_quarters/sleep/vistor_room_3
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_4 /area/crew_quarters/sleep/vistor_room_4
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_5 /area/crew_quarters/sleep/vistor_room_5
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_6 /area/crew_quarters/sleep/vistor_room_6
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_7 /area/crew_quarters/sleep/vistor_room_7
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_8 /area/crew_quarters/sleep/vistor_room_8
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_9 /area/crew_quarters/sleep/vistor_room_9
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_10 /area/crew_quarters/sleep/vistor_room_10
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_11 /area/crew_quarters/sleep/vistor_room_11
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/vistor_room_12 /area/crew_quarters/sleep/vistor_room_12
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_1 /area/crew_quarters/sleep/Dorm_1
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_2 /area/crew_quarters/sleep/Dorm_2
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_3 /area/crew_quarters/sleep/Dorm_3
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_4 /area/crew_quarters/sleep/Dorm_4
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_5 /area/crew_quarters/sleep/Dorm_5
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_6 /area/crew_quarters/sleep/Dorm_6
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_7 /area/crew_quarters/sleep/Dorm_7
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_8 /area/crew_quarters/sleep/Dorm_8
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_9 /area/crew_quarters/sleep/Dorm_9
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_10 /area/crew_quarters/sleep/Dorm_10
flags = RAD_SHIELDED | BLUE_SHIELDED flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/Dorm_1/holo /area/crew_quarters/sleep/Dorm_1/holo
name = "\improper Dorm 1 Holodeck" name = "\improper Dorm 1 Holodeck"
@@ -1167,6 +1193,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/spacedorm2 /area/crew_quarters/sleep/spacedorm2
name = "\improper Visitor Lodging 2" name = "\improper Visitor Lodging 2"
@@ -1176,6 +1203,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/spacedorm3 /area/crew_quarters/sleep/spacedorm3
name = "\improper Visitor Lodging 3" name = "\improper Visitor Lodging 3"
@@ -1185,6 +1213,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/crew_quarters/sleep/spacedorm4 /area/crew_quarters/sleep/spacedorm4
name = "\improper Visitor Lodging 4" name = "\improper Visitor Lodging 4"
@@ -1194,6 +1223,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_basic /area/holodeck/holodorm/source_basic
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1201,6 +1231,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_desert /area/holodeck/holodorm/source_desert
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1208,6 +1239,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_seating /area/holodeck/holodorm/source_seating
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1215,6 +1247,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_beach /area/holodeck/holodorm/source_beach
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1222,6 +1255,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_garden /area/holodeck/holodorm/source_garden
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1229,6 +1263,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_boxing /area/holodeck/holodorm/source_boxing
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1236,6 +1271,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_snow /area/holodeck/holodorm/source_snow
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1243,6 +1279,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_space /area/holodeck/holodorm/source_space
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1250,6 +1287,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/holodeck/holodorm/source_off /area/holodeck/holodorm/source_off
name = "\improper Holodeck Source" name = "\improper Holodeck Source"
@@ -1257,6 +1295,7 @@
soundproofed = TRUE soundproofed = TRUE
limit_mob_size = FALSE limit_mob_size = FALSE
block_suit_sensors = TRUE block_suit_sensors = TRUE
block_tracking = TRUE
/area/ai_core_foyer /area/ai_core_foyer
name = "\improper AI Core Access" name = "\improper AI Core Access"