diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index e1ea0b7f389..b8ff8a6c8b3 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -292,6 +292,8 @@ check_counter = 0 /obj/structure/alien/weeds/proc/clear_wall_weed() + if(wall_weed) + wall_weed.weed = null QDEL_NULL(wall_weed) /obj/structure/alien/weeds/proc/check_surroundings() @@ -329,7 +331,7 @@ return if(!wall_weed || QDELETED(wall_weed)) - wall_weed = new(get_turf(src)) + wall_weed = new /obj/structure/alien/wallweed(T, src) wall_weed.compare_overlays(wall_dirs) @@ -368,10 +370,17 @@ plane = GAME_PLANE max_integrity = 15 + var/obj/structure/alien/weeds/weed var/list/overlay_list = list() +/obj/structure/alien/wallweed/Initialize(mapload, weed_owner) + . = ..() + weed = weed_owner + /obj/structure/alien/wallweed/Destroy() playsound(loc, pick('sound/effects/alien_resin_break2.ogg','sound/effects/alien_resin_break1.ogg'), 50, FALSE) + if(weed) + weed.wall_weed = null return ..() /obj/structure/alien/wallweed/proc/compare_overlays(list/wall_dirs)