mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
254 lines
6.6 KiB
Plaintext
254 lines
6.6 KiB
Plaintext
//////////////////
|
|
// AR HUD Overlays
|
|
/datum/nifsoft/ar_civ
|
|
name = "AR Overlay (Civ)"
|
|
desc = "Provides a general identification and health status overlay on your vision with no frills."
|
|
list_pos = NIF_CIVILIAN_AR
|
|
cost = 500
|
|
initial = TRUE
|
|
a_drain = 0.05
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_MEDICAL_AR,NIF_SECURITY_AR,NIF_ENGINE_AR,NIF_SCIENCE_AR,NIF_OMNI_AR)
|
|
nif.set_flag(NIF_V_AR_CIVILIAN,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_AR_CIVILIAN,NIF_FLAGS_VISION)
|
|
|
|
/datum/nifsoft/ar_med
|
|
name = "AR Overlay (Med)"
|
|
desc = "Like the civilian model, but provides medical records access and virus database lookup."
|
|
list_pos = NIF_MEDICAL_AR
|
|
cost = 750
|
|
initial = TRUE
|
|
req_one_access = list(access_medical)
|
|
a_drain = 0.05
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_CIVILIAN_AR,NIF_SECURITY_AR,NIF_ENGINE_AR,NIF_SCIENCE_AR,NIF_OMNI_AR)
|
|
nif.set_flag(NIF_V_AR_MEDICAL,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_AR_MEDICAL,NIF_FLAGS_VISION)
|
|
|
|
/datum/nifsoft/ar_sec
|
|
name = "AR Overlay (Sec)"
|
|
desc = "Like the civilian model, but provides access to arrest status and security records."
|
|
list_pos = NIF_SECURITY_AR
|
|
cost = 750
|
|
initial = TRUE
|
|
req_one_access = list(access_security)
|
|
a_drain = 0.05
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_CIVILIAN_AR,NIF_MEDICAL_AR,NIF_ENGINE_AR,NIF_SCIENCE_AR,NIF_OMNI_AR)
|
|
nif.set_flag(NIF_V_AR_SECURITY,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_AR_SECURITY,NIF_FLAGS_VISION)
|
|
|
|
/datum/nifsoft/ar_eng
|
|
name = "AR Overlay (Eng)"
|
|
desc = "Like the civilian model, but provides station alert notices."
|
|
list_pos = NIF_ENGINE_AR
|
|
cost = 750
|
|
initial = TRUE
|
|
req_one_access = list(access_engine)
|
|
a_drain = 0.05
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_CIVILIAN_AR,NIF_MEDICAL_AR,NIF_SECURITY_AR,NIF_SCIENCE_AR,NIF_OMNI_AR)
|
|
nif.set_flag(NIF_V_AR_ENGINE,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_AR_ENGINE,NIF_FLAGS_VISION)
|
|
|
|
/datum/nifsoft/ar_science
|
|
name = "AR Overlay (Sci)"
|
|
desc = "Like the civilian model, but provides ... well, nothing. For now."
|
|
list_pos = NIF_SCIENCE_AR
|
|
cost = 750
|
|
initial = TRUE
|
|
req_one_access = list(access_research)
|
|
a_drain = 0.05
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_CIVILIAN_AR,NIF_MEDICAL_AR,NIF_SECURITY_AR,NIF_ENGINE_AR,NIF_OMNI_AR)
|
|
nif.set_flag(NIF_V_AR_SCIENCE,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_AR_SCIENCE,NIF_FLAGS_VISION)
|
|
|
|
/datum/nifsoft/ar_omni
|
|
name = "AR Overlay (Omni)"
|
|
desc = "Like the civilian model, but provides most of the features of the medical and security overlays as well."
|
|
list_pos = NIF_OMNI_AR
|
|
cost = 750
|
|
initial = TRUE
|
|
req_one_access = list(access_captain)
|
|
a_drain = 0.05
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_CIVILIAN_AR,NIF_MEDICAL_AR,NIF_SECURITY_AR,NIF_ENGINE_AR,NIF_SCIENCE_AR)
|
|
nif.set_flag(NIF_V_AR_OMNI,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_AR_OMNI,NIF_FLAGS_VISION)
|
|
|
|
//////////////
|
|
// Misc Vision
|
|
/datum/nifsoft/corrective
|
|
name = "Corrective AR"
|
|
desc = "Subtly alters perception to compensate for cataracts and retinal misalignment, among other common disabilities."
|
|
list_pos = NIF_CORRECTIVE_GLASS
|
|
cost = 200
|
|
a_drain = 0.025
|
|
|
|
activate()
|
|
if(..())
|
|
nif.set_flag(NIF_V_CORRECTIVE,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_CORRECTIVE,NIF_FLAGS_VISION)
|
|
|
|
/datum/nifsoft/uvblocker
|
|
name = "Nictating Membrane"
|
|
desc = "A synthetic nictating membrane (aka 'third eyelid') that protects the eyes from UV or hostile atmospheres. Does not protect from photonic stun weapons."
|
|
list_pos = NIF_UVFILTER
|
|
cost = 450
|
|
a_drain = 0.2
|
|
|
|
activate()
|
|
if(..())
|
|
nif.set_flag(NIF_V_UVFILTER,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_UVFILTER,NIF_FLAGS_VISION)
|
|
|
|
/datum/nifsoft/flashprot
|
|
name = "Responsive Filter"
|
|
desc = "Enables a high-speed shielding response to intense light, such as flashes, to block them."
|
|
list_pos = NIF_FLASHPROT
|
|
cost = 600
|
|
req_one_access = list(access_security)
|
|
a_drain = 0.05
|
|
|
|
activate()
|
|
if(..())
|
|
nif.set_flag(NIF_V_FLASHPROT,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_FLASHPROT,NIF_FLAGS_VISION)
|
|
|
|
////////////////
|
|
// Goggle-alikes
|
|
/datum/nifsoft/mesons
|
|
name = "Meson Scanner"
|
|
desc = "Similar to the worn Optical Meson Scanner Goggles, these allow you to see the base structure and terrain through walls."
|
|
list_pos = NIF_MESONS
|
|
cost = 1000
|
|
a_drain = 0.1
|
|
tick_flags = NIF_ACTIVETICK
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_MATERIAL,NIF_THERMALS,NIF_NIGHTVIS)
|
|
nif.set_flag(NIF_V_MESONS,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_MESONS,NIF_FLAGS_VISION)
|
|
|
|
life()
|
|
if(..())
|
|
var/mob/living/carbon/human/H = nif.human
|
|
H.client.screen |= global_hud.meson
|
|
H.sight |= SEE_TURFS
|
|
|
|
/datum/nifsoft/material
|
|
name = "Material Scanner"
|
|
desc = "Similar to the worn Optical Material Scanner Goggles, these allow you to see objects through walls."
|
|
list_pos = NIF_MATERIAL
|
|
cost = 1000
|
|
a_drain = 0.1
|
|
tick_flags = NIF_ACTIVETICK
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_MESONS,NIF_THERMALS,NIF_NIGHTVIS)
|
|
nif.set_flag(NIF_V_MATERIAL,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_MATERIAL,NIF_FLAGS_VISION)
|
|
|
|
life()
|
|
if(..())
|
|
nif.human.sight |= SEE_OBJS
|
|
|
|
/datum/nifsoft/thermals
|
|
name = "Thermal Scanner"
|
|
desc = "Similar to the worn Thermal Goggles, these allow you to see heat-emitting creatures through walls."
|
|
list_pos = NIF_THERMALS
|
|
cost = 1000
|
|
req_one_access = list(access_security)
|
|
a_drain = 0.1
|
|
tick_flags = NIF_ACTIVETICK
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_MESONS,NIF_MATERIAL,NIF_NIGHTVIS)
|
|
nif.set_flag(NIF_V_THERMALS,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_THERMALS,NIF_FLAGS_VISION)
|
|
|
|
life()
|
|
if(..())
|
|
var/mob/living/carbon/human/H = nif.human
|
|
H.sight |= SEE_MOBS
|
|
H.client.screen |= global_hud.thermal
|
|
H.see_invisible = SEE_INVISIBLE_NOLIGHTING
|
|
|
|
/datum/nifsoft/nightvis
|
|
name = "Low-Light Amp"
|
|
desc = "Similar to the worn Night Vision Goggles, these allow you to see in complete darkness."
|
|
list_pos = NIF_NIGHTVIS
|
|
cost = 1000
|
|
req_one_access = list(access_security)
|
|
a_drain = 0.1
|
|
tick_flags = NIF_ACTIVETICK
|
|
|
|
activate()
|
|
if(..())
|
|
nif.deactivate_these(NIF_MESONS,NIF_MATERIAL,NIF_THERMALS)
|
|
nif.set_flag(NIF_V_NIGHTVIS,NIF_FLAGS_VISION)
|
|
|
|
deactivate()
|
|
if(..())
|
|
nif.clear_flag(NIF_V_NIGHTVIS,NIF_FLAGS_VISION)
|
|
|
|
life()
|
|
if(..())
|
|
var/mob/living/carbon/human/H = nif.human
|
|
H.see_in_dark += 7
|
|
H.client.screen |= global_hud.nvg
|
|
H.see_invisible = SEE_INVISIBLE_NOLIGHTING
|
|
|