anchor.diff:  	zooming_angle = lastangle
   	start_zooming()
   
  -/obj/item/gun/energy/beam_rifle/proc/stop_aiming()
  +/obj/item/gun/energy/beam_rifle/proc/stop_aiming(mob/user)
   	set waitfor = FALSE
   	aiming_time_left = aiming_time
   	aiming = FALSE
   	QDEL_LIST(current_tracers)
  -	stop_zooming()
  +	stop_zooming(user)
   
   /obj/item/gun/energy/beam_rifle/proc/set_user(mob/user)
   	if(user == current_user)
   		return
  -	stop_aiming()
  +	stop_aiming(current_user)
   	if(istype(current_user))
   		LAZYREMOVE(current_user.mousemove_intercept_objects, src)
   		current_user = null
  
positive.code: 		return
  	zooming = TRUE
  
  /obj/item/gun/energy/beam_rifle/proc/stop_zooming()
  	if(zooming)
  		zooming = FALSE
  		reset_zooming()
  
  /obj/item/gun/energy/beam_rifle/proc/reset_zooming()
  	if(!check_user(FALSE))
  		return
  	zoom_animating = 0
  	animate(current_user.client, pixel_x = 0, pixel_y = 0, 0, FALSE, LINEAR_EASING, ANIMATION_END_NOW)
  	zoom_current_view_increase = 0
  	current_user.client.change_view(CONFIG_GET(string/default_view))
  	zooming_angle = 0
  	current_zoom_x = 0
  	current_zoom_y = 0
  
negative.code: 	set_user(user)
  	. = ..()
  
  /obj/item/gun/energy/beam_rifle/dropped(mob/user)
  	set_user()
  	. = ..()
  
  