anchor.diff:  			admin_ckey = add_admin(null, use_db)
   			if(!admin_ckey)
   				return
  -			change_admin_rank(admin_ckey, use_db)
  +			change_admin_rank(admin_ckey, use_db, null, legacy_only)
   		if("remove")
   			remove_admin(admin_ckey, use_db, D)
   		if("rank")
  -			change_admin_rank(admin_ckey, use_db, D)
  +			change_admin_rank(admin_ckey, use_db, D, legacy_only)
   		if("permissions")
  -			change_admin_flags(admin_ckey, use_db, D)
  +			change_admin_flags(admin_ckey, use_db, D, legacy_only)
   		if("activate")
   			force_readmin(admin_ckey, D)
   		if("deactivate")
  
positive.code: 			D.rank.rights = new_flags &= ~new_exclude_flags
  			D.rank.include_rights = new_flags
  			D.rank.exclude_rights = new_exclude_flags
  		var/client/C = GLOB.directory[admin_ckey] //find the client with the specified ckey (if they are logged in)
  		D.associate(C) //link up with the client and add verbs
  	message_admins("[key_name_admin(usr)] edited the permissions of [use_db ? " rank [D.rank.name] permanently" : "[admin_ckey] temporarily"]")
  
negative.code: 	var/new_can_edit_flags = input_bitfield(usr, "Editable permission flags<br>These are the flags this rank is allowed to edit if they have access to the permissions panel.<br>They will be unable to modify admins to a rank that has a flag not included here.<br>[use_db ? "This will affect ALL admins with this rank." : "This will affect only the current admin [admin_ckey]"]", "admin_flags", D.rank.can_edit_rights, 350, 710, allowed_edit_list = usr.client.holder.rank.can_edit_rights)
  	if(isnull(new_can_edit_flags))
  		return
  	if(use_db || legacy_only)
  		var/old_flags
  		var/old_exclude_flags
  		var/old_can_edit_flags
  