[MIRROR] Disable some effect systems during init (#978)

* Disable some effect systems during init (#53929)

Instantly spread gib streaks rather than doing so over a delay
Completely skip broken light fixture sparking during init

* Disable some effect systems during init

Co-authored-by: Tad Hardesty <tad@platymuus.com>
This commit is contained in:
SkyratBot
2020-09-25 14:27:39 +02:00
committed by GitHub
co-authored by Tad Hardesty
parent cd01ab940b
commit 376e8978d3
5 changed files with 12 additions and 9 deletions
@@ -26,11 +26,12 @@
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6")
mergeable_decal = FALSE
/obj/effect/decal/cleanable/xenoblood/xgibs/proc/streak(list/directions)
/obj/effect/decal/cleanable/xenoblood/xgibs/proc/streak(list/directions, mapload=FALSE)
set waitfor = FALSE
var/direction = pick(directions)
for(var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++)
sleep(2)
if (!mapload)
sleep(2)
if(i > 0)
new /obj/effect/decal/cleanable/xenoblood/xsplatter(loc)
if(!step_to(src, get_step(src, direction), 0))
@@ -78,13 +78,14 @@
playsound(loc, 'sound/effects/gib_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 20 : 50, TRUE)
. = ..()
/obj/effect/decal/cleanable/blood/gibs/proc/streak(list/directions)
/obj/effect/decal/cleanable/blood/gibs/proc/streak(list/directions, mapload=FALSE)
set waitfor = FALSE
var/list/diseases = list()
SEND_SIGNAL(src, COMSIG_GIBS_STREAK, directions, diseases)
var/direction = pick(directions)
for(var/i in 0 to pick(0, 200; 1, 150; 2, 50))
sleep(2)
if (!mapload)
sleep(2)
if(i > 0)
new /obj/effect/decal/cleanable/blood/splatter(loc, diseases)
if(!step_to(src, get_step(src, direction), 0))
@@ -12,15 +12,16 @@
mergeable_decal = FALSE
beauty = -50
/obj/effect/decal/cleanable/robot_debris/proc/streak(list/directions)
/obj/effect/decal/cleanable/robot_debris/proc/streak(list/directions, mapload=FALSE)
set waitfor = FALSE
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++)
sleep(2)
if (!mapload)
sleep(2)
if (i > 0)
if (prob(40))
new /obj/effect/decal/cleanable/oil/streak(src.loc)
else if (prob(10))
else if (prob(10) && !mapload)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
@@ -53,7 +53,7 @@
var/list/directions = gibdirections[i]
if(isturf(loc))
if(directions.len)
gib.streak(directions)
gib.streak(directions, mapload)
return INITIALIZE_HINT_QDEL