anchor.diff:  		if(!GLOB.keybindings_by_name[bindname])
   			modless_key_bindings -= key
   
  -/datum/preferences/proc/save_preferences()
  +/datum/preferences/proc/save_preferences(bypass_cooldown = FALSE)
   	if(!path)
   		return 0
  -	if(world.time < saveprefcooldown)
  -		if(istype(parent))
  -			to_chat(parent, "<span class='warning'>You're attempting to save your preferences a little too fast. Wait half a second, then try again.</span>")
  -		return 0
  -	saveprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN
  +	if(!bypass_cooldown)
  +		if(world.time < saveprefcooldown)
  +			if(istype(parent))
  +				to_chat(parent, "<span class='warning'>You're attempting to save your preferences a little too fast. Wait half a second, then try again.</span>")
  +			return 0
  +		saveprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN
   	var/savefile/S = new /savefile(path)
   	if(!S)
   		return 0
  
positive.code: 	path = "data/player_saves/[ckey[1]]/[ckey]/[filename]"
  	vr_path = "data/player_saves/[ckey[1]]/[ckey]/vore"
  
  /datum/preferences/proc/load_preferences()
  	if(!path)
  		return FALSE
  	if(world.time < loadprefcooldown)
  		if(istype(parent))
  			to_chat(parent, "<span class='warning'>You're attempting to load your preferences a little too fast. Wait half a second, then try again.</span>")
  		return FALSE
  	loadprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN
  	if(!fexists(path))
  		return FALSE
  
  
negative.code: 				continue
  			max_save_slots = max(max_save_slots, slotnum) //so we can still update byond member slots after they lose memeber status
  			default_slot = slotnum
  			if (load_character(null, TRUE)) // this updtates char slots
  				save_character(TRUE)
  		default_slot = old_default_slot
  		max_save_slots = old_max_save_slots
  		save_preferences(TRUE)
  
  	return TRUE
  
  