From d8878973cc80393f5c2392d415e6bddac5fcd611 Mon Sep 17 00:00:00 2001 From: Dennok Date: Sun, 8 Mar 2020 12:54:07 +0200 Subject: [PATCH] fake flood fix --- code/modules/flufftext/Hallucination.dm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index ebf752b8088..93e1dd5c8eb 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