anchor.diff:  	if(overlay)
   		qdel(overlay)
   
  -	return new/obj/effect/overlay/status_display_text(src, line_y, message)
  +	var/obj/effect/overlay/status_display_text/new_status_display_text = new(src, line_y, message)
  +	vis_contents += new_status_display_text
  +	return new_status_display_text
   
   /obj/machinery/status_display/update_appearance(updates=ALL)
   	. = ..()
  
positive.code: 		// Centered text
  		maptext = generate_text(line, center = TRUE)
  		maptext_x = 0
  
  	parent.vis_contents += src
  
  /obj/effect/overlay/status_display_text/Destroy()
  	sd_parent.vis_contents -= src
  	return ..()
  
  /obj/effect/overlay/status_display_text/proc/generate_text(text, center)
  	return {"<div style="font-size:[FONT_SIZE];color:[FONT_COLOR];font:'[FONT_STYLE]'[center ? ";text-align:center" : ""]" valign="top">[text]</div>"}
  
negative.code: 	vis_flags = VIS_INHERIT_LAYER | VIS_INHERIT_PLANE | VIS_INHERIT_ID
  
  	var/message
  
  /obj/effect/overlay/status_display_text/Initialize(mapload, yoffset, line)
  	. = ..()
  
  	maptext_y = yoffset
  	message = line
  
  	var/line_length = length_char(line)
  
  	if(line_length > CHARS_PER_LINE)
  		// Marquee text
  		var/marquee_message = "[line] • [line] • [line]"
  		var/marquee_length = line_length * 3 + 6
  		maptext = generate_text(marquee_message, center = FALSE)
  		maptext_width = 6 * marquee_length
  		maptext_x = 32
  
  		// Mask off to fit in screen.
  		add_filter("mask", 1, alpha_mask_filter(icon = icon(icon, "outline")))
  
  		// Scroll.
  		var/width = 4 * marquee_length
  		var/time = (width + 32) * SCROLL_RATE
  		animate(src, maptext_x = -width, time = time, loop = -1)
  		animate(maptext_x = 32, time = 0)
  