mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 23:23:28 +01:00
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)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<number, i++)
|
||||
for(var/i=0, i<number, i++)
|
||||
if(total_smoke > 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("<span class='danger'>[V] was frozen shut!</span>")
|
||||
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("<span class='danger'>[U] was frozen shut!</span>")
|
||||
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<src.number, i++)
|
||||
for(var/i=0, i<number, i++)
|
||||
if(total_smoke > 20)
|
||||
return
|
||||
spawn(0)
|
||||
@@ -292,10 +293,8 @@
|
||||
for(i=0, i<pick(0,1,1,1,2,2,2,3), i++)
|
||||
sleep(10)
|
||||
step(smoke,direction)
|
||||
spawn(smoke.time_to_live+rand(10,30))
|
||||
spawn(smoke.time_to_live*0.75+rand(10,30))
|
||||
if(smoke)
|
||||
spawn(0)
|
||||
smoke.fade_out()
|
||||
spawn(10)
|
||||
smoke.delete()
|
||||
addtimer(smoke, "fade_out", 0)
|
||||
QDEL_IN(smoke, 10)
|
||||
total_smoke--
|
||||
|
||||
@@ -19,8 +19,7 @@
|
||||
var/turf/T = loc
|
||||
if(istype(T, /turf))
|
||||
T.hotspot_expose(1000, 100)
|
||||
spawn (100)
|
||||
qdel(src)
|
||||
QDEL_IN(src, 100)
|
||||
|
||||
/obj/effect/effect/sparks/Destroy()
|
||||
var/turf/T = src.loc
|
||||
@@ -94,8 +93,7 @@
|
||||
var/turf/T = src.loc
|
||||
if(istype(T, /turf))
|
||||
T.hotspot_expose(3000,100)
|
||||
spawn (100)
|
||||
qdel(src)
|
||||
QDEL_IN(src, 100)
|
||||
return
|
||||
|
||||
/obj/effect/sparkles/Destroy()
|
||||
|
||||
@@ -11,18 +11,16 @@
|
||||
//var/turf/T = src.loc
|
||||
//if(istype(T, /turf))
|
||||
// T.firelevel = 0 //TODO: FIX
|
||||
spawn(70)
|
||||
delete()
|
||||
return
|
||||
QDEL_IN(src, 70)
|
||||
return
|
||||
|
||||
/obj/effect/effect/water/Move(turf/newloc)
|
||||
//var/turf/T = src.loc
|
||||
//if(istype(T, /turf))
|
||||
// T.firelevel = 0 //TODO: FIX
|
||||
if(--src.life < 1)
|
||||
if(--life < 1)
|
||||
//SN src = null
|
||||
delete()
|
||||
qdel()
|
||||
if(newloc.density)
|
||||
return 0
|
||||
.=..()
|
||||
@@ -81,7 +79,8 @@ steam.start() -- spawns the effect
|
||||
sleep(5)
|
||||
step(steam,direction)
|
||||
spawn(20)
|
||||
if(steam) steam.delete()
|
||||
if(steam)
|
||||
qdel(steam)
|
||||
|
||||
/////////////////////////////////////////////
|
||||
//////// Attach a steam trail to an object (eg. a reacting beaker) that will follow it
|
||||
@@ -115,7 +114,7 @@ steam.start() -- spawns the effect
|
||||
I.dir = src.holder.dir
|
||||
spawn(10)
|
||||
if(I)
|
||||
I.delete()
|
||||
qdel(I)
|
||||
src.number--
|
||||
spawn(2)
|
||||
if(src.on)
|
||||
|
||||
Reference in New Issue
Block a user