From 69bbef61cfd0a2ba81fa86ea072a7eebc4f73897 Mon Sep 17 00:00:00 2001 From: Geeves Date: Fri, 22 Dec 2023 23:25:21 +0200 Subject: [PATCH] Mirror Shade Fix (#18044) --- code/modules/psionics/abilities/mirror_shade.dm | 15 +++++++++------ html/changelogs/geeves-mirror_shade_fix.yml | 6 ++++++ 2 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 html/changelogs/geeves-mirror_shade_fix.yml diff --git a/code/modules/psionics/abilities/mirror_shade.dm b/code/modules/psionics/abilities/mirror_shade.dm index 93b9c424328..78418bd9d72 100644 --- a/code/modules/psionics/abilities/mirror_shade.dm +++ b/code/modules/psionics/abilities/mirror_shade.dm @@ -23,10 +23,9 @@ if(do_after(user, 1 SECOND)) to_chat(user, SPAN_WARNING("You weave your psionic force into two copies of yourself!")) for(var/i = 1 to 2) - var/mob/living/simple_animal/hostile/mirror_shade/MS = new(pick(get_adjacent_open_turfs(user))) + var/mob/living/simple_animal/hostile/mirror_shade/MS = new(pick(get_adjacent_open_turfs(user)), user) MS.appearance = user.appearance MS.name = user.name - MS.owner = user /mob/living/simple_animal/hostile/mirror_shade damage_type = DAMAGE_PAIN @@ -38,14 +37,18 @@ attacktext = "phases its arms through" var/mob/living/carbon/human/owner -/mob/living/simple_animal/hostile/mirror_shade/Initialize() +/mob/living/simple_animal/hostile/mirror_shade/Initialize(mapload, var/mob/set_owner) . = ..() - friends += owner + if(set_owner) + owner = set_owner + friends += owner QDEL_IN(src, 30 SECONDS) /mob/living/simple_animal/hostile/mirror_shade/examine(mob/user) - /// Technically suspicious, but these have 30 seconds of lifetime so it's probably fine. - return owner.examine(user) + if(!QDELETED(owner)) + /// Technically suspicious, but these have 30 seconds of lifetime so it's probably fine. + return owner.examine(user) + return ..() /mob/living/simple_animal/hostile/mirror_shade/Destroy() owner = null diff --git a/html/changelogs/geeves-mirror_shade_fix.yml b/html/changelogs/geeves-mirror_shade_fix.yml new file mode 100644 index 00000000000..6c43ff11189 --- /dev/null +++ b/html/changelogs/geeves-mirror_shade_fix.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - bugfix: "Mirror Shades no longer attack the person who summoned them." \ No newline at end of file