anchor.diff:  /datum/atom_hud/alternate_appearance/basic
   	var/atom/target
   	var/image/theImage
  +	var/add_ghost_version = FALSE
  +	var/ghost_appearance
   
   /datum/atom_hud/alternate_appearance/basic/New(key, image/I, target_sees_appearance = TRUE)
   	..()
  
positive.code: 			var/datum/atom_hud/alternate_appearance/AA = alternate_appearances[K]
  			if(AA.appearance_key == key)
  				AA.remove_from_hud(src)
  
  /atom/proc/add_alt_appearance(type, key, ...)
  	if(!type || !key)
  
negative.code: 	add_to_hud(target, I)
  	if(target_sees_appearance && ismob(target))
  		add_hud_to(target)
  	if(add_ghost_version)
  		var/image/ghost_image = image(icon = I.icon , icon_state = I.icon_state, loc = I.loc)
  		ghost_image.override = FALSE
  		ghost_image.alpha = 128
  		ghost_appearance = new /datum/atom_hud/alternate_appearance/basic/observers(key + "_observer", ghost_image, FALSE)
  
  /datum/atom_hud/alternate_appearance/basic/Destroy()
  	. = ..()
  	if(ghost_appearance)
  		QDEL_NULL(ghost_appearance)
  
  /datum/atom_hud/alternate_appearance/basic/add_to_hud(atom/A)
  	A.hud_list[appearance_key] = theImage
  