anchor.diff: +#define MOTH_EATING_CLOTHING_DAMAGE 15
  +
   /obj/item/clothing
   	name = "clothing"
   	resistance_flags = FLAMMABLE
  
positive.code: 		return
  	if(prob(0.2))
  		to_chat(L, "<span class='warning'>The damaged threads on your [src.name] chafe!</span>")
  
negative.code: 		var/atom/movable/screen/inventory/hand/H = over_object
  		if(M.putItemFromInventoryInHandIfPossible(src, H.held_index))
  			add_fingerprint(usr)
  
  //This code is cursed, moths are cursed, and someday I will destroy it. but today is not that day.
  /obj/item/food/clothing
  	name = "temporary moth clothing snack item"
  	desc = "If you're reading this it means I messed up. This is related to moths eating clothes and I didn't know a better way to do it than making a new food object. <--- stinky idiot wrote this"
  	bite_consumption = 1
  	// sigh, ok, so it's not ACTUALLY infinite nutrition. this is so you can eat clothes more than...once.
  	// bite_consumption limits how much you actually get, and the take_damage in after eat makes sure you can't abuse this.
  	// ...maybe this was a mistake after all.
  	food_reagents = list(/datum/reagent/consumable/nutriment = INFINITY)
  	tastes = list("dust" = 1, "lint" = 1)
  	foodtypes = CLOTH
  
  	/// A weak reference to the clothing that created us
  	var/datum/weakref/clothing
  
  /obj/item/food/clothing/MakeEdible()
  	AddComponent(/datum/component/edible,\
  		initial_reagents = food_reagents,\
  		food_flags = food_flags,\
  		foodtypes = foodtypes,\
  		volume = max_volume,\
  		eat_time = eat_time,\
  		tastes = tastes,\
  		eatverbs = eatverbs,\
  		bite_consumption = bite_consumption,\
  		microwaved_type = microwaved_type,\
  		junkiness = junkiness,\
  		after_eat = CALLBACK(src, .proc/after_eat))
  
  /obj/item/food/clothing/proc/after_eat(mob/eater)
  	var/obj/item/clothing/resolved_clothing = clothing.resolve()
  	if (resolved_clothing)
  		resolved_clothing.take_damage(MOTH_EATING_CLOTHING_DAMAGE, sound_effect = FALSE)
  	else
  		qdel(src)
  
  /obj/item/clothing/attack(mob/attacker, mob/user, def_zone)
  	if(user.a_intent != INTENT_HARM && ismoth(attacker))
  		if (isnull(moth_snack))
  			moth_snack = new
  			moth_snack.name = name
  			moth_snack.clothing = WEAKREF(src)
  		moth_snack.attack(attacker, user, def_zone)
  	else
  		return ..()
  
  