mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-21 13:05:36 +01:00
Merge pull request #22975 from coiax/fix-15384
Fixes floors flashing red after doomsday stops
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user