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
This commit is contained in:
Tad Hardesty
2020-09-25 08:47:32 -03:00
committed by GitHub
parent 6fd8b1a7c2
commit df8df0a8a7
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