[MIRROR] Cyber Mantles (#11391)

Co-authored-by: Killian <49700375+KillianKirilenko@users.noreply.github.com>
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-08-11 05:43:36 -07:00
committed by GitHub
parent c134ff798d
commit 366c969bd7
16 changed files with 108 additions and 8 deletions

View File

@@ -9,6 +9,7 @@
/datum/gear/utility/implant/tracking
display_name = "implant, tracking"
description = "A simple tracking implant, designed to constantly report the subject's location. Usually implanted into those considered a security or flight risk, or for the purposes of restraining orders."
path = /obj/item/implant/tracking/weak
cost = 0

View File

@@ -281,3 +281,33 @@
/datum/gear/eyes/bigshot
display_name = "Big Shot's Glasses"
path = /obj/item/clothing/glasses/sunglasses/bigshot
/datum/gear/eyes/ar_mantle
display_name = "Augmented Reality Mantle"
description = "A full-face, partially-obscuring visor. Covers the face and eyes. Has a simple augmented-reality display on the inside, and can be toggled into a corrective vision mode."
path = /obj/item/clothing/glasses/omnihud/mantle
/datum/gear/eyes/ar_mantle_sec
display_name = "Augmented Reality Mantle (Sec)"
description = "A full-face, partially-obscuring visor. Covers the face and eyes. Has a security-oriented augmented-reality display on the inside, and can be toggled into a corrective vision mode. Flash-resistant."
path = /obj/item/clothing/glasses/omnihud/mantle/sec
allowed_roles = list(JOB_SECURITY_OFFICER,JOB_HEAD_OF_SECURITY,JOB_WARDEN, JOB_DETECTIVE)
/datum/gear/eyes/ar_mantle_med
display_name = "Augmented Reality Mantle (Med)"
description = "A full-face, partially-obscuring visor. Covers the face and eyes. Has a medical-oriented augmented-reality display on the inside, and can be toggled into a corrective vision mode."
path = /obj/item/clothing/glasses/omnihud/mantle/med
allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST)
/datum/gear/eyes/ar_mantle_eng
display_name = "Augmented Reality Mantle (Eng)"
description = "A full-face, partially-obscuring visor. Covers the face and eyes. Has an engineering-oriented augmented-reality display on the inside, and can be toggled into a corrective vision mode. UV lining blocks flashes and welding glare."
path = /obj/item/clothing/glasses/omnihud/mantle/eng
allowed_roles = list(JOB_ENGINEER,JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN)
/datum/gear/eyes/ar_mantle_cmd
display_name = "Augmented Reality Mantle (Command)"
description = "A full-face, partially-obscuring visor. Covers the face and eyes. Has a command-oriented augmented-reality display on the inside, and can be toggled into a corrective vision mode. Flash-resistant."
path = /obj/item/clothing/glasses/omnihud/mantle/cmd
cost = 2
allowed_roles = list(JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL)

View File

@@ -170,7 +170,16 @@
/obj/item/clothing/glasses
name = DEVELOPER_WARNING_NAME
sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/eyes/mob_teshari.dmi',
SPECIES_VOX = 'icons/inventory/eyes/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/eyes/mob_werebeast.dmi'
SPECIES_TESHARI = 'icons/inventory/eyes/mob_teshari.dmi',
SPECIES_VOX = 'icons/inventory/eyes/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/eyes/mob_werebeast.dmi',
SPECIES_TAJARAN = 'icons/inventory/eyes/mob_tajaran.dmi',
SPECIES_UNATHI = 'icons/inventory/eyes/mob_unathi.dmi',
SPECIES_SERGAL = 'icons/inventory/eyes/mob_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/eyes/mob_nevrean.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/eyes/mob_fox.dmi',
SPECIES_ZORREN_FLAT = 'icons/inventory/eyes/mob_fennec.dmi',
SPECIES_AKULA = 'icons/inventory/eyes/mob_akula.dmi',
SPECIES_VULPKANIN = 'icons/inventory/eyes/mob_vulpkanin.dmi',
SPECIES_XENOCHIMERA = 'icons/inventory/eyes/mob_tajaran.dmi'
)

View File

