anchor.diff:  	portal_visuals.setup_visuals(target)
   	generate_bumper()
   	use_power = ACTIVE_POWER_USE
  -	update_icon()
  +	update_appearance()
   
   /obj/machinery/gateway/proc/Transfer(atom/movable/AM)
   	if(!target || !target.incoming_pass_check(AM))
  
positive.code: 	if(!our_destination)
  		return
  
  
  	add_filter("portal_alpha", 1, list("type" = "alpha", "icon" = icon(alpha_icon, alpha_icon_state), "x" = 32, "y" = 32))
  	add_filter("portal_blur", 1, list("type" = "blur", "size" = 0.5))
  	add_filter("portal_ripple", 1, list("type" = "ripple", "size" = 2, "radius" = 1, "falloff" = 1, "y" = 7))
  
  	animate(get_filter("portal_ripple"), time = 1.3 SECONDS, loop = -1, easing = LINEAR_EASING, radius = 32)
  
  	/// DISABLED DUE TO BYOND BUG CAUSING STACK OVERFLOWS OF ANY HUMAN INSTANTIATION NEAR AN ACTIVATED GATEWAY.
  	/// Probably due to it referencing each other through the gateway (there's a deep loop, maybe BYOND isn't catching something when it usually would)
  	//var/turf/center_turf = our_destination.get_target_turf()
  
  	//vis_contents += block(locate(center_turf.x - 1, center_turf.y - 1, center_turf.z), locate(center_turf.x + 1, center_turf.y + 1, center_turf.z))
  
negative.code: 		. = "Exit gateway unpowered."
  
  /datum/gateway_destination/gateway/get_target_turf()
  	return get_step(target_gateway.portal,SOUTH)
  
  /datum/gateway_destination/gateway/post_transfer(atom/movable/AM)
  	. = ..()
  