[MIRROR] Rx AR Hud and slight loadout cleanup (#10854)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-05-09 08:07:09 -07:00
committed by GitHub
parent 24721a5ec0
commit cc58ddc278
7 changed files with 459 additions and 31 deletions

View File

@@ -164,7 +164,7 @@
origin_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 6)
toggleable = 1
vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS
prescription = 1 // So two versions of these aren't needed.
prescription = TRUE // So two versions of these aren't needed.
/datum/technomancer/equipment/med_hud
name = "Medical HUD"

View File

@@ -592,7 +592,7 @@ var/global/datum/controller/occupations/job_master
var/equipped = H.equip_to_slot_or_del(new /obj/item/clothing/glasses/regular(H), slot_glasses)
if(equipped != 1)
var/obj/item/clothing/glasses/G = H.glasses
G.prescription = 1
G.prescription = TRUE
BITSET(H.hud_updateflag, ID_HUD)
BITSET(H.hud_updateflag, IMPLOYAL_HUD)

View File

@@ -106,12 +106,17 @@
/datum/gear/eyes/janitor
display_name = "Contaminant HUD"
description = "A heads-up display that scans the environment for contaminations. Can be taken with or without prescription lenses."
path = /obj/item/clothing/glasses/hud/janitor
allowed_roles = list(JOB_JANITOR)
/datum/gear/eyes/janitor/prescriptionjan
display_name = "Contaminant HUD, prescription"
path = /obj/item/clothing/glasses/hud/janitor/prescription
/datum/gear/eyes/janitor/New()
..()
var/list/selector_uniforms = list(
"standard Contaminant HUD"=/obj/item/clothing/glasses/hud/health,
"prescription Contaminant HUD"=/obj/item/clothing/glasses/hud/janitor/prescription
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/eyes/meson
display_name = "Optical Meson Scanners selection"
@@ -183,6 +188,14 @@
display_name = "AR glasses"
path = /obj/item/clothing/glasses/omnihud
/datum/gear/eyes/arglasses/New()
..()
var/list/selector_uniforms = list(
"standard AR glasses"=/obj/item/clothing/glasses/omnihud,
"prescription AR glasses"=/obj/item/clothing/glasses/omnihud/prescription,
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/eyes/arglasses/visor
display_name = "AR visor"
path = /obj/item/clothing/glasses/omnihud/visor
@@ -190,36 +203,73 @@
/datum/gear/eyes/arglasses/visor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/eyes/arglassespres
display_name = "AR glasses, prescription"
path = /obj/item/clothing/glasses/omnihud/prescription
/datum/gear/eyes/arglasses/sec
display_name = "AR-Security glasses"
path = /obj/item/clothing/glasses/omnihud/sec
allowed_roles = list(JOB_SECURITY_OFFICER,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_DETECTIVE)
/datum/gear/eyes/arglasses/sec/New()
..()
var/list/selector_uniforms = list(
"standard AR-Security glasses"=/obj/item/clothing/glasses/omnihud/sec,
"prescription AR-Security glasses"=/obj/item/clothing/glasses/omnihud/sec/prescription
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/eyes/arglasses/sci
display_name = "AR-Research glasses"
path = /obj/item/clothing/glasses/omnihud/rnd
allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST,JOB_XENOBIOLOGIST,JOB_XENOBOTANIST,JOB_ROBOTICIST)
/datum/gear/eyes/arglasses/sci/New()
..()
var/list/selector_uniforms = list(
"standard AR-Research glasses"=/obj/item/clothing/glasses/omnihud/rnd,
"prescription AR-Research glasses"=/obj/item/clothing/glasses/omnihud/rnd/prescription
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/eyes/arglasses/eng
display_name = "AR-Engineering glasses"
path = /obj/item/clothing/glasses/omnihud/eng
allowed_roles = list(JOB_ENGINEER,JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN)
/datum/gear/eyes/arglasses/eng/New()
..()
var/list/selector_uniforms = list(
"standard AR-Engineering glasses"=/obj/item/clothing/glasses/omnihud/eng,
"prescription AR-Engineering glasses"=/obj/item/clothing/glasses/omnihud/eng/prescription
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/eyes/arglasses/med
display_name = "AR-Medical glasses"
path = /obj/item/clothing/glasses/omnihud/med
allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST,JOB_FIELD_MEDIC) //CHOMP keep explo
/datum/gear/eyes/arglasses/med/New()
..()
var/list/selector_uniforms = list(
"standard AR-Medical glasses"=/obj/item/clothing/glasses/omnihud/med,
"prescription AR-Medical glasses"=/obj/item/clothing/glasses/omnihud/med/prescription
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/eyes/arglasses/all
display_name = "AR-Command glasses"
path = /obj/item/clothing/glasses/omnihud/all
cost = 2
allowed_roles = list(JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL)
/datum/gear/eyes/arglasses/all/New()
..()
var/list/selector_uniforms = list(
"standard AR-Command glasses"=/obj/item/clothing/glasses/omnihud/all,
"prescription AR-Command glasses"=/obj/item/clothing/glasses/omnihud/all/prescription
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/eyes/spiffygogs
display_name = "slick orange goggles"
path = /obj/item/clothing/glasses/fluff/spiffygogs

View File

@@ -20,7 +20,7 @@ BLIND // can't see anything
var/vision_flags = 0
var/darkness_view = 0//Base human is 2
var/see_invisible = -1
var/prescription = 0
var/prescription = FALSE
var/toggleable = 0
var/off_state = "degoggles"
var/active = 1
@@ -104,7 +104,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/meson/prescription
name = "prescription mesons"
desc = "Optical Meson Scanner with prescription lenses."
prescription = 1
prescription = TRUE
/obj/item/clothing/glasses/meson/aviator
name = "engineering aviators"
@@ -117,7 +117,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/meson/aviator/prescription
name = "prescription engineering aviators"
desc = "Engineering Aviators with prescription lenses."
prescription = 1
prescription = TRUE
/obj/item/clothing/glasses/hud/health/aviator
name = "medical HUD aviators"
@@ -131,7 +131,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/hud/health/aviator/prescription
name = "prescription medical HUD aviators"
desc = "Modified aviator glasses with a toggled health HUD. Comes with bonus prescription lenses."
prescription = 6
prescription = TRUE
/obj/item/clothing/glasses/science
name = "Science Goggles"
@@ -248,7 +248,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/material/prescription
name = "prescription optical material scanner"
prescription = 1
prescription = TRUE
/obj/item/clothing/glasses/graviton
name = "graviton goggles"
@@ -273,7 +273,7 @@ BLIND // can't see anything
desc = "Made by Nerd. Co."
icon_state = "glasses"
item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses")
prescription = 1
prescription = TRUE
body_parts_covered = 0
/obj/item/clothing/glasses/regular/scanners
@@ -315,19 +315,17 @@ BLIND // can't see anything
name = "rimless glasses"
desc = "Sleek modern glasses with a single sculpted lens."
icon_state = "glasses_rimless"
prescription = 0
/obj/item/clothing/glasses/regular/thin
name = "prescription thin-rimmed glasses"
desc = "Glasses with frames are so last century."
icon_state = "glasses_thin"
prescription = 1
prescription = TRUE
/obj/item/clothing/glasses/thin
name = "thin-rimmed glasses"
desc = "Glasses with frames are so last century."
icon_state = "glasses_thin"
prescription = 0
/obj/item/clothing/glasses/sunglasses
@@ -451,7 +449,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/sunglasses/prescription
name = "prescription sunglasses"
prescription = 1
prescription = TRUE
/obj/item/clothing/glasses/sunglasses/big
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks many flashes."
@@ -517,7 +515,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/sunglasses/sechud/aviator/prescription
name = "prescription security HUD aviators"
desc = "Modified aviator glasses that can be switch between HUD and flash protection modes. Comes with bonus prescription lenses."
prescription = 6
prescription = TRUE
/obj/item/clothing/glasses/sunglasses/medhud
name = "\improper HUD sunglasses"

View File

@@ -119,7 +119,7 @@
icon_override = 'icons/inventory/eyes/mob_vr.dmi'
icon_state = "tajblind"
item_state = "tajblind"
prescription = 1
prescription = TRUE
body_parts_covered = EYES
glasses_layer_above = TRUE //ChompEDIT
sprite_sheets = list(SPECIES_VOX = 'icons/inventory/eyes/mob_vox.dmi')
@@ -141,7 +141,7 @@
icon_override = 'icons/inventory/eyes/mob_vr.dmi'
icon_state = "tajblind_sec"
item_state = "tajblind_sec"
prescription = 1
prescription = TRUE
body_parts_covered = EYES
sprite_sheets = list(SPECIES_VOX = 'icons/inventory/eyes/mob_vox.dmi')

View File

@@ -13,9 +13,9 @@
enables_planes = list(VIS_CH_STATUS,VIS_CH_HEALTH)
/obj/item/clothing/glasses/hud/health/prescription
name = "Prescription Health Scanner HUD"
desc = "A medical HUD integrated with a set of prescription glasses"
prescription = 1
desc = "A medical HUD integrated with a set of prescription glasses. \
These have been equipped with prescription lenses."
prescription = TRUE
icon_state = "healthhudpresc"
item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses")
@@ -28,9 +28,9 @@
enables_planes = list(VIS_CH_ID,VIS_CH_WANTED,VIS_CH_IMPTRACK,VIS_CH_IMPLOYAL,VIS_CH_IMPCHEM)
/obj/item/clothing/glasses/hud/security/prescription
name = "Prescription Security HUD"
desc = "A security HUD integrated with a set of prescription glasses"
prescription = 1
desc = "A security HUD integrated with a set of prescription glasses. \
These have been equipped with prescription lenses."
prescription = TRUE
icon_state = "sechudpresc"
item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses")
@@ -51,8 +51,389 @@
enables_planes = list(VIS_JANHUD)
/obj/item/clothing/glasses/hud/janitor/prescription
name = "Prescription Contaminant Detector HUD"
desc = "A heads-up display that scans the environment for contaminations."
prescription = 1
desc = "A heads-up display that scans the environment for contaminations. \
These have been equipped with prescription lenses."
prescription = TRUE
icon_state = "janhudpresc"
item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses")
//Omnihuds
/obj/item/clothing/glasses/omnihud
name = "\improper AR glasses"
desc = "The ARG-62 AR Glasses are capable of displaying information on individuals. \
Commonly used to allow non-augmented crew to interact with virtual interfaces. \
<br>They are also fitted with toggleable cosmetic electrochromic lenses. \
The lenses will not protect against sudden bright flashes or welding."
origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 3)
var/obj/item/clothing/glasses/hud/omni/hud = null
var/mode = "civ"
icon_state = "glasses"
var/datum/tgui_module/tgarscreen
var/tgarscreen_path
var/flash_prot = 0 //0 for none, 1 for flash weapon protection, 2 for welder protection
enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_AUGMENTED)
plane_slots = list(slot_glasses)
var/ar_toggled = TRUE //Used for toggle_ar_planes() verb
/obj/item/clothing/glasses/omnihud/Initialize(mapload)
. = ..()
if(tgarscreen_path)
tgarscreen = new tgarscreen_path(src)
/obj/item/clothing/glasses/omnihud/Destroy()
QDEL_NULL(tgarscreen)
. = ..()
/obj/item/clothing/glasses/omnihud/dropped(mob/user)
if(tgarscreen)
SStgui.close_uis(src)
..()
/obj/item/clothing/glasses/omnihud/examine()
. = ..()
if(ar_toggled)
. += "\n " + span_notice("The HUD indicator reads ON.")
else
. += "\n " + span_notice("The HUD indicator reads OFF.")
/obj/item/clothing/glasses/omnihud/emp_act(var/severity)
if(tgarscreen)
SStgui.close_uis(src)
var/disconnect_tgar = tgarscreen
tgarscreen = null
spawn(20 SECONDS)
tgarscreen = disconnect_tgar
//extra fun for non-sci variants; a small chance flip the state to the dumb 3d glasses when EMP'd
if(icon_state == "glasses" || icon_state == "sun")
if(prob(10))
icon_state = "3d"
if(ishuman(loc))
to_chat(loc, span_warning("The lenses of your [src.name] malfunction!"))
..()
/obj/item/clothing/glasses/omnihud/proc/flashed()
if(flash_prot && ishuman(loc))
to_chat(loc, span_warning("Your [src.name] darken to try and protect your eyes!"))
/obj/item/clothing/glasses/omnihud/prescribe(var/mob/user)
prescription = !prescription
playsound(src,'sound/items/screwdriver.ogg', 50, 1)
if(prescription)
user.visible_message("[user] uploads new prescription data to the [src.name] and resets the lenses.")
name = "[initial(name)] (pr)" //change the name *after* the text so the message above is accurate
icon_state = "[initial(icon_state)]" //reset the icon state just to be safe
else
user.visible_message("[user] deletes the prescription data on the [src.name] and resets the lenses.")
name = "[initial(name)]"
icon_state = "[initial(icon_state)]"
/obj/item/clothing/glasses/omnihud/attack_self(mob/user)
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
if(!H.glasses || !(H.glasses == src))
to_chat(user, span_warning("You must be wearing the [src] to see the display."))
else
if(!ar_interact(H))
to_chat(user, span_warning("The [src] does not have any kind of special display."))
//cosmetic shading, doesn't enhance eye protection
/obj/item/clothing/glasses/omnihud/verb/chromatize()
set name = "Toggle AR Glasses Shading"
set desc = "Toggle the cosmetic electrochromatic shading of your AR glasses."
set category = "Object"
set src in usr
if(!usr.canmove || usr.stat || usr.restrained())
return
if(icon_state == "3d")
to_chat(usr, "You reset the electrochromic lenses of \the [src] back to normal.")
if(prescription)
name = "[initial(name)] (pr)"
else
name = "[initial(name)]"
icon_state = "[initial(icon_state)]"
else if(prescription)
if(icon_state == "glasses")
to_chat(usr, "You darken the electrochromic lenses of \the [src] to one-way transparency.")
name = "[initial(name)] (shaded, pr)"
flags_inv |= HIDEEYES
icon_state = "sun"
else if(icon_state == "sun")
to_chat(usr, "You restore the electrochromic lenses of \the [src] to standard two-way transparency.")
name = "[initial(name)] (pr)"
flags_inv &= ~HIDEEYES
icon_state = "glasses"
else
to_chat(usr, "The [src] don't seem to support this functionality.")
else if(!prescription)
if(icon_state == "glasses")
to_chat(usr, "You darken the electrochromic lenses of \the [src] to one-way transparency.")
name = "[initial(name)] (shaded)"
flags_inv |= HIDEEYES
icon_state = "sun"
else if(icon_state == "sun")
to_chat(usr, "You restore the electrochromic lenses of \the [src] to standard two-way transparency.")
name = "[initial(name)]"
flags_inv &= ~HIDEEYES
icon_state = "glasses"
else
to_chat(usr, "The [src] don't seem to support this functionality.")
update_clothing_icon()
/obj/item/clothing/glasses/omnihud/verb/toggle_ar_planes()
set name = "Toggle AR Heads-Up Display"
set desc = "Toggles the job icon and other non-manually requested displays. Does not disable Crew monitor and similar."
set category = "Object"
set src in usr
//We do not check if user can move or not, since this system is inspired to help see chat bubbles during scenes primarily.
//Preventing turning off the HUD could get in the way of scene flow.
if(ar_toggled)
away_planes = enables_planes
enables_planes = null
to_chat(usr, span_notice("You disabled the Augmented Reality HUD of your [src.name]."))
else
enables_planes = away_planes
away_planes = null
to_chat(usr, span_notice("You enabled the Augmented Reality HUD of your [src.name]."))
ar_toggled = !ar_toggled
usr.update_mob_action_buttons()
usr.recalculate_vis()
/obj/item/clothing/glasses/omnihud/proc/ar_interact(var/mob/living/carbon/human/user)
return 0 //The base models do nothing.
/obj/item/clothing/glasses/omnihud/visor
name = "AR visor"
desc = "The VZR-AR are a product based upon the classic AR Glasses, just more fashionable."
icon_override = 'icons/inventory/eyes/mob_vr.dmi'
icon = 'icons/inventory/eyes/mob_vr.dmi'
icon_state = "visor_CIV"
item_state = "visor_CIV"
/obj/item/clothing/glasses/omnihud/med
name = "\improper AR-M glasses"
desc = "The ARG-62-M AR Glasses are capable of displaying information on individuals. \
These have been upgraded with medical records access and virus database integration. \
They can also read data from active suit sensors using the crew monitoring system."
mode = "med"
actions_types = list(/datum/action/item_action/ar_console_crew)
tgarscreen_path = /datum/tgui_module/crew_monitor/glasses
enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_STATUS_R,VIS_CH_BACKUP,VIS_AUGMENTED)
/obj/item/clothing/glasses/omnihud/med/ar_interact(var/mob/living/carbon/human/user)
if(tgarscreen)
tgarscreen.tgui_interact(user)
return 1
/obj/item/clothing/glasses/omnihud/sec
name = "\improper AR-S glasses"
desc = "The ARG-62-S AR Glasses are capable of displaying information on individuals. \
These have been upgraded with security records integration and flash protection. \
They also have access to security alerts such as camera and motion sensor alarms."
mode = "sec"
flash_protection = FLASH_PROTECTION_MODERATE //weld protection is a little too widespread
actions_types = list(/datum/action/item_action/ar_console_security_alerts)
tgarscreen_path = /datum/tgui_module/alarm_monitor/security/glasses
enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_WANTED,VIS_AUGMENTED)
/obj/item/clothing/glasses/omnihud/sec/ar_interact(var/mob/living/carbon/human/user)
if(tgarscreen)
tgarscreen.tgui_interact(user)
return 1
/obj/item/clothing/glasses/omnihud/eng
name = "\improper AR-E glasses"
desc = "The ARG-62-E AR Glasses are capable of displaying information on individuals. \
These have been upgraded with advanced electrochromic lenses to protect your eyes during welding, \
and can also display a list of atmospheric, fire, and power alarms."
mode = "eng"
flash_protection = FLASH_PROTECTION_MAJOR
actions_types = list(/datum/action/item_action/ar_console_station_alerts)
tgarscreen_path = /datum/tgui_module/alarm_monitor/engineering/glasses
/obj/item/clothing/glasses/omnihud/eng/ar_interact(var/mob/living/carbon/human/user)
if(tgarscreen)
tgarscreen.tgui_interact(user)
return 1
/obj/item/clothing/glasses/omnihud/rnd
name = "\improper AR-R glasses"
desc = "The ARG-62-R AR Glasses are capable of displaying information on individuals. \
They... don't seem to do anything particularly interesting? But hey, at least they look kinda science-y."
mode = "sci"
/obj/item/clothing/glasses/omnihud/eng/meson
name = "meson scanner HUD"
desc = "A headset equipped with a scanning lens and mounted retinal projector. It doesn't provide any eye protection, but it's less obtrusive than goggles."
icon = 'icons/vore/custom_items_vr.dmi'
icon_override = 'icons/vore/custom_clothes_vr.dmi'
icon_state = "projector"
off_state = "projector-off"
body_parts_covered = 0
toggleable = 1
vision_flags = SEE_TURFS //but they can spot breaches. Due to the way HUDs work, they don't provide darkvision up-close the way mesons do.
flash_protection = 0 //it's an open, single-eye retinal projector. there's no way it protects your eyes from flashes or welders.
/obj/item/clothing/glasses/omnihud/eng/meson/attack_self(mob/user)
if(!active)
toggleprojector()
..()
/obj/item/clothing/glasses/omnihud/eng/meson/verb/toggleprojector()
set name = "Toggle projector"
set category = "Object"
set src in usr
if(!isliving(usr)) return
if(usr.stat) return
if(toggleable)
if(active)
active = 0
icon_state = off_state
item_state = "[initial(item_state)]-off"
usr.update_inv_glasses()
to_chat(usr, "You deactivate the retinal projector on the [src].")
else
active = 1
icon_state = initial(icon_state)
item_state = initial(item_state)
usr.update_inv_glasses()
to_chat(usr, "You activate the retinal projector on the [src].")
usr.update_mob_action_buttons()
/obj/item/clothing/glasses/omnihud/all
name = "\improper AR-B glasses"
desc = "The ARG-62-B AR Glasses are capable of displaying information on individuals. \
These have been upgraded with (almost) every feature the lesser models have. Now we're talkin'. \
<br>Offers full protection against bright flashes/welders and full access to system alarm monitoring."
mode = "best"
flash_protection = FLASH_PROTECTION_MAJOR
enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_STATUS_R,VIS_CH_BACKUP,VIS_CH_WANTED,VIS_AUGMENTED)
actions_types = list(/datum/action/item_action/ar_console_all_alerts)
tgarscreen_path = /datum/tgui_module/alarm_monitor/all/glasses
/obj/item/clothing/glasses/omnihud/all/ar_interact(var/mob/living/carbon/human/user)
if(tgarscreen)
tgarscreen.tgui_interact(user)
return 1
/obj/item/clothing/glasses/hud/security/eyepatch
name = "Security Hudpatch"
desc = "An eyepatch with built in scanners, that analyzes those in view and provides accurate data about their ID status and security records."
icon_state = "eyepatch"
item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold")
body_parts_covered = 0
enables_planes = list(VIS_CH_ID,VIS_CH_WANTED,VIS_CH_IMPTRACK,VIS_CH_IMPLOYAL,VIS_CH_IMPCHEM)
var/eye = null
/obj/item/clothing/glasses/hud/security/eyepatch/verb/switcheye()
set name = "Switch Eyepatch"
set category = "Object"
set src in usr
if(!isliving(usr)) return
if(usr.stat) return
eye = !eye
if(eye)
icon_state = "[icon_state]_1"
else
icon_state = initial(icon_state)
update_clothing_icon()
/obj/item/clothing/glasses/hud/security/eyepatch2
name = "Security Hudpatch MKII"
desc = "An eyepatch with built in scanners, that analyzes those in view and provides accurate data about their ID status and security records. This updated model offers better ergonomics and updated sensors."
icon = 'icons/inventory/eyes/item_vr.dmi'
icon_override = 'icons/inventory/eyes/mob_vr.dmi'
icon_state = "sec_eyepatch"
item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold")
body_parts_covered = 0
enables_planes = list(VIS_CH_ID,VIS_CH_WANTED,VIS_CH_IMPTRACK,VIS_CH_IMPLOYAL,VIS_CH_IMPCHEM)
var/eye = null
/obj/item/clothing/glasses/hud/security/eyepatch2/verb/switcheye()
set name = "Switch Eyepatch"
set category = "Object"
set src in usr
if(!isliving(usr)) return
if(usr.stat) return
eye = !eye
if(eye)
icon_state = "[icon_state]_1"
else
icon_state = initial(icon_state)
update_clothing_icon()
/obj/item/clothing/glasses/hud/health/eyepatch
name = "Medical Hudpatch"
desc = "An eyepatch with built in scanners, that analyzes those in view and provides accurate data about their health status."
icon_state = "eyepatch"
item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold")
body_parts_covered = 0
enables_planes = list(VIS_CH_STATUS,VIS_CH_HEALTH)
var/eye = null
/obj/item/clothing/glasses/hud/health/eyepatch/verb/switcheye()
set name = "Switch Eyepatch"
set category = "Object"
set src in usr
if(!isliving(usr)) return
if(usr.stat) return
eye = !eye
if(eye)
icon_state = "[icon_state]_1"
else
icon_state = initial(icon_state)
update_clothing_icon()
//Rx Variants
/obj/item/clothing/glasses/omnihud/med/prescription
desc = "The ARG-62-M AR Glasses are capable of displaying information on individuals. \
These have been upgraded with medical records access and virus database integration. \
They can also read data from active suit sensors using the crew monitoring system. \
These have been equipped with prescription lenses."
prescription = TRUE
/obj/item/clothing/glasses/omnihud/sec/prescription
desc = "The ARG-62-S AR Glasses are capable of displaying information on individuals. \
These have been upgraded with security records integration and flash protection. \
They also have access to security alerts such as camera and motion sensor alarms. \
These have been equipped with prescription lenses."
prescription = TRUE
/obj/item/clothing/glasses/omnihud/eng/prescription
desc = "The ARG-62-E AR Glasses are capable of displaying information on individuals. \
These have been upgraded with advanced electrochromic lenses to protect your eyes during welding, \
and can also display a list of atmospheric, fire, and power alarms. \
These have been equipped with prescription lenses."
prescription = TRUE
/obj/item/clothing/glasses/omnihud/rnd/prescription
desc = "The ARG-62-R AR Glasses are capable of displaying information on individuals. \
They... don't seem to do anything particularly interesting? But hey, at least they look kinda science-y. \
These have been equipped with prescription lenses."
prescription = TRUE
/obj/item/clothing/glasses/omnihud/all/prescription
desc = "The ARG-62-B AR Glasses are capable of displaying information on individuals. \
These have been upgraded with (almost) every feature the lesser models have. Now we're talkin'. \
<br>Offers full protection against bright flashes/welders and full access to system alarm monitoring. \
These have been equipped with prescription lenses."
prescription = TRUE
/obj/item/clothing/glasses/omnihud/prescription
desc = "The ARG-62 AR Glasses are capable of displaying information on individuals. \
Commonly used to allow non-augmented crew to interact with virtual interfaces. \
<br>They are also fitted with toggleable cosmetic electrochromic lenses. \
The lenses will not protect against sudden bright flashes or welding. \
These have been equipped with prescription lenses."
prescription = TRUE

View File

@@ -2361,7 +2361,6 @@
#include "code\modules\clothing\glasses\glasses.dm"
#include "code\modules\clothing\glasses\glasses_vr.dm"
#include "code\modules\clothing\glasses\hud.dm"
#include "code\modules\clothing\glasses\hud_vr.dm"
#include "code\modules\clothing\gloves\antagonist.dm"
#include "code\modules\clothing\gloves\arm_guards.dm"
#include "code\modules\clothing\gloves\arm_guards_vr.dm"