anchor.diff:  	SEND_SIGNAL(user, COMSIG_MOB_ITEM_SHOOTED)
   	process_fire(target, user, TRUE, params, null, bonus_spread)
   
  -
  +/obj/item/gun/proc/check_botched(mob/living/user, params)
  +	if(clumsy_check)
  +		if(istype(user))
  +			if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40))
  +				to_chat(user, "<span class='userdanger'>You shoot yourself in the foot with [src]!</span>")
  +				var/shot_leg = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
  +				process_fire(user, user, FALSE, params, shot_leg)
  +				user.dropItemToGround(src, TRUE)
  +				return TRUE
   
   /obj/item/gun/can_trigger_gun(mob/living/user)
   	. = ..()
  
positive.code: 		return
  
  	//Exclude lasertag guns from the TRAIT_CLUMSY check.
  	if(clumsy_check)
  		if(istype(user))
  			if (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40))
  				to_chat(user, "<span class='userdanger'>You shoot yourself in the foot with [src]!</span>")
  				var/shot_leg = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
  				process_fire(user, user, FALSE, params, shot_leg)
  				user.dropItemToGround(src, TRUE)
  				return
  
  	if(weapon_weight == WEAPON_HEAVY && user.get_inactive_held_item())
  		to_chat(user, "<span class='userdanger'>You need both hands free to fire \the [src]!</span>")
  
negative.code: 
  	if(zoomable)
  		azoom = new()
  		azoom.gun = src
  