diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index a47ee3942e8..8686b5dc25b 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -21,8 +21,13 @@ var/cradle_state = STATE_EMPTY var/can_be_ipc = FALSE - var/mob/living/carbon/brain/brainmob = null //The current occupant. - var/obj/item/organ/internal/brain/brainobj = null //The current brain organ. + + ///The current occupant + var/mob/living/carbon/brain/brainmob = null + + ///The current brain organ + var/obj/item/organ/internal/brain/brainobj = null + var/braintype = null var/static/list/valid_braintype = list("Skrell", "Vaurca") @@ -224,6 +229,13 @@ borg.mmi = null if(brainmob) QDEL_NULL(brainmob) + + //Technically since we haven't created the brain it isn't our responsibility to QDEL it + //But since I don't see any scenario in which a deletion would want to leave the brain + //without taking it out / move it itself, this will do + if(brainobj) + QDEL_NULL(brainobj) + return ..() /obj/item/device/mmi/radio_enabled diff --git a/html/changelogs/FluffyGhost-MMI_qdel_brain.yml b/html/changelogs/FluffyGhost-MMI_qdel_brain.yml new file mode 100644 index 00000000000..f932b5c7aa7 --- /dev/null +++ b/html/changelogs/FluffyGhost-MMI_qdel_brain.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Deleting an MMI now deletes the brain inside of it, and resolves the cross references."