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!"