Adds Contaminant Detector HUD (#15970)

This commit is contained in:
Heroman3003
2024-05-09 19:37:19 +10:00
committed by GitHub
parent f13c34f8e2
commit bf490b78ac
21 changed files with 70 additions and 14 deletions
+1
View File
@@ -161,6 +161,7 @@ What is the naming convention for planes or layers?
#define PLANE_CH_STATUS_OOC 24 //OOC status hud for spooks
#define PLANE_MESONS 30 //Stuff seen with mesons, like open ceilings. This is 30 for downstreams.
#define PLANE_JANHUD 31 //Stuff seen with janiHUD. Mostly highlight of dirt.
#define PLANE_ADMIN2 33 //Purely for shenanigans (above lighting)
+9 -7
View File
@@ -28,6 +28,7 @@
#define BORGXRAY 0x4
#define BORGMATERIAL 0x8
#define BORGANOMALOUS 0x10
#define BORGJAN 0x20
#define STANCE_ATTACK 11 // Backwards compatability
#define STANCE_ATTACKING 12 // Ditto
@@ -401,18 +402,19 @@
#define VIS_ADMIN3 20
#define VIS_MESONS 21
#define VIS_JANHUD 22
#define VIS_TURFS 22
#define VIS_OBJS 23
#define VIS_MOBS 24
#define VIS_TURFS 23
#define VIS_OBJS 24
#define VIS_MOBS 25
#define VIS_BUILDMODE 25
#define VIS_BUILDMODE 26
#define VIS_CLOAKED 26
#define VIS_CLOAKED 27
#define VIS_STATUS 27
#define VIS_STATUS 28
#define VIS_COUNT 27 //Must be highest number from above.
#define VIS_COUNT 28 //Must be highest number from above.
//Some mob icon layering defines
#define BODY_LAYER -100
+1
View File
@@ -57,6 +57,7 @@
/obj/item/weapon/reagent_containers/spray/cleaner,
/obj/item/weapon/reagent_containers/glass/rag,
/obj/item/weapon/grenade/chem_grenade/cleaner = 3,
/obj/item/clothing/glasses/hud/janitor,
/obj/structure/mopbucket
)
cost = 10
@@ -193,6 +193,7 @@ var/global/list/image/splatter_cache=list()
icon = blood
cut_overlays()
add_overlay(janhud)
add_overlay(giblets)
/obj/effect/decal/cleanable/blood/gibs/up
@@ -130,6 +130,7 @@ var/global/list/image/fluidtrack_cache=list()
/obj/effect/decal/cleanable/blood/tracks/update_icon()
cut_overlays()
add_overlay(janhud)
color = "#FFFFFF"
var/truedir=0
@@ -12,6 +12,7 @@ generic_filth = TRUE means when the decal is saved, it will be switched out for
var/generic_filth = FALSE
var/age = 0
var/list/random_icon_states = list()
var/list/janhud = list()
/obj/effect/decal/cleanable/Initialize(var/mapload, var/_age)
if(!isnull(_age))
@@ -20,10 +21,13 @@ generic_filth = TRUE means when the decal is saved, it will be switched out for
src.icon_state = pick(src.random_icon_states)
if(!mapload || !config.persistence_ignore_mapload)
SSpersistence.track_value(src, /datum/persistent/filth)
janhud += gen_hud_image(ingame_hud, src, "janhud[rand(1,9)]", plane = PLANE_JANHUD)
add_overlay(janhud)
. = ..()
/obj/effect/decal/cleanable/Destroy()
SSpersistence.forget_value(src, /datum/persistent/filth)
cut_overlays()
. = ..()
/obj/effect/decal/cleanable/clean_blood(var/ignore = 0)
@@ -59,6 +59,12 @@
icon_state = "material"
icon = 'icons/inventory/eyes/item.dmi'
/obj/item/borg/sight/janitor
name = "\proper contaminant detector vision"
sight_mode = BORGJAN
icon_state = "janhud"
icon = 'icons/inventory/eyes/item.dmi'
/obj/item/borg/sight/anomalous
name = "\proper anomaly vision"
sight_mode = BORGANOMALOUS
@@ -485,7 +485,8 @@
/obj/item/taperoll,
/obj/item/weapon/reagent_containers/spray,
/obj/item/weapon/soap,
/obj/item/device/lightreplacer //VOREStation edit
/obj/item/device/lightreplacer,
/obj/item/clothing/glasses/hud/janitor
)
/obj/item/weapon/storage/belt/archaeology
+2
View File
@@ -915,6 +915,7 @@
/obj/item/clothing/head/soft/purple,
/obj/item/weapon/storage/belt/janitor,
/obj/item/clothing/shoes/galoshes,
/obj/item/clothing/glasses/hud/janitor,
/obj/item/weapon/storage/bag/trash,
/obj/item/device/lightreplacer,
/obj/item/weapon/reagent_containers/spray/cleaner,
@@ -1193,6 +1194,7 @@
/obj/item/clothing/head/soft/purple,
/obj/item/weapon/storage/belt/janitor,
/obj/item/clothing/shoes/galoshes,
/obj/item/clothing/glasses/hud/janitor,
/obj/item/weapon/storage/bag/trash,
/obj/item/device/lightreplacer,
/obj/item/weapon/reagent_containers/spray/cleaner,
@@ -80,7 +80,8 @@
/obj/item/device/lightreplacer,
/obj/item/weapon/storage/bag/trash,
/obj/item/weapon/storage/belt/janitor,
/obj/item/clothing/shoes/galoshes
/obj/item/clothing/shoes/galoshes,
/obj/item/clothing/glasses/hud/janitor
)
/*
@@ -105,6 +105,15 @@
display_name = "Medical HUD Aviators, prescription (Medical)"
path = /obj/item/clothing/glasses/hud/health/aviator/prescription
/datum/gear/eyes/janitor
display_name = "Contaminant HUD (Janitor)"
path = /obj/item/clothing/glasses/hud/janitor
allowed_roles = list("Janitor")
/datum/gear/eyes/janitor/prescriptionjan
display_name = "Contaminant HUD, prescription (Janitor)"
path = /obj/item/clothing/glasses/hud/janitor/prescription
/datum/gear/eyes/meson
display_name = "Optical Meson Scanners (Engineering, Science, Mining)"
path = /obj/item/clothing/glasses/meson
+15
View File
@@ -41,3 +41,18 @@
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
vision_flags = SEE_MOBS
see_invisible = SEE_INVISIBLE_NOLIGHTING
/obj/item/clothing/glasses/hud/janitor
name = "Contaminant Detector HUD"
desc = "A heads-up display that scans the environment for contaminations."
icon_state = "janhud"
item_state_slots = list(slot_r_hand_str = "headset", slot_l_hand_str = "headset")
body_parts_covered = 0
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
icon_state = "janhudpresc"
item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses")
+1
View File
@@ -1619,6 +1619,7 @@
/obj/item/clothing/gloves/black = 5,
/obj/item/weapon/storage/belt/janitor = 5,
/obj/item/clothing/shoes/galoshes = 5,
/obj/item/clothing/glasses/hud/janitor = 5,
/obj/item/weapon/cartridge/janitor = 5
)
req_log_access = access_hop
@@ -155,6 +155,7 @@
/mob/living/silicon/robot/handle_regular_hud_updates()
var/fullbright = FALSE
var/seemeson = FALSE
var/seejanhud = src.sight_mode & BORGJAN
var/area/A = get_area(src)
if(A?.no_spoilers)
@@ -209,6 +210,7 @@
if(plane_holder)
plane_holder.set_vis(VIS_FULLBRIGHT,fullbright)
plane_holder.set_vis(VIS_MESONS,seemeson)
plane_holder.set_vis(VIS_JANHUD,seejanhud)
..()
@@ -514,6 +514,7 @@ var/global/list/robot_modules = list(
src.modules += new /obj/item/weapon/mop(src)
src.modules += new /obj/item/pupscrubber(src)
src.modules += new /obj/item/device/lightreplacer(src)
src.modules += new /obj/item/borg/sight/janitor(src)
var/obj/item/weapon/reagent_containers/spray/LS = new /obj/item/weapon/reagent_containers/spray(src)
src.emag += LS
LS.reagents.add_reagent("lube", 250)
+2 -1
View File
@@ -40,6 +40,7 @@
plane_masters[VIS_ADMIN3] = new /obj/screen/plane_master{plane = PLANE_ADMIN3} //For admin use
plane_masters[VIS_MESONS] = new /obj/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings.
plane_masters[VIS_JANHUD] = new /obj/screen/plane_master{plane = PLANE_JANHUD} //Meson-specific things like open ceilings.
plane_masters[VIS_BUILDMODE] = new /obj/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode
@@ -113,7 +114,7 @@
alter_values(SP, values)
////////////////////
// The Plane Master
+10 -3
View File
@@ -24,19 +24,26 @@
build_path = /obj/item/clothing/glasses/hud/security
sort_string = "EAAAB"
/datum/design/item/hud/janitor
name = "contaminant detector"
id = "janitor_hud"
req_tech = list(TECH_MAGNET = 2)
build_path = /obj/item/clothing/glasses/hud/janitor
sort_string = "EAAAC"
/datum/design/item/hud/mesons
name = "optical meson scanner"
id = "mesons"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/clothing/glasses/meson
sort_string = "EAAAC"
sort_string = "EAAAD"
/datum/design/item/hud/material
name = "optical material scanner"
id = "material"
req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3)
build_path = /obj/item/clothing/glasses/material
sort_string = "EAAAD"
sort_string = "EAAAE"
/datum/design/item/hud/graviton_visor
name = "graviton visor"
@@ -44,4 +51,4 @@
req_tech = list(TECH_MAGNET = 5, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3, TECH_PHORON = 3, TECH_ARCANE = 1)
materials = list(MAT_PLASTEEL = 2000, MAT_GLASS = 3000, MAT_PHORON = 1500, MAT_DIAMOND = 500)
build_path = /obj/item/clothing/glasses/graviton
sort_string = "EAAAE"
sort_string = "EAAAF"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

+1 -1
View File
@@ -4303,6 +4303,7 @@
#include "maps\southern_cross\loadout\loadout_suit.dm"
#include "maps\southern_cross\loadout\loadout_uniform.dm"
#include "maps\southern_cross\loadout\loadout_vr.dm"
#include "maps\stellar_delight\stellar_delight.dm"
#include "maps\submaps\_helpers.dm"
#include "maps\submaps\_readme.dm"
#include "maps\submaps\admin_use_vr\event_autonomous_drone.dm"
@@ -4313,6 +4314,5 @@
#include "maps\submaps\space_submaps\debrisfield\debrisfield.dm"
#include "maps\submaps\surface_submaps\wilderness\wilderness.dm"
#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm"
#include "maps\stellar_delight\stellar_delight.dm"
#include "maps\~map_system\maps.dm"
// END_INCLUDE