diff --git a/code/game/objects/devices/paicard.dm b/code/game/objects/devices/paicard.dm
index 6938ff051fd..2ae71b91854 100644
--- a/code/game/objects/devices/paicard.dm
+++ b/code/game/objects/devices/paicard.dm
@@ -70,7 +70,6 @@
M << "Your mental faculties leave you.
"
M << "oblivion...
"
M.death(0)
- del(M)
src.pai = null
if(href_list["wires"])
var/t1 = text2num(href_list["wires"])
diff --git a/code/modules/mob/living/silicon/pai/death.dm b/code/modules/mob/living/silicon/pai/death.dm
index a3ff47bb05f..90adfd82499 100644
--- a/code/modules/mob/living/silicon/pai/death.dm
+++ b/code/modules/mob/living/silicon/pai/death.dm
@@ -13,9 +13,6 @@
//var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch
//mind.store_memory("Time of death: [tod]", 0)
- if(key)
- spawn(50)
- src.ghost()
for(var/mob/M in world)
if ((M.client && !( M.stat )))
cancel = 1
@@ -26,4 +23,7 @@
log_game("Rebooting because of no live players")
world.Reboot()
return
- return ..(gibbed)
\ No newline at end of file
+ if(key)
+ spawn(50)
+ src.ghostize(1)
+ del(src)
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm
index 383748404ed..1840f22b0c6 100644
--- a/code/modules/mob/living/silicon/pai/recruit.dm
+++ b/code/modules/mob/living/silicon/pai/recruit.dm
@@ -21,7 +21,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates
Topic(href, href_list[])
if(href_list["download"])
- var/datum/paiCandidate/candidate = locate(href_list["candidate"]) //pai_candidates.Find(href_list["candidate"])
+ var/datum/paiCandidate/candidate = locate(href_list["candidate"])
var/obj/item/device/paicard/card = locate(href_list["device"])
if(card.pai)
return
@@ -35,7 +35,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates
pai_candidates.Remove(candidate)
usr << browse(null, "window=findPai")
if(href_list["new"])
- var/datum/paiCandidate/candidate = locate(href_list["candidate"]) //pai_candidates.Find(href_list["candidate"])
+ var/datum/paiCandidate/candidate = locate(href_list["candidate"])
var/option = href_list["option"]
switch(option)
if("name")
@@ -162,8 +162,10 @@ var/datum/paiController/paiController // Global handler for pAI candidates
proc/requestRecruits()
for(var/mob/dead/observer/O in world)
if(asked.Find(O.key))
- if(asked[O] < world.time + askDelay)
+ if(world.time < asked[O.key] + askDelay)
continue
+ else
+ asked.Remove(O.key)
if(O.client)
var/hasSubmitted = 0
for(var/datum/paiCandidate/c in paiController.pai_candidates)
@@ -177,4 +179,4 @@ var/datum/paiController/paiController // Global handler for pAI candidates
asked[C.key] = world.time
var/response = input(C, "Someone is requesting a pAI personality. Would you like to play as a personal AI?", "pAI Request") in list ("Yes", "No")
if(response == "Yes")
- recruitWindow(C.mob)
\ No newline at end of file
+ recruitWindow(C.mob)