mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 05:57:24 +01:00
Makes the AVD-CNED glasses even more advanced - with supermatter hallucination immunity! (#30444)
* Update outfit_debug.dm * Update outfit_debug.dm * Update outfit_debug.dm * Update outfit_debug.dm * Update outfit_debug.dm * Update outfit_debug.dm * Update code/datums/outfits/outfit_debug.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Update outfit_debug.dm --------- Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
This commit is contained in:
@@ -93,51 +93,56 @@
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug
|
||||
name = "AVD-CNED glasses"
|
||||
desc = "Diagnostic, Hydroponic, Medical, Security, and Skills HUD. Built-in advanced reagent scanner. Alt-click to toggle X-ray vision."
|
||||
desc = "Diagnostic, Hydroponic, Medical, and Security HUD. Built-in advanced reagent scanner. Protects the wearer from supermatter hallucinations and welding flashes."
|
||||
icon_state = "nvgmeson"
|
||||
hud_debug = TRUE
|
||||
flash_protect = FLASH_PROTECTION_WELDER
|
||||
scan_reagents_advanced = TRUE
|
||||
|
||||
prescription_upgradable = FALSE
|
||||
|
||||
hud_types = list(DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_ADVANCED, DATA_HUD_SECURITY_ADVANCED, DATA_HUD_HYDROPONIC)
|
||||
|
||||
var/xray = FALSE
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug/equipped(mob/living/carbon/human/user, slot)
|
||||
..()
|
||||
if(xray)
|
||||
add_xray(user)
|
||||
/obj/item/clothing/glasses/hud/debug/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class = 'notice'><b>Alt-Click</b> to toggle X-ray vision.</span>"
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug/dropped(mob/living/carbon/human/user)
|
||||
/obj/item/clothing/glasses/hud/debug/equipped(mob/user, slot)
|
||||
..()
|
||||
if(xray)
|
||||
remove_xray(user)
|
||||
if(slot == ITEM_SLOT_EYES)
|
||||
handle_traits(user, TRUE)
|
||||
else
|
||||
handle_traits(user)
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug/AltClick(mob/user)
|
||||
/obj/item/clothing/glasses/hud/debug/dropped(mob/user)
|
||||
..()
|
||||
handle_traits(user)
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug/AltClick(mob/living/carbon/human/user)
|
||||
to_chat(user, "<span class='notice'>You [xray ? "de" : ""]activate the x-ray setting on [src].</span>")
|
||||
xray = !xray
|
||||
if(istype(user) && user.glasses == src)
|
||||
handle_traits(user, TRUE)
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug/proc/handle_traits(mob/user, worn = FALSE)
|
||||
if(!ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/human_user = user
|
||||
if(human_user.glasses != src)
|
||||
return
|
||||
if(xray)
|
||||
remove_xray(human_user)
|
||||
|
||||
if(worn)
|
||||
if(!HAS_TRAIT_FROM(user, SM_HALLUCINATION_IMMUNE, "debug_glasses[UID()]"))
|
||||
ADD_TRAIT(user, SM_HALLUCINATION_IMMUNE, "debug_glasses[UID()]")
|
||||
else
|
||||
add_xray(human_user)
|
||||
xray = !xray
|
||||
to_chat(user, "<span class='notice'>You [!xray ? "de" : ""]activate the x-ray setting on [src]</span>")
|
||||
human_user.update_sight()
|
||||
REMOVE_TRAIT(user, SM_HALLUCINATION_IMMUNE, "debug_glasses[UID()]")
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug/proc/remove_xray(mob/user)
|
||||
see_in_dark = initial(see_in_dark)
|
||||
lighting_alpha = initial(lighting_alpha)
|
||||
REMOVE_TRAIT(user, TRAIT_XRAY_VISION, "debug_glasses[UID()]")
|
||||
|
||||
/obj/item/clothing/glasses/hud/debug/proc/add_xray(mob/user)
|
||||
see_in_dark = 8
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE
|
||||
ADD_TRAIT(user, TRAIT_XRAY_VISION, "debug_glasses[UID()]")
|
||||
if(xray && worn)
|
||||
see_in_dark = 8
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE
|
||||
if(!HAS_TRAIT_FROM(user, TRAIT_XRAY_VISION, "debug_glasses[UID()]"))
|
||||
ADD_TRAIT(user, TRAIT_XRAY_VISION, "debug_glasses[UID()]")
|
||||
else
|
||||
see_in_dark = initial(see_in_dark)
|
||||
lighting_alpha = initial(lighting_alpha)
|
||||
REMOVE_TRAIT(user, TRAIT_XRAY_VISION, "debug_glasses[UID()]")
|
||||
user.update_sight()
|
||||
|
||||
/obj/item/debug/human_spawner
|
||||
name = "human spawner"
|
||||
|
||||
Reference in New Issue
Block a user