Lockable body scans in charsetup

This commit is contained in:
Arokha Sieyes
2017-02-19 15:21:46 -05:00
parent 6262973afe
commit c3cd4600b7
3 changed files with 15 additions and 1 deletions

View File

@@ -156,6 +156,7 @@
"speciesname" = active_br.speciesname, \
"gender" = active_br.bodygender, \
"synthetic" = active_br.synthetic ? "Yes" : "No", \
"locked" = active_br.locked, \
"cando" = can_grow_active)
else
data["activeRecord"] = null
@@ -290,6 +291,10 @@
if(!sleever.occupant)
temp = "Error: Resleeving pod is not occupied."
//OOC body lock thing.
if(sleever.occupant.resleeve_lock && active_mr.ckey != sleever.occupant.resleeve_lock)
temp = "Error: Mind incompatible with body."
//Body to sleeve into, but mind is in another living body.
else if(active_mr.mind.current && active_mr.mind.current.stat != DEAD) //Mind is in a body already that's alive
var/answer = alert(active_mr.mind.current,"Someone is attempting to restore a backup of your mind into another body. Do you want to move to that body? You MAY suffer memory loss! (Same rules as CMD apply)","Resleeving","Yes","No")

View File

@@ -3,6 +3,8 @@
//// for the resleeving tech
////////////////////////////////
/mob/living/carbon/human/var/resleeve_lock
var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore
//Mind-backup database
@@ -113,6 +115,7 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore
//These may or may not be set, mostly irrelevant since it's just a body record.
var/ckey
var/locked
var/client/client_ref
var/datum/mind/mind_ref
var/synthetic
@@ -121,9 +124,13 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore
var/list/limb_data = list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO)
var/list/organ_data = list(O_HEART, O_EYES, O_LUNGS, O_BRAIN)
/datum/transhuman/body_record/New(var/mob/living/carbon/human/M,var/add_to_db = 1)
/datum/transhuman/body_record/New(var/mob/living/carbon/human/M,var/add_to_db = 1,var/ckeylock = 0)
ASSERT(M)
//Person OOCly doesn't want people impersonating them
locked = ckeylock
//General stuff about them
synthetic = M.isSynthetic()
speciesname = M.custom_species ? M.custom_species : M.dna.species
bodygender = M.gender

View File

@@ -206,6 +206,8 @@
var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, current_project.mydna.dna.species)
H.name = current_project.mydna.dna.real_name
H.real_name = H.name
if(current_project.locked)
H.resleeve_lock = current_project.ckey
//First the external organs
for(var/part in current_project.limb_data)