anchor.diff:  		addtimer(CALLBACK(src, .proc/spam_again), spam_delay)
   	var/list/available = list()
   	for(var/datum/paiCandidate/c in SSpai.candidates)
  -		if(c.ready)
  -			var/found = 0
  -			for(var/mob/dead/observer/o in player_list)
  -				if(o.key == c.key)
  -					found = 1
  -			if(found)
  -				available.Add(c)
  +		available.Add(check_ready(c))
   	var/dat = ""
   
   	dat += {"
  
positive.code: 		if(card.pai)
  			return
  		if(istype(card,/obj/item/device/paicard) && istype(candidate,/datum/paiCandidate))
  			var/mob/living/silicon/pai/pai = new(card)
  			if(!candidate.name)
  				pai.name = pick(ninja_names)
  
negative.code: /datum/subsystem/pai/proc/spam_again()
  	ghost_spam = FALSE
  
  /datum/subsystem/pai/proc/check_ready(var/datum/paiCandidate/C)
  	if(!C.ready)
  		return FALSE
  	for(var/mob/dead/observer/O in player_list)
  		if(O.key == C.key)
  			return C
  	return FALSE
  
  /datum/subsystem/pai/proc/findPAI(obj/item/device/paicard/p, mob/user)
  	if(!ghost_spam)
  		ghost_spam = TRUE
  