[MIRROR] Allow printing whitelisted bodies, but resleeve lock them by force (#9011)

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
This commit is contained in:
CHOMPStation2
2024-10-01 13:39:18 -07:00
committed by GitHub
parent af2de93a8f
commit ebd7d7b18e
20 changed files with 161 additions and 63 deletions

View File

@@ -128,10 +128,15 @@
//Person OOCly doesn't want people impersonating them
locked = ckeylock
//CHOMPEdit Start, keep the lock
//Prevent people from printing restricted and whitelisted species
var/datum/species/S = GLOB.all_species["[M.dna.species]"]
if(S)
toocomplex = (S.spawn_flags & SPECIES_IS_WHITELISTED) || (S.spawn_flags & SPECIES_IS_RESTRICTED)
// Force ckey locking if species is whitelisted
//if((S.spawn_flags & SPECIES_IS_WHITELISTED) || (S.spawn_flags & SPECIES_IS_RESTRICTED))
//locked = TRUE
//CHOMPEdit End
//General stuff about them
synthetic = M.isSynthetic()

View File

@@ -33,7 +33,14 @@
var/datum/dna2/record/R = current_project.mydna
var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species)
if(current_project.locked)
H.resleeve_lock = current_project.ckey
H.resleeve_lock = current_project.ckey //CHOMPAdd, keep the lock
/*CHOMPRemove Start
if(current_project.ckey)
H.resleeve_lock = current_project.ckey
else
// Ensure even body scans without an attached ckey respect locking
H.resleeve_lock = "@badckey"
*///CHOMPRemove End
//Fix the external organs
for(var/part in current_project.limb_data)
@@ -191,6 +198,7 @@
occupant = null
if(locked)
locked = 0
update_icon()
return
return
@@ -200,6 +208,12 @@
return 100 * ((occupant.health + abs(CONFIG_GET(number/health_threshold_dead))) / (occupant.maxHealth + abs(CONFIG_GET(number/health_threshold_dead)))) // CHOMPEdit
return 0
/obj/machinery/clonepod/transhuman/examine(mob/user, infix, suffix)
. = ..()
if(occupant)
var/completion = get_completion()
. += "Progress: [round(completion)]% [chat_progress_bar(round(completion), TRUE)]"
//Synthetic version
/obj/machinery/transhuman/synthprinter
name = "SynthFab 3000"
@@ -293,7 +307,14 @@
var/datum/dna2/record/R = current_project.mydna
var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species)
if(current_project.locked)
H.resleeve_lock = current_project.ckey
H.resleeve_lock = current_project.ckey //CHOMPAdd, keep the lock
/*CHOMPRemove Start
if(current_project.ckey)
H.resleeve_lock = current_project.ckey
else
// Ensure even body scans without an attached ckey respect locking
H.resleeve_lock = "@badckey"
*///CHOMPRemove End
//Fix the external organs
for(var/part in current_project.limb_data)