Merge pull request #2105 from Yoshax/spookyghosts

Refactors wipe_core(), extends function to pAIs
This commit is contained in:
Neerti
2016-07-11 04:07:44 -04:00
committed by GitHub
3 changed files with 32 additions and 13 deletions

View File

@@ -29,15 +29,4 @@ var/global/list/empty_playable_ai_cores = list()
global_announcer.autosay("[src] has been moved to intelligence storage.", "Artificial Intelligence Oversight")
//Handle job slot/tater cleanup.
var/job = mind.assigned_role
job_master.FreeRole(job)
if(mind.objectives.len)
qdel(mind.objectives)
mind.special_role = null
clear_antag_roles(mind)
ghostize(0)
qdel(src)
clear_client()

View File

@@ -444,3 +444,18 @@
else
idaccessible = 0
src << "<span class='notice'>You block access modfications.</span>"
/mob/living/silicon/pai/verb/wipe_software()
set name = "Wipe Software"
set category = "OOC"
set desc = "Wipe your software. This is functionally equivalent to cryo or robotic storage, freeing up your job slot."
// Make sure people don't kill themselves accidentally
if(alert("WARNING: This will immediately wipe your software and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?",
"Wipe Software", "No", "No", "Yes") != "Yes")
return
close_up()
visible_message("<b>[src]</b> fades away from the screen, the pAI device goes silent.")
card.removePersonality()
clear_client()

View File

@@ -364,4 +364,19 @@
/mob/living/silicon/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash)
if(affect_silicon)
return ..()
return ..()
/mob/living/silicon/proc/clear_client()
//Handle job slot/tater cleanup.
var/job = mind.assigned_role
job_master.FreeRole(job)
if(mind.objectives.len)
qdel(mind.objectives)
mind.special_role = null
clear_antag_roles(mind)
ghostize(0)
qdel(src)