From 718aaf4d874f5d3522b768f6eadc5efc41dcffbc Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 4 Nov 2017 12:06:35 +0400 Subject: [PATCH] removes the useless effect/delete() proc, used QDEL_IN and addtimers, nanofrost can weld scrubbers too, some more cleanup fixes and tried to get smoke fade_out to work (it doesn't work and hasn't in the past) --- .../effects/effect_system/effect_system.dm | 14 -------- .../effects/effect_system/effects_other.dm | 6 ++-- .../effects/effect_system/effects_smoke.dm | 35 +++++++++---------- .../effects/effect_system/effects_sparks.dm | 6 ++-- .../effects/effect_system/effects_water.dm | 13 ++++--- .../mob/living/simple_animal/bot/bot.dm | 3 +- 6 files changed, 29 insertions(+), 48 deletions(-) diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index eddf740c9af..a558c7933f2 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -21,20 +21,6 @@ would spawn and follow the beaker, even if it is carried or thrown. cameranet.updateVisibility(src) return ..() -/obj/effect/proc/delete() - qdel(src) - -/datum/effect/proc/fadeOut(atom/A, frames = 16) - if(A.alpha == 0) //Handle already transparent case - return - if(frames == 0) - frames = 1 //We will just assume that by 0 frames, the coder meant "during one frame". - var/step = A.alpha / frames - for(var/i = 0, i < frames, i++) - A.alpha -= step - sleep(world.tick_lag) - return - /datum/effect/system var/number = 3 var/cardinals = 0 diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm index 27c5804ada8..8785c3c610b 100644 --- a/code/game/objects/effects/effect_system/effects_other.dm +++ b/code/game/objects/effects/effect_system/effects_other.dm @@ -37,7 +37,7 @@ I.icon_state = "" spawn(20) if(I) - I.delete() + qdel(I) src.oldposition = T spawn(2) if(src.on) @@ -100,9 +100,9 @@ II.icon_state = "" spawn(20) if(I) - I.delete() + qdel(I) if(II) - II.delete() + qdel(II) spawn(2) if(src.on) src.processing = 1 diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 19d7d1e0b58..005b4459a60 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -23,12 +23,13 @@ var/step = alpha / frames for(var/i = 0, i < frames, i++) alpha -= step - sleep(world.tick_lag) + if(alpha < 160) + set_opacity(0) + stoplag() /obj/effect/effect/smoke/New() ..() - spawn(time_to_live) - delete() + QDEL_IN(src, time_to_live) return /obj/effect/effect/smoke/Crossed(mob/living/M) @@ -61,8 +62,7 @@ direction = direct /datum/effect/system/smoke_spread/start() - var/i = 0 - for(i=0, i 20) return spawn(0) @@ -81,10 +81,8 @@ step(S,direction) spawn(S.time_to_live*0.75+rand(10,30)) if(S) - spawn(0) - S.fade_out() - spawn(10) - S.delete() + addtimer(S, "fade_out", 0) + QDEL_IN(S, 10) total_smoke-- ///////////////////////////////////////////// @@ -147,10 +145,15 @@ G.nitrogen += (G.toxins) G.toxins = 0 for(var/obj/machinery/atmospherics/unary/vent_pump/V in T) - if(!isnull(V.welded) && !V.welded) //must be an unwelded vent pump or vent scrubber. + if(!isnull(V.welded) && !V.welded) //must be an unwelded vent pump. V.welded = 1 V.update_icon() V.visible_message("[V] was frozen shut!") + for(var/obj/machinery/atmospherics/unary/vent_scrubber/U in T) + if(!isnull(U.welded) && !U.welded) //must be an unwelded vent scrubber. + U.welded = 1 + U.update_icon() + U.visible_message("[U] was frozen shut!") for(var/mob/living/L in T) L.ExtinguishMob() for(var/obj/item/Item in T) @@ -257,8 +260,6 @@ log_game("A chemical smoke reaction has taken place in ([where])[contained]. No associated key. CODERS: carry.my_atom may be null.") /datum/effect/system/smoke_spread/chem/start(effect_range = 2) - var/i = 0 - var/color = mix_color_from_reagents(chemholder.reagents.reagent_list) var/obj/effect/effect/smoke/chem/smokeholder = new smoke_type(location) for(var/atom/A in view(effect_range, smokeholder)) @@ -268,7 +269,7 @@ if(C.can_breathe_gas()) chemholder.reagents.copy_to(C, chemholder.reagents.total_volume) qdel(smokeholder) - for(i=0, i 20) return spawn(0) @@ -292,10 +293,8 @@ for(i=0, i