diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm
index 2549c85a7d7..78881d901ec 100644
--- a/code/game/objects/items/holosign_creator.dm
+++ b/code/game/objects/items/holosign_creator.dm
@@ -84,6 +84,14 @@
creation_time = 0
max_signs = 3
+/obj/item/holosign_creator/medical
+ name = "\improper PENLITE barrier projector"
+ desc = "A holographic projector that creates PENLITE holobarriers. Useful during quarantines since they halt those with malicious diseases."
+ icon_state = "signmaker_med"
+ holosign_type = /obj/structure/holosign/barrier/medical
+ creation_time = 30
+ max_signs = 3
+
/obj/item/holosign_creator/cyborg
name = "Energy Barrier Projector"
desc = "A holographic projector that creates fragile energy fields."
diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm
index 5b1151c36f1..c5c8dd3c689 100644
--- a/code/game/objects/structures/holosign.dm
+++ b/code/game/objects/structures/holosign.dm
@@ -97,6 +97,44 @@
if(istype(P, /obj/item/projectile/beam/disabler))
take_damage(5, BRUTE, "melee", 1) //Disablers aren't harmful.
+/obj/structure/holosign/barrier/medical
+ name = "\improper PENLITE holobarrier"
+ desc = "A holobarrier that uses biometrics to detect human viruses. Denies passing to personnel with easily-detected, malicious viruses. Good for quarantines."
+ icon_state = "holo_medical"
+ alpha = 125 //lazy :)
+ layer = ABOVE_MOB_LAYER
+ var/force_allaccess = FALSE
+ var/buzzcd = 0
+
+/obj/structure/holosign/barrier/medical/examine(mob/user)
+ ..()
+ to_chat(user,"The biometric scanners are [force_allaccess ? "off" : "on"].")
+
+/obj/structure/holosign/barrier/medical/CanPass(atom/movable/mover, turf/target)
+ icon_state = "holo_medical"
+ if(force_allaccess)
+ return TRUE
+ if(ishuman(mover))
+ var/mob/living/carbon/human/sickboi = mover
+ var/threat = sickboi.check_virus()
+ switch(threat)
+ if(DISEASE_SEVERITY_MINOR, DISEASE_SEVERITY_MEDIUM, DISEASE_SEVERITY_HARMFUL, DISEASE_SEVERITY_DANGEROUS, DISEASE_SEVERITY_BIOHAZARD)
+ if(buzzcd < world.time)
+ playsound(get_turf(src),'sound/machines/buzz-sigh.ogg',65,1,4)
+ buzzcd = (world.time + 60)
+ icon_state = "holo_medical-deny"
+ return FALSE
+ else
+ return TRUE //nice or benign diseases!
+ return TRUE
+
+/obj/structure/holosign/barrier/medical/attack_hand(mob/living/user)
+ if(CanPass(user) && user.a_intent == INTENT_HELP)
+ force_allaccess = !force_allaccess
+ to_chat(user, "You [force_allaccess ? "deactivate" : "activate"] the biometric scanners.") //warning spans because you can make the station sick!
+ else
+ return ..()
+
/obj/structure/holosign/barrier/cyborg/hacked
name = "Charged Energy Field"
desc = "A powerful energy field that blocks movement. Energy arcs off it."
@@ -130,4 +168,4 @@
var/mob/living/M = AM
M.electrocute_act(15,"Energy Barrier", safety=1)
shockcd = TRUE
- addtimer(CALLBACK(src, .proc/cooldown), 5)
+ addtimer(CALLBACK(src, .proc/cooldown), 5)
\ No newline at end of file
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index f51345e7f3d..4eb2589bf36 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -210,7 +210,7 @@
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
+
/datum/design/healthanalyzer_advanced
name = "advanced health analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy."
@@ -220,7 +220,7 @@
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500)
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
+
/////////////////////////////////////////
//////////Cybernetic Implants////////////
/////////////////////////////////////////
@@ -595,3 +595,13 @@
build_path = /obj/item/disk/surgery/necrotic_revival
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/holobarrier_med
+ name = "PENLITE holobarrier projector"
+ desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases."
+ build_type = PROTOLATHE
+ build_path = /obj/item/holosign_creator/medical
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease)
+ id = "holobarrier_med"
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
\ No newline at end of file
diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi
index 6ace9230161..e8464035d5a 100644
Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index 4f43eae72fd..acf3a09274e 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