diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index c9008f38398..66a64c08548 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1135,7 +1135,7 @@
xylophone=0
return
-/mob/living/carbon/human/can_inject(var/mob/user, var/error_msg, var/target_zone)
+/mob/living/carbon/human/can_inject(var/mob/user, var/error_msg, var/target_zone, var/penetrate_thick = 0)
. = 1
if(!target_zone)
@@ -1155,10 +1155,10 @@
else
switch(target_zone)
if("head")
- if(head && head.flags & THICKMATERIAL)
+ if(head && head.flags & THICKMATERIAL && !penetrate_thick)
. = 0
else
- if(wear_suit && wear_suit.flags & THICKMATERIAL)
+ if(wear_suit && wear_suit.flags & THICKMATERIAL && !penetrate_thick)
. = 0
if(!. && error_msg && user)
if(!fail_msg)
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index f34c8aa8eb3..e723005e60e 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -12,6 +12,7 @@
var/charge_cost = 50
var/charge_tick = 0
var/recharge_time = 5 //Time it takes for shots to recharge (in seconds)
+ var/bypass_protection = 0 //If the hypospray can go through armor or thick material
var/list/datum/reagents/reagent_list = list()
var/list/reagent_ids = list("salglu_solution", "epinephrine", "spaceacillin", "charcoal")
@@ -30,6 +31,7 @@
charge_cost = 20
recharge_time = 2
reagent_ids = list("syndicate_nanites", "potass_iodide", "ether")
+ bypass_protection = 1
/obj/item/weapon/reagent_containers/borghypo/New()
..()
@@ -74,7 +76,7 @@
return
if (!istype(M))
return
- if (R.total_volume && M.can_inject(user,1))
+ if (R.total_volume && M.can_inject(user, 1, penetrate_thick = bypass_protection))
user << "You inject [M] with the injector."
M << "You feel a tiny prick!"