diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 88d336acdc875..3fd41554cb609 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -1168,3 +1168,7 @@ It'll return null if the organ doesn't correspond, so include null checks when u add_attack_logs(user, target, "vampirebit") return TRUE //end vampire codes + +/// Is this species able to be legion infested? +/datum/species/proc/can_be_legion_infested() + return TRUE diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index da0b3470b65b7..478646c328891 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -707,6 +707,9 @@ new /obj/structure/cloth_pile(get_turf(H), H) ..() +/datum/species/golem/cloth/can_be_legion_infested() + return FALSE // can't infest a pile of cloth, + /obj/structure/cloth_pile name = "pile of bandages" desc = "It emits a strange aura, as if there was still life within it..." diff --git a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm index 8308053221042..02f2d897d5ed3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm @@ -246,6 +246,8 @@ ..() /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H) + if(H?.dna?.species && !H.dna.species.can_be_legion_infested()) + return visible_message("[name] burrows into the flesh of [H]!") var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff!