anchor.diff:  	for(var/i=1, i<=3, i++) // intialize sprays
   		if(reagents.total_volume < 1)
   			return
  -		..(the_targets[i])
  +		..(the_targets[i], user)
   
   /obj/item/reagent_containers/spray/chemsprayer/bioterror
   	list_reagents = list("sodium_thiopental" = 100, "coniine" = 100, "venom" = 100, "condensedcapsaicin" = 100, "initropidril" = 100, "polonium" = 100)
  
positive.code: 		reagents.trans_to(D, amount_per_transfer_from_this, 1/range)
  	D.color = mix_color_from_reagents(D.reagents.reagent_list)
  	var/wait_step = max(round(2+3/range), 2)
  	do_spray(A, wait_step, D, range, puff_reagent_left)
  
  /obj/item/reagent_containers/spray/proc/do_spray(atom/A, wait_step, obj/effect/decal/chempuff/D, range, puff_reagent_left)
  	set waitfor = FALSE
  	var/range_left = range
  	for(var/i=0, i<range, i++)
  
negative.code: 					if((M.mobility_flags & MOBILITY_STAND) || !range_left)
  						D.reagents.reaction(M, VAPOR)
  						puff_reagent_left -= 1
  						var/contained = D.reagents.log_list() // looks like more copypasta but now the reagents are in a different place fuck you old coder
  						log_combat(user, M,  "sprayed with", src, addition="which had [contained]")
  				else if(!range_left)
  					D.reagents.reaction(T, VAPOR)
  			else
  