mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
[MIRROR] September 2024 various fixes (#8920)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
/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
|
||||
@@ -11,24 +12,32 @@
|
||||
/datum/category_item/player_setup_item/vore/resleeve/load_character(var/savefile/S)
|
||||
S["resleeve_lock"] >> pref.resleeve_lock
|
||||
S["resleeve_scan"] >> pref.resleeve_scan
|
||||
S["mind_scan"] >> pref.mind_scan
|
||||
|
||||
|
||||
/datum/category_item/player_setup_item/vore/resleeve/save_character(var/savefile/S)
|
||||
S["resleeve_lock"] << pref.resleeve_lock
|
||||
S["resleeve_scan"] << pref.resleeve_scan
|
||||
S["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(pref.resleeve_scan)
|
||||
var/datum/transhuman/body_record/BR = new()
|
||||
BR.init_from_mob(character, pref.resleeve_scan, pref.resleeve_lock)
|
||||
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
|
||||
@@ -36,6 +45,7 @@
|
||||
/datum/category_item/player_setup_item/vore/resleeve/content(var/mob/user)
|
||||
. += "<br>"
|
||||
. += "<b>Start With Body Scan:</b> <a [pref.resleeve_scan ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_resleeve_scan=1'><b>[pref.resleeve_scan ? "Yes" : "No"]</b></a><br>"
|
||||
. += "<b>Start With Mind Scan:</b> <a [pref.mind_scan ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_mind_scan=1'><b>[pref.mind_scan ? "Yes" : "No"]</b></a><br>"
|
||||
. += "<b>Prevent Body Impersonation:</b> <a [pref.resleeve_lock ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_resleeve_lock=1'><b>[pref.resleeve_lock ? "Yes" : "No"]</b></a><br>"
|
||||
|
||||
/datum/category_item/player_setup_item/vore/resleeve/OnTopic(var/href, var/list/href_list, var/mob/user)
|
||||
@@ -45,4 +55,7 @@
|
||||
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 ..();
|
||||
|
||||
Reference in New Issue
Block a user