anchor.diff:  		audible_message("<span class='notice'>You hear spraying.</span>")
   		playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5)
   
  -	. = use_charges(1)
  +	var/cost = 1
  +	if(paint_mode == PAINT_LARGE_HORIZONTAL)
  +		cost = 5
  +	. = use_charges(cost)
   	var/fraction = min(1, . / reagents.maximum_volume)
  -	reagents.reaction(target, TOUCH, fraction * volume_multiplier)
  -	reagents.trans_to(target, ., volume_multiplier)
  +	fraction /= affected_turfs.len
  +	for(var/t in affected_turfs)
  +		reagents.reaction(t, TOUCH, fraction * volume_multiplier)
  +		reagents.trans_to(t, ., volume_multiplier)
   	check_empty(user)
   
   /obj/item/toy/crayon/attack(mob/M, mob/user)
  
positive.code: 			switch(paint_mode)
  				if(PAINT_NORMAL)
  					new /obj/effect/decal/cleanable/crayon(target, paint_color, drawing, temp, graf_rot)
  				if(PAINT_LARGE_HORIZONTAL)
  					if(is_type_in_list(locate(target.x-1,target.y,target.z), validSurfaces)\
  					   && is_type_in_list(locate(target.x+1,target.y,target.z), validSurfaces))
  						new /obj/effect/decal/cleanable/crayon(locate(target.x-1,target.y,target.z), paint_color, drawing, temp, graf_rot, PAINT_LARGE_HORIZONTAL_ICON)
  					else
  						user << "<span class='warning'>There isn't enough space to paint!</span>"
  						return
  
negative.code: 	if(gang_mode)
  		takes_time = TRUE
  
  	var/wait_time = 50
  	if(PAINT_LARGE_HORIZONTAL)
  		wait_time *= 3
  
  	if(takes_time)
  		if(!do_after(user, 50, target = target))
  			return
  
  	if(length(text_buffer))
  		drawing = copytext(text_buffer,1,2)
  
  
  	var/list/turf/affected_turfs = list()
  
  	if(actually_paints)
  		if(gang_mode)
  