From f51cfd3ed1af37b13d23313be351d6112e890217 Mon Sep 17 00:00:00 2001
From: GDN <96800819+GDNgit@users.noreply.github.com>
Date: Mon, 12 Jun 2023 20:20:38 -0500
Subject: [PATCH] organs no longer gain germs while in a changeling
egg/headslug (#21239)
* organs no longer gain germs while in a changeling egg/headslug
* sneaky clarification improvement
---
code/modules/antagonists/changeling/powers/become_headslug.dm | 2 +-
code/modules/mob/living/simple_animal/hostile/headslug.dm | 1 +
code/modules/surgery/organs/organ.dm | 3 +++
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/code/modules/antagonists/changeling/powers/become_headslug.dm b/code/modules/antagonists/changeling/powers/become_headslug.dm
index 7bf97bacda1..a9cc40e08a5 100644
--- a/code/modules/antagonists/changeling/powers/become_headslug.dm
+++ b/code/modules/antagonists/changeling/powers/become_headslug.dm
@@ -42,7 +42,7 @@
crab.origin.active = TRUE
crab.origin.transfer_to(crab)
to_chat(crab, "You burst out of the remains of your former body in a shower of gore!")
- to_chat(crab, "We must bite the corpse of a non-primitive humanoid to lay our egg within them.")
+ to_chat(crab, "Our eggs can be laid in any humanoid by ALT-CLICKing on them, this takes 5 seconds.")
to_chat(crab, "Though this form shall perish after laying the egg, our true self shall be reborn in time.")
// This is done because after the original changeling gibs below, ALL of their actions are qdeleted
diff --git a/code/modules/mob/living/simple_animal/hostile/headslug.dm b/code/modules/mob/living/simple_animal/hostile/headslug.dm
index d71e88c653e..be30e6efa36 100644
--- a/code/modules/mob/living/simple_animal/hostile/headslug.dm
+++ b/code/modules/mob/living/simple_animal/hostile/headslug.dm
@@ -106,6 +106,7 @@
cling.give_power(new /datum/action/changeling/humanform)
M.key = origin.key
+ M.revive() // better make sure some weird shit doesn't happen, because it has in the past
owner.gib()
#undef EGG_INCUBATION_DEAD_TIME
diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm
index bff3e5c8885..95f290ef5c0 100644
--- a/code/modules/surgery/organs/organ.dm
+++ b/code/modules/surgery/organs/organ.dm
@@ -127,6 +127,9 @@
if(istype(loc,/obj/item/mmi))
germ_level = max(0, germ_level - 1) // So a brain can slowly recover from being left out of an MMI
return TRUE
+ if(istype(loc, /mob/living/simple_animal/hostile/headslug) || istype(loc, /obj/item/organ/internal/body_egg/changeling_egg))
+ germ_level = 0 // weird stuff might happen, best to be safe
+ return TRUE
if(is_found_within(/obj/structure/closet/crate/freezer))
return TRUE
if(is_found_within(/obj/machinery/clonepod))