From 4fcb0451a1c44c853ebe29e507ecb734e64b7f0f Mon Sep 17 00:00:00 2001 From: Arturlang Date: Sun, 24 May 2020 23:08:06 +0300 Subject: [PATCH] Makes bloodsuckers unable to suck through thick clothing (#12334) * Cant suck through hardsuits now can you * Lets join in passive suck as well * Bug fixings --- .../modules/antagonists/bloodsucker/powers/feed.dm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index cbb9693fba..a113f9c083 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -43,10 +43,14 @@ to_chat(owner, "Lesser beings require a tighter grip.") return FALSE // Bloodsuckers: - else if(iscarbon(target) && target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) - if(display_error) - to_chat(owner, "Other Bloodsuckers will not fall for your subtle approach.") - return FALSE + else if(ishuman(target)) + var/mob/living/carbon/human/H = target + if(!H.can_inject(owner, TRUE, BODY_ZONE_CHEST)) + return FALSE + if(target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) + if(display_error) + to_chat(owner, "Other Bloodsuckers will not fall for your subtle approach.") + return FALSE // Must have Target if(!target) // || !ismob(target) if(display_error) @@ -63,6 +67,8 @@ return FALSE if(ishuman(target)) var/mob/living/carbon/human/H = target + if(!H.can_inject(owner, TRUE, BODY_ZONE_HEAD) && target == owner.pulling && owner.grab_state < GRAB_AGGRESSIVE) + return FALSE if(NOBLOOD in H.dna.species.species_traits)// || owner.get_blood_id() != target.get_blood_id()) if(display_error) to_chat(owner, "Your victim's blood is not suitable for you to take.")