Merge pull request #22975 from coiax/fix-15384

Fixes floors flashing red after doomsday stops
This commit is contained in:
oranges
2017-01-14 11:57:47 +13:00
committed by GitHub
5 changed files with 39 additions and 17 deletions
+26
View File
@@ -6,6 +6,9 @@ var/datum/subsystem/mapping/SSmapping
flags = SS_NO_FIRE
display_order = 50
var/list/nuke_tiles = list()
var/list/nuke_threats = list()
/datum/subsystem/mapping/New()
NEW_SS_GLOBAL(SSmapping)
@@ -40,5 +43,28 @@ var/datum/subsystem/mapping/SSmapping
setup_map_transitions()
..()
/* Nuke threats, for making the blue tiles on the station go RED
Used by the AI doomsday and the self destruct nuke.
*/
/datum/subsystem/mapping/proc/add_nuke_threat(datum/nuke)
nuke_threats[nuke] = TRUE
check_nuke_threats()
/datum/subsystem/mapping/proc/remove_nuke_threat(datum/nuke)
nuke_threats -= nuke
check_nuke_threats()
/datum/subsystem/mapping/proc/check_nuke_threats()
for(var/datum/d in nuke_threats)
if(!istype(d) || qdeleted(d))
nuke_threats -= d
var/threats = nuke_threats.len
for(var/N in nuke_tiles)
var/turf/open/floor/T = N
T.icon_state = (threats ? "rcircuitanim" : T.icon_regular_floor)
/datum/subsystem/mapping/Recover()
flags |= SS_NO_INIT