anchor.diff:  
   	dog_fashion = /datum/dog_fashion/head/ghost
   	var/list/dream_messages = list("white")
  +	var/bedsheet_type = BEDSHEET_SINGLE
   
   /obj/item/bedsheet/Initialize(mapload)
   	. = ..()
  
positive.code: 
  /obj/item/bedsheet/double
  	icon_state = "double_sheetwhite"
  	dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
  	worn_icon_state = "sheetwhite"
  
  /obj/item/bedsheet/blue/double
  	icon_state = "double_sheetblue"
  	worn_icon_state = "sheetblue"
  
  /obj/item/bedsheet/green/double
  	icon_state = "double_sheetgreen"
  	worn_icon_state = "sheetgreen"
  
  /obj/item/bedsheet/grey/double
  	icon_state = "double_sheetgrey"
  	worn_icon_state = "sheetgrey"
  
  /obj/item/bedsheet/orange/double
  	icon_state = "double_sheetorange"
  	worn_icon_state = "sheetorange"
  
  /obj/item/bedsheet/purple/double
  	icon_state = "double_sheetpurple"
  	worn_icon_state = "sheetpurple"
  
  /obj/item/bedsheet/patriot/double
  	icon_state = "double_sheetUSA"
  	worn_icon_state = "sheetUSA"
  
  /obj/item/bedsheet/rainbow/double
  	icon_state = "double_sheetrainbow"
  	worn_icon_state = "sheetrainbow"
  
  /obj/item/bedsheet/red/double
  	icon_state = "double_sheetred"
  	worn_icon_state = "sheetred"
  
  /obj/item/bedsheet/yellow/double
  	icon_state = "double_sheetyellow"
  	worn_icon_state = "sheetyellow"
  
  /obj/item/bedsheet/mime/double
  	icon_state = "double_sheetmime"
  	worn_icon_state = "sheetmime"
  
  /obj/item/bedsheet/clown/double
  	icon_state = "double_sheetclown"
  	worn_icon_state = "sheetclown"
  
  /obj/item/bedsheet/captain/double
  	icon_state = "double_sheetcaptain"
  	worn_icon_state = "sheetcaptain"
  
  /obj/item/bedsheet/rd/double
  	icon_state = "double_sheetrd"
  	worn_icon_state = "sheetrd"
  
  /obj/item/bedsheet/medical/double
  	icon_state = "double_sheetmedical"
  	worn_icon_state = "sheetmedical"
  
  /obj/item/bedsheet/cmo/double
  	icon_state = "double_sheetcmo"
  	worn_icon_state = "sheetcmo"
  
  /obj/item/bedsheet/hos/double
  	icon_state = "double_sheethos"
  	worn_icon_state = "sheethos"
  
  /obj/item/bedsheet/hop/double
  	icon_state = "double_sheethop"
  	worn_icon_state = "sheethop"
  
  /obj/item/bedsheet/ce/double
  	icon_state = "double_sheetce"
  	worn_icon_state = "sheetce"
  
  /obj/item/bedsheet/qm/double
  	icon_state = "double_sheetqm"
  	worn_icon_state = "sheetqm"
  
  /obj/item/bedsheet/chaplain/double
  	icon_state = "double_sheetchap"
  	worn_icon_state = "sheetchap"
  
  /obj/item/bedsheet/brown/double
  	icon_state = "double_sheetbrown"
  	worn_icon_state = "sheetbrown"
  
  /obj/item/bedsheet/black/double
  	icon_state = "double_sheetblack"
  	worn_icon_state = "sheetblack"
  
  /obj/item/bedsheet/centcom/double
  	icon_state = "double_sheetcentcom"
  	worn_icon_state = "sheetcentcom"
  
  /obj/item/bedsheet/syndie/double
  	icon_state = "double_sheetsyndie"
  	worn_icon_state = "sheetsyndie"
  
  /obj/item/bedsheet/cult/double
  	icon_state = "double_sheetcult"
  	worn_icon_state = "sheetcult"
  
  /obj/item/bedsheet/wiz/double
  	icon_state = "double_sheetwiz"
  	worn_icon_state = "sheetwiz"
  
  /obj/item/bedsheet/nanotrasen/double
  	icon_state = "double_sheetNT"
  	worn_icon_state = "sheetNT"
  
  /obj/item/bedsheet/ian/double
  	icon_state = "double_sheetian"
  	worn_icon_state = "sheetian"
  
  /obj/item/bedsheet/cosmos/double
  	icon_state = "double_sheetcosmos"
  	worn_icon_state = "sheetcosmos"
  
  /obj/item/bedsheet/random/double
  	icon_state = "random_bedsheet"
  
  /obj/item/bedsheet/random/double/Initialize()
  	..()
  	var/type = pick(typesof(/obj/item/bedsheet) - /obj/item/bedsheet/random)
  	new type(loc)
  	return INITIALIZE_HINT_QDEL
  
  /obj/item/bedsheet/dorms/double
  	icon_state = "random_bedsheet"
  
  /obj/item/bedsheet/dorms/double/Initialize()
  	..()
  	var/type = pick_weight(list("Colors" = 80, "Special" = 20))
  	switch(type)
  
negative.code: 	icon_state = "random_bedsheet"
  	name = "random bedsheet"
  	desc = "If you're reading this description ingame, something has gone wrong! Honk!"
  	bedsheet_type = BEDSHEET_ABSTRACT
  	var/static/list/bedsheet_list
  	var/spawn_type = BEDSHEET_SINGLE
  
  /obj/item/bedsheet/random/Initialize(mapload)
  	..()
  	if(!LAZYACCESS(bedsheet_list, spawn_type))
  		var/list/spawn_list = list()
  		var/list/possible_types = typesof(/obj/item/bedsheet)
  		for(var/obj/item/bedsheet/sheet as anything in possible_types)
  			if(initial(sheet.bedsheet_type) == spawn_type)
  				spawn_list += sheet
  		LAZYSET(bedsheet_list, spawn_type, spawn_list)
  	var/chosen_type = pick(bedsheet_list[spawn_type])
  	new chosen_type(loc)
  	return INITIALIZE_HINT_QDEL
  
  /obj/item/bedsheet/random/double
  	icon_state = "random_bedsheet"
  	spawn_type = BEDSHEET_DOUBLE
  
  /obj/item/bedsheet/dorms
  	icon_state = "random_bedsheet"
  	name = "random dorms bedsheet"
  	desc = "If you're reading this description ingame, something has gone wrong! Honk!"
  	bedsheet_type = BEDSHEET_DOUBLE
  	slot_flags = null
  
  /obj/item/bedsheet/dorms/Initialize(mapload)
  