From dfca6b833fa2180610ea083ac04392b97468a5e2 Mon Sep 17 00:00:00 2001 From: Ryan <80364400+Sirryan2002@users.noreply.github.com> Date: Mon, 29 Jul 2024 12:42:53 -0400 Subject: [PATCH] Cloth Golems can no longer be infested by Legions (#26287) * ClothGolemFix * Update code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> --------- Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> --- code/modules/mob/living/carbon/human/species/_species.dm | 4 ++++ code/modules/mob/living/carbon/human/species/golem.dm | 3 +++ .../mob/living/simple_animal/hostile/mining/hivelord.dm | 2 ++ 3 files changed, 9 insertions(+) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 88d336acdc8..3fd41554cb6 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 da0b3470b65..478646c3288 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 83080532210..02f2d897d5e 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!