anchor.diff:  			else
   				paint_mode = PAINT_NORMAL
   		if("select_colour")
  -			if(can_change_colour)
  -				var/chosen_colour = input(usr,"","Choose Color",paint_color) as color|null
  -
  -				if (!isnull(chosen_colour))
  -					paint_color = chosen_colour
  -					. = TRUE
  -				else
  -					. = FALSE
  +			. = can_change_colour && select_colour(usr)
   		if("enter_text")
   			var/txt = stripped_input(usr,"Choose what to write.",
   				"Scribbles",default = text_buffer)
  
positive.code: 			is_capped = !is_capped
  			to_chat(user, "<span class='notice'>The cap on [src] is now [is_capped ? "on" : "off"].</span>")
  			update_icon()
  
  /obj/item/toy/crayon/proc/staticDrawables()
  
  
negative.code: 	drawtype = pick(all_drawables)
  
  	refill()
  
  /obj/item/toy/crayon/examine(mob/user)
  	. = ..()
  	if(can_change_colour)
  		. += "<span class='notice'>Ctrl-click [src] while it's on your person to quickly recolour it.</span>"
  
  /obj/item/toy/crayon/proc/refill()
  	if(charges == -1)
  