anchor.diff:  //subtypes with additional hooks for DNA and preferences.
   /datum/element/flavor_text/carbon
   
  -/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
  +/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
   	if(!iscarbon(target))
   		return ELEMENT_INCOMPATIBLE
   	. = ..()
  
positive.code: 	var/always_show = FALSE
  	var/max_len = MAX_FAVOR_LEN
  
  /datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
  	. = ..()
  
  	if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) //no reason why this shouldn't work on atoms too.
  
negative.code: /datum/element/flavor_text/carbon/set_flavor(mob/living/carbon/user)
  	. = ..()
  	if(. && user.dna)
  		user.dna.features["flavor_text"] = texts_by_mob[user]
  