anchor.diff:  		return
   	if (!internal_magazine && istype(A, /obj/item/ammo_box/magazine))
   		var/obj/item/ammo_box/magazine/AM = A
  -		if (!magazine && istype(AM, mag_type))
  +		if (!magazine)
   			insert_magazine(user, AM)
  -		else if (magazine)
  -			if(tac_reloads)
  +		else
  +			if (tac_reloads)
   				eject_magazine(user, FALSE, AM)
   			else
   				to_chat(user, "<span class='notice'>There's already a [magazine_wording] in \the [src].</span>")
  
positive.code: 	update_icon()
  
  /obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE)
  	if(user.transferItemToLoc(AM, src))
  		magazine = AM
  		if (display_message)
  
negative.code: 	magazine.forceMove(drop_location())
  	var/obj/item/ammo_box/magazine/old_mag = magazine
  	if (tac_load)
  		if (insert_magazine(user, tac_load, FALSE))
  			to_chat(user, "<span class='notice'>You perform a tactical reload on \the [src].")
  		else
  			to_chat(user, "<span class='warning'>You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing.</span>")
  			magazine = null
  	else
  		magazine = null
  	user.put_in_hands(old_mag)
  	old_mag.update_icon()
  	if (display_message)
  		to_chat(user, "<span class='notice'>You pull the [magazine_wording] out of \the [src].</span>")
  	update_icon()
  