anchor.diff:  								else if(P.get_ammo(1) == 0)
   									P.attack_self(src)
   								else
  -									if(prob(robustness))
  -										P.afterattack(TARGET, src)
  +									P.afterattack(TARGET, src)
  +							else if(istype(main_hand,/obj/item/weapon/gun/energy))
  +								var/obj/item/weapon/gun/energy/P = main_hand
  +								if(!P.can_shoot())
  +									P.update_icon()
  +									drop_item()
  +								else
  +									P.afterattack(TARGET, src)
   							else
   								if(get_dist(src,TARGET) > 2)
   									if(!walk2derpless(TARGET))
  
positive.code: 	var/interest = 100
  	var/timeout = 0
  	var/inactivity_period = 0
  	var/atom/TARGET = null
  	var/atom/LAST_TARGET = null
  	var/list/nearby = list()
  	var/best_force = 0
  	var/retal = 0
  
negative.code: 	if((TARGET && (doing & FIGHTING)) || graytide) // this is a redundancy check
  		var/mob/living/M = TARGET
  		if(istype(M,/mob/living))
  			if(M in range(FUZZY_CHANCE_LOW,src))
  				if(M.health > 1)
  					if(main_hand)
  						if(main_hand.force != 0)
  							if(istype(main_hand,/obj/item/weapon/gun/projectile))
  