Soulcatcher improvements

- Multiple minds at once, gotta catch 'em all, they can all talk to each other, etc
- A setting to enable mind backups for all minds in there like an implant
- Notifications to the already-in-there minds when one comes or goes
- If YOU get put in YOUR soulcatcher, it does ONE backup right then and stops, so medical will be notified
This commit is contained in:
Arokha Sieyes
2017-06-09 19:09:55 -04:00
parent e8e93b4c90
commit 9e51ba2fa3
3 changed files with 143 additions and 82 deletions
+12 -12
View File
@@ -50,6 +50,8 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore
if(mind.name in backed_up)
MR = backed_up[mind.name]
MR.last_update = world.time
//Pass a 0 to not change NIF status (because the elseif is checking for null)
if(nif)
MR.nif_path = nif.type
MR.nif_durability = nif.durability
@@ -59,7 +61,7 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore
var/datum/nifsoft/nifsoft = N
nifsofts += nifsoft.type
MR.nif_software = nifsofts
else
else if(isnull(nif)) //Didn't pass anything, so no NIF
MR.nif_path = null
MR.nif_durability = null
MR.nif_software = null
@@ -122,21 +124,18 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore
//Backend
var/ckey = ""
var/id_gender
var/id_gender = MALE
var/datum/mind/mind_ref
var/cryo_at
var/languages
var/mind_oocnotes
var/cryo_at = 0
var/languages = list()
var/mind_oocnotes = ""
var/nif_path
var/nif_durability
var/list/nif_software
/datum/transhuman/mind_record/New(var/datum/mind/mind,var/mob/living/carbon/human/M,var/obj/item/weapon/implant/backup/imp,var/add_to_db = 1)
ASSERT(mind && M && imp)
if(!istype(M))
return //Only works with humanoids.
ASSERT(mind)
//The mind!
mind_ref = mind
@@ -146,9 +145,10 @@ var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore
cryo_at = 0
//Mental stuff the game doesn't keep mentally
id_gender = M.identifying_gender
languages = M.languages.Copy()
mind_oocnotes = M.ooc_notes
if(istype(M))
id_gender = M.identifying_gender
languages = M.languages.Copy()
mind_oocnotes = M.ooc_notes
last_update = world.time