anchor.diff:  		if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy))	return//Shouldnt flag take care of this?
   		PreFire(A,user,params)
   
  +//Compute how to fire.....
   	proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params)
   		if(usr.a_intent in list("help","grab","disarm"))
   			//GraphicTrace(usr.x,usr.y,A.x,A.y,usr.z)
  
positive.code: 		targeted_by += I
  		I.target = src
  		//I.lock_time = world.time + 10 //Target has 1 second to realize they're targeted and stop (or target the opponent).
  		src << "\red (Your character is being targeted. They have 1 second to stop any click or move actions. While targeted, they may \
  		drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map, their items \
  		 (other than a weapon to de-target), or moving will result in being fired upon. The aggressor may also fire manually, \
  		 so try not to get on their bad side.)"
  		if(targeted_by.len == 1)
  			spawn(0)
  				target_locked = new /obj/effect/target_locked(src)
  				overlays += target_locked
  				spawn flick("locking",target_locked)
  				var/mob/T = I.loc
  				if(T)
  					T.item_use_icon = new /obj/screen/gun/item(null)
  					T.gun_move_icon = new /obj/screen/gun/move(null)
  
negative.code: 		update_icon()
  		return
  
  
  //Aiming at the target mob.
  	proc/Aim(var/mob/M)
  		if(target != M)
  			lock_time = world.time
  