Nuclear bombs in rifts spawn a singulo on the station and count as a syndie victory (#42011)

* A nuclear bomb in a rift in spacetime will now count as a syndie major victory, and spawn a singulo back at the station

* Removes config debug stuff
This commit is contained in:
Francesco
2018-12-23 16:09:25 +11:00
committed by Jordie
parent 92da4ebb45
commit 0e8eb3acfc
3 changed files with 15 additions and 2 deletions
@@ -31,6 +31,9 @@
M.visible_message("<span class='danger'>The bluespace collapse crushes the air towards it, pulling [M] towards the ground...</span>")
M.Paralyze(5, TRUE, TRUE) //Overrides stun absorbs.
T.TerraformTurf(/turf/open/chasm/magic, /turf/open/chasm/magic)
for(var/fabricarea in get_areas(/area/fabric_of_reality))
var/area/fabric_of_reality/R = fabricarea
R.origin = loccheck
for (var/obj/structure/ladder/unbreakable/binary/ladder in GLOB.ladders)
ladder.ActivateAlmonds()
qdel(A)
+1
View File
@@ -137,6 +137,7 @@
has_gravity = TRUE
noteleport = TRUE
blob_allowed = FALSE
var/turf/origin
//CAPTURE THE FLAG
@@ -424,7 +424,10 @@
var/off_station = 0
var/turf/bomb_location = get_turf(src)
var/area/A = get_area(bomb_location)
if(bomb_location && is_station_level(bomb_location.z))
if(istype(A, /area/fabric_of_reality))
var/area/fabric_of_reality/fabric = A
new /obj/singularity(fabric.origin, 2000) // Stage five singulo back on the station, as a gift
else if(bomb_location && is_station_level(bomb_location.z))
if(istype(A, /area/space))
off_station = NUKE_NEAR_MISS
if((bomb_location.x < (128-NUKERANGE)) || (bomb_location.x > (128+NUKERANGE)) || (bomb_location.y < (128-NUKERANGE)) || (bomb_location.y > (128+NUKERANGE)))
@@ -445,7 +448,13 @@
/obj/machinery/nuclearbomb/proc/really_actually_explode(off_station)
Cinematic(get_cinematic_type(off_station),world,CALLBACK(SSticker,/datum/controller/subsystem/ticker/proc/station_explosion_detonation,src))
INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z)
var/area/A = get_area(src)
if(istype(A, /area/fabric_of_reality))
var/area/fabric_of_reality/fabric = A
var/turf/T = fabric.origin
INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, T.z)
else
INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z)
/obj/machinery/nuclearbomb/proc/get_cinematic_type(off_station)
if(off_station < 2)