mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-05 23:11:52 +00:00
Nearsighted Camera Fix (#17124)
* Nearsighted Camera Fix * fluffy changes
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
return
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/proc/update_equipment_vision()
|
||||
/mob/living/carbon/human/proc/update_equipment_vision(var/machine_grants_equipment_vision = FALSE)
|
||||
flash_protection = 0
|
||||
equipment_tint_total = 0
|
||||
equipment_see_invis = 0
|
||||
@@ -62,7 +62,7 @@
|
||||
else
|
||||
binoc_check = TRUE
|
||||
|
||||
if(((!client || client.eye == src || client.eye == loc || client.eye == z_eye) && binoc_check) || HAS_TRAIT(src, TRAIT_COMPUTER_VIEW)) // !client is so the unit tests function
|
||||
if(((!client || client.eye == src || client.eye == loc || client.eye == z_eye) && binoc_check) || machine_grants_equipment_vision || HAS_TRAIT(src, TRAIT_COMPUTER_VIEW)) // !client is so the unit tests function
|
||||
if(istype(src.head, /obj/item/clothing/head))
|
||||
add_clothing_protection(head)
|
||||
if(istype(src.glasses, /obj/item/clothing/glasses))
|
||||
|
||||
@@ -1398,12 +1398,14 @@
|
||||
/mob/living/carbon/human/handle_vision()
|
||||
if(client)
|
||||
client.screen.Remove(global_hud.blurry, global_hud.druggy, global_hud.vimpaired, global_hud.darkMask, global_hud.nvg, global_hud.thermal, global_hud.meson, global_hud.science)
|
||||
var/machine_has_equipment_vision = FALSE
|
||||
if(machine)
|
||||
var/viewflags = machine.check_eye(src)
|
||||
if(viewflags < 0)
|
||||
reset_view(null, 0)
|
||||
else if(viewflags)
|
||||
set_sight(sight, viewflags)
|
||||
machine_has_equipment_vision = machine.grants_equipment_vision(src)
|
||||
else if(eyeobj)
|
||||
if(eyeobj.owner != src)
|
||||
reset_view(null)
|
||||
@@ -1418,7 +1420,7 @@
|
||||
remoteview_target = null
|
||||
reset_view(null, 0)
|
||||
|
||||
update_equipment_vision()
|
||||
update_equipment_vision(machine_has_equipment_vision)
|
||||
species.handle_vision(src)
|
||||
|
||||
/mob/living/carbon/human/handle_hearing()
|
||||
|
||||
@@ -355,8 +355,13 @@
|
||||
/obj/item/modular_computer/check_eye(var/mob/user)
|
||||
if(active_program)
|
||||
return active_program.check_eye(user)
|
||||
else
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
// Used by camera monitor program
|
||||
/obj/item/modular_computer/grants_equipment_vision(var/mob/user)
|
||||
if(active_program)
|
||||
return active_program.grants_equipment_vision(user)
|
||||
return ..()
|
||||
|
||||
/obj/item/modular_computer/get_cell()
|
||||
return battery_module ? battery_module.get_cell() : DEVICE_NO_CELL
|
||||
|
||||
@@ -236,6 +236,11 @@
|
||||
else
|
||||
return -1
|
||||
|
||||
/// Relays the call to nano module, if we have one
|
||||
/datum/computer_file/program/proc/grants_equipment_vision(var/mob/user)
|
||||
if(NM)
|
||||
return NM.grants_equipment_vision(user)
|
||||
|
||||
/datum/computer_file/program/proc/message_dead(var/message)
|
||||
for(var/mob/M in player_list)
|
||||
if(M.stat == DEAD && (M.client && M.client.prefs.toggles & CHAT_GHOSTEARS))
|
||||
|
||||
@@ -191,6 +191,18 @@
|
||||
reset_current()
|
||||
return viewflag
|
||||
|
||||
/datum/computer_file/program/camera_monitor/grants_equipment_vision(mob/user)
|
||||
var/obj/item/modular_computer/MC = user.machine
|
||||
if(istype(MC) && ui_host() == MC)
|
||||
if(!MC.working || user.blinded || user.stat)
|
||||
return FALSE
|
||||
if(!current_camera)
|
||||
return FALSE
|
||||
var/viewflag = current_camera.check_eye(user)
|
||||
if (viewflag < 0) //camera doesn't work
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
// ERT Variant of the program
|
||||
/datum/computer_file/program/camera_monitor/ert
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
/datum/nano_module/proc/check_eye(var/mob/user)
|
||||
return -1
|
||||
|
||||
/datum/nano_module/proc/grants_equipment_vision(var/mob/user)
|
||||
return FALSE
|
||||
|
||||
/datum/nano_module/proc/check_access(var/mob/user, var/access)
|
||||
if(!access)
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user