diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 2cc8c48dd5..afa858afb7 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1565,7 +1565,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) world.TgsChatBroadcast() //Checks to see if either the victim has a garlic necklace or garlic in their blood -/proc/sucking_checks(var/mob/living/carbon/target, check_neck, check_blood) +/proc/blood_sucking_checks(var/mob/living/carbon/target, check_neck, check_blood) //Bypass this if the target isnt carbon. if(!iscarbon(target)) return TRUE diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index fc1f4e25e5..b9e3c379b4 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -296,7 +296,7 @@ category = CAT_CLOTHING -/datum/crafting_recipe/wintercoat_cosmic +/datum/crafting_recipe/garlic_necklace name = "Garlic Necklace" result = /obj/item/clothing/neck/garlic_necklace reqs = list(/obj/item/reagent_containers/food/snacks/grown/garlic = 15, diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index b0132884ea..b4744ec254 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -142,6 +142,8 @@ if(!QDELETED(clonemind.current)) if(clonemind.current.stat != DEAD) //mind is associated with a non-dead body return FALSE + if(AmBloodsucker(clonemind.current)) //If the mind is a bloodsucker + return FALSE if(clonemind.current.suiciding) // Mind is associated with a body that is suiciding. return FALSE if(clonemind.active) //somebody is using that mind @@ -159,8 +161,6 @@ mess = TRUE update_icon() return FALSE - if(AmBloodsucker(clonemind)) //If the mind is a bloodsucker - return FALSE attempting = TRUE //One at a time!! countdown.start() diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index ae685c5603..efccb5591e 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -247,7 +247,7 @@ owner.current.apply_status_effect(STATUS_EFFECT_UNCONSCIOUS) ADD_TRAIT(owner.current, TRAIT_FAKEDEATH, "bloodsucker") // Come after UNCONSCIOUS or else it fails ADD_TRAIT(owner.current, TRAIT_NODEATH, "bloodsucker") // Without this, you'll just keep dying while you recover. - ADD_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") // So you can heal in 0 G. otherwise you just...heal forever. + ADD_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") // So you can heal in space. Otherwise you just...heal forever. ADD_TRAIT(owner.current, TRAIT_RESISTLOWPRESSURE, "bloodsucker") // Visuals owner.current.update_sight() @@ -260,7 +260,6 @@ /datum/antagonist/bloodsucker/proc/Torpor_End() owner.current.stat = SOFT_CRIT owner.current.remove_status_effect(STATUS_EFFECT_UNCONSCIOUS) - owner.current.cure_fakedeath("bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_FAKEDEATH, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_NODEATH, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index 40e0dbd25a..8ac4fcebc1 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -300,7 +300,7 @@ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "drankkilled", /datum/mood_event/drankkilled) // BAD // in bloodsucker_life.dm /datum/action/bloodsucker/feed/ContinueActive(mob/living/user, mob/living/target) - return ..() && target && (!target_grappled || user.pulling == target) && sucking_checks(target, TRUE, TRUE) // Active, and still antag, + return ..() && target && (!target_grappled || user.pulling == target) && blood_sucking_checks(target, TRUE, TRUE) // Active, and still antag, // NOTE: We only care about pulling if target started off that way. Mostly only important for Aggressive feed. /datum/action/bloodsucker/feed/proc/ApplyVictimEffects(mob/living/target) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index f0e94e4845..40b8de36c5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -854,7 +854,7 @@ /mob/living/carbon/proc/can_defib() var/tlimit = DEFIB_TIME_LIMIT * 10 var/obj/item/organ/heart = getorgan(/obj/item/organ/heart) - if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK) || AmBloodsucker()) + if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK) || AmBloodsucker(src)) return if((world.time - timeofdeath) > tlimit) return diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index c4a9fdb086..415cd9889c 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -82,7 +82,7 @@ to_chat(H, "You're already full!") return //This checks whether or not they are wearing a garlic clove on their neck - if(!sucking_checks(victim, TRUE, FALSE)) + if(!blood_sucking_checks(victim, TRUE, FALSE)) return if(victim.stat == DEAD) to_chat(H, "You need a living victim!") @@ -96,7 +96,7 @@ to_chat(H, "[victim] is blessed! You stop just in time to avoid catching fire.") return //Here we check now for both the garlic cloves on the neck and for blood in the victims bloodstream. - if(!sucking_checks(victim, TRUE, TRUE)) + if(!blood_sucking_checks(victim, TRUE, TRUE)) return if(!do_after(H, 30, target = victim)) return