// Define a place to save in character setup
/datum/preferences
var/resleeve_lock = 0 // Whether movs should have OOC reslieving protection. Default false.
var/resleeve_scan = 1 // Whether mob should start with a pre-spawn body scan. Default true.
var/mind_scan = 1 // Whether mob should start with a pre-spawn mind scan. Default true.
// Definition of the stuff for Sizing
/datum/category_item/player_setup_item/vore/resleeve
name = "Resleeving"
sort_order = 4
/datum/category_item/player_setup_item/vore/resleeve/load_character(list/save_data)
pref.resleeve_lock = save_data["resleeve_lock"]
pref.resleeve_scan = save_data["resleeve_scan"]
pref.mind_scan = save_data["mind_scan"]
/datum/category_item/player_setup_item/vore/resleeve/save_character(list/save_data)
save_data["resleeve_lock"] = pref.resleeve_lock
save_data["resleeve_scan"] = pref.resleeve_scan
save_data["mind_scan"] = pref.mind_scan
/datum/category_item/player_setup_item/vore/resleeve/sanitize_character()
pref.resleeve_lock = sanitize_integer(pref.resleeve_lock, 0, 1, initial(pref.resleeve_lock))
pref.resleeve_scan = sanitize_integer(pref.resleeve_scan, 0, 1, initial(pref.resleeve_scan))
pref.mind_scan = sanitize_integer(pref.mind_scan, 0, 1, initial(pref.mind_scan))
/datum/category_item/player_setup_item/vore/resleeve/copy_to_mob(var/mob/living/carbon/human/character)
if(character && !istype(character,/mob/living/carbon/human/dummy))
spawn(50)
if(QDELETED(character) || QDELETED(pref))
return // They might have been deleted during the wait
if(!character.virtual_reality_mob && !(/mob/living/carbon/human/proc/exit_vr in character.verbs)) // CHOMPedit start: janky fix to prevent resleeving VR avatars but beats refactoring transcore
if(pref.resleeve_scan)
var/datum/transhuman/body_record/BR = new()
BR.init_from_mob(character, pref.resleeve_scan, pref.resleeve_lock)
if(pref.mind_scan)
var/datum/transcore_db/our_db = SStranscore.db_by_key(null)
if(our_db)
our_db.m_backup(character.mind,character.nif,one_time = TRUE) // CHOMPedit end
if(pref.resleeve_lock)
character.resleeve_lock = character.ckey
character.original_player = character.ckey
/datum/category_item/player_setup_item/vore/resleeve/content(var/mob/user)
. += "
"
. += span_bold("Start With Body Scan:") + " [pref.resleeve_scan ? "Yes" : "No"]
"
. += span_bold("Start With Mind Scan:") + " [pref.mind_scan ? "Yes" : "No"]
"
. += span_bold("Prevent Body Impersonation:") + " [pref.resleeve_lock ? "Yes" : "No"]
"
/datum/category_item/player_setup_item/vore/resleeve/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["toggle_resleeve_lock"])
pref.resleeve_lock = pref.resleeve_lock ? 0 : 1;
return TOPIC_REFRESH
else if(href_list["toggle_resleeve_scan"])
pref.resleeve_scan = pref.resleeve_scan ? 0 : 1;
return TOPIC_REFRESH
else if(href_list["toggle_mind_scan"])
pref.mind_scan = pref.mind_scan ? 0 : 1;
return TOPIC_REFRESH
return ..();