From bd380cc2a076c62a2b80e4ff68121507c7c7dc8a Mon Sep 17 00:00:00 2001 From: Jacquerel Date: Wed, 1 Nov 2023 00:04:14 +0000 Subject: [PATCH] Every kind of animal can hallucinate their mother (#79300) ## About The Pull Request The "your mother" hallucination fallaciously assumed that only humans could hallucinate, and then would throw errors if a mob with no DNA tried to hallucinate its mother. Now non-human mobs can also see their nagging parent in their brain. ![image](https://github.com/tgstation/tgstation/assets/7483112/38ca44ac-db1b-492d-8383-3ad2dcd1e309) Plus there's an easter egg for one special boy. ## Changelog :cl: fix: Non-human mobs can hallucinate their mothers without causing a runtime error /:cl: --- code/modules/hallucination/mother.dm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/code/modules/hallucination/mother.dm b/code/modules/hallucination/mother.dm index 70c4f13d173..bc2b312cc0b 100644 --- a/code/modules/hallucination/mother.dm +++ b/code/modules/hallucination/mother.dm @@ -16,7 +16,7 @@ mother = new(spawn_loc, hallucinator, src) mother.AddComponent(/datum/component/leash, owner = hallucinator, distance = get_dist(hallucinator, mother)) //basically makes mother follow them point_at(hallucinator) - talk("[hallucinator]!!!!") + talk("[capitalize(hallucinator.real_name)]!!!!") // Your mother won't be fooled by paltry disguises var/list/scold_lines = list( pick(list("CLEAN YOUR ROOM THIS INSTANT!", "IT'S TIME TO WAKE UP FOR SCHOOL!!")), pick(list("YOU INSULT YOUR GRANDPARENTS!", "USELESS!")), @@ -75,7 +75,19 @@ image_state = "" /obj/effect/client_image_holder/hallucination/your_mother/Initialize(mapload, list/mobs_which_see_us, datum/hallucination/parent) - . = ..() - var/mob/living/carbon/hallucinator = parent.hallucinator - image_icon = getFlatIcon(get_dynamic_human_appearance(/datum/outfit/yourmother, hallucinator.dna.species.type)) - regenerate_image() + var/mob/living/hallucinator = parent.hallucinator + if (ishuman(hallucinator)) + var/mob/living/carbon/dna_haver = hallucinator + image_icon = getFlatIcon(get_dynamic_human_appearance(/datum/outfit/yourmother, dna_haver.dna.species.type)) + return ..() + + if (istype(hallucinator, /mob/living/basic/pet/dog/corgi/ian)) + image_icon = getFlatIcon(get_dynamic_human_appearance(/datum/outfit/job/hop)) + name = "Head of Personnel" + return ..() + + image_icon = hallucinator.icon + image_state = hallucinator.icon_state + image_pixel_x = hallucinator.pixel_x + image_pixel_y = hallucinator.pixel_y + return ..()