mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-21 03:56:47 +01:00
Refactors ghost query to not use sleep (#17267)
* Refactors ghost query to not use sleeep * Update ghost_query.dm * don't need this anymore
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
var/ghost_query_type = null
|
||||
var/searching = FALSE
|
||||
var/datum/effect/effect/system/spark_spread/sparks
|
||||
var/datum/ghost_query/Q //This is used so we can unregister ourself.
|
||||
|
||||
/obj/item/antag_spawner/New()
|
||||
..()
|
||||
@@ -28,13 +29,18 @@
|
||||
return // Already searching.
|
||||
searching = TRUE
|
||||
|
||||
var/datum/ghost_query/Q = new ghost_query_type()
|
||||
var/list/winner = Q.query()
|
||||
if(winner.len)
|
||||
var/mob/observer/dead/D = winner[1]
|
||||
Q = new ghost_query_type()
|
||||
RegisterSignal(Q, COMSIG_GHOST_QUERY_COMPLETE, PROC_REF(get_winner))
|
||||
Q.query()
|
||||
|
||||
/obj/item/antag_spawner/proc/get_winner()
|
||||
if(Q && Q.candidates.len)
|
||||
var/mob/observer/dead/D = Q.candidates[1]
|
||||
spawn_antag(D.client, get_turf(src))
|
||||
else
|
||||
reset_search()
|
||||
UnregisterSignal(Q, COMSIG_GHOST_QUERY_COMPLETE)
|
||||
qdel_null(Q) //get rid of the query
|
||||
return
|
||||
|
||||
/obj/item/antag_spawner/proc/reset_search()
|
||||
|
||||
Reference in New Issue
Block a user