mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 20:17:15 +01:00
Adds Contaminant Detector HUD (#15970)
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
Binary file not shown.
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 8.4 KiB |
+1
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user