@@ -74,7 +74,7 @@
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
var/can_shade = TRUE
/obj/item/clothing/glasses/omnihud/Initialize(mapload)
. = ..()
@@ -168,7 +168,7 @@
flags_inv &= ~HIDEEYES
icon_state = "glasses"
else
to_chat(usr, "The [src] don't seem to support this functionality.")
to_chat(usr, "It doesn't seem possible to do that with \the [src].")
else if(!prescription)
if(icon_state == "glasses")
to_chat(usr, "You darken the electrochromic lenses of \the [src] to one-way transparency.")
@@ -181,7 +181,9 @@
flags_inv &= ~HIDEEYES
icon_state = "glasses"
else
to_chat(usr, "The [src] don't seem to support this functionality.")
to_chat(usr, "It doesn't seem possible to do that with \the [src].")
else if(!can_shade)
to_chat(usr, "It doesn't seem possible to do that with \the [src].")
update_clothing_icon()
/obj/item/clothing/glasses/omnihud/verb/toggle_ar_planes()
@@ -195,11 +197,11 @@
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]."))
to_chat(usr, span_notice("You disable 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]."))
to_chat(usr, span_notice("You enable the Augmented Reality HUD of your [src.name]."))
ar_toggled = !ar_toggled
usr.update_mob_action_buttons()
usr.recalculate_vis()
@@ -217,6 +219,8 @@
icon_state = "visor_CIV"
item_state = "visor_CIV"
can_shade = FALSE
/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. \
@@ -280,6 +284,7 @@
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.
can_shade = FALSE
/obj/item/clothing/glasses/omnihud/eng/meson/attack_self(mob/user)
if(!active)
@@ -437,3 +442,58 @@
The lenses will not protect against sudden bright flashes or welding. \
These have been equipped with prescription lenses."
prescription = TRUE
/obj/item/clothing/glasses/omnihud/mantle
name = "AR mantle"
desc = "A full-face, partially-obscuring visor favoured by certain subcultures and those with sensitive eyes. Covers the face and eyes, but it's not enough to actually hide your identity. The interior has a simple augmented-reality display that aids with daily tasks. It can be toggled in and out of corrective vision mode via integrated subroutine."
icon_state = "mantle_HUD"
item_state = "mantle_HUD"
body_parts_covered = FACE|EYES
can_shade = FALSE
/obj/item/clothing/glasses/omnihud/mantle/verb/switcheye()
set name = "Toggle Autocorrective Vision"
set category = "Object"
set src in usr
if(!isliving(usr)) return
if(usr.stat) return
prescription = !prescription
if(prescription)
to_chat(usr, "You switch the [src] into autocorrective mode.")
else
to_chat(usr, "You switch the [src] out of autocorrective mode.")
/obj/item/clothing/glasses/omnihud/mantle/sec
name = "security AR mantle"
desc = "A full-face, partially-obscuring visor favoured by certain subcultures and those with sensitive eyes. Covers the face and eyes, but it's not enough to actually hide your identity. The interior has a simple augmented-reality display that aids with daily tasks. It can be toggled in and out of corrective vision mode via integrated subroutine. This version includes extra security-related functions."
mode = "sec"
flash_protection = FLASH_PROTECTION_MODERATE
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/mantle/med
name = "medical AR mantle"
desc = "A full-face, partially-obscuring visor favoured by certain subcultures and those with sensitive eyes. Covers the face and eyes, but it's not enough to actually hide your identity. The interior has a simple augmented-reality display that aids with daily tasks. It can be toggled in and out of corrective vision mode via integrated subroutine. This version includes extra medical-related functions."
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/mantle/eng
name = "engineering AR mantle"
desc = "A full-face, partially-obscuring visor favoured by certain subcultures and those with sensitive eyes. Covers the face and eyes, but it's not enough to actually hide your identity. The interior has a simple augmented-reality display that aids with daily tasks. It can be toggled in and out of corrective vision mode via integrated subroutine. This version includes extra engineering-related functions."
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/mantle/cmd
name = "command AR mantle"
desc = "A full-face, partially-obscuring visor favoured by certain subcultures and those with sensitive eyes. Covers the face and eyes, but it's not enough to actually hide your identity. The interior has a simple augmented-reality display that aids with daily tasks. It can be toggled in and out of corrective vision mode via integrated subroutine. This version includes extra command-related functions."
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB