diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index ebf752b8088..f17f457ce11 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -146,10 +146,18 @@ GLOBAL_LIST_INIT(hallucination_list, list( #define FAKE_FLOOD_EXPAND_TIME 20 #define FAKE_FLOOD_MAX_RADIUS 10 +/obj/effect/plasma_image_holder + icon_state = "nothing" + anchored = TRUE + layer = FLY_LAYER + plane = GAME_PLANE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + /datum/hallucination/fake_flood //Plasma starts flooding from the nearby vent var/turf/center var/list/flood_images = list() + var/list/flood_image_holders = list() var/list/turf/flood_turfs = list() var/image_icon = 'icons/effects/atmospherics.dmi' var/image_state = "plasma" @@ -167,10 +175,12 @@ GLOBAL_LIST_INIT(hallucination_list, list( qdel(src) return feedback_details += "Vent Coords: [center.x],[center.y],[center.z]" - var/image/plasma_image = image(image_icon,center,image_state,FLY_LAYER) + var/obj/effect/plasma_image_holder/pih = new(center) + var/image/plasma_image = image(image_icon, pih, image_state, FLY_LAYER) plasma_image.alpha = 50 plasma_image.plane = GAME_PLANE flood_images += plasma_image + flood_image_holders += pih flood_turfs += center if(target.client) target.client.images |= flood_images @@ -196,10 +206,12 @@ GLOBAL_LIST_INIT(hallucination_list, list( var/turf/T = get_step(FT, dir) if((T in flood_turfs) || !FT.CanAtmosPass(T)) continue - var/image/new_plasma = image(image_icon,T,image_state,FLY_LAYER) + var/obj/effect/plasma_image_holder/pih = new(T) + var/image/new_plasma = image(image_icon, pih, image_state, FLY_LAYER) new_plasma.alpha = 50 new_plasma.plane = GAME_PLANE flood_images += new_plasma + flood_image_holders += pih flood_turfs += T if(target.client) target.client.images |= flood_images @@ -212,6 +224,8 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.client.images.Remove(flood_images) qdel(flood_images) flood_images = list() + qdel(flood_image_holders) + flood_image_holders = list() return ..() /obj/effect/hallucination/simple/xeno