Repaired several effects. (#21711)

Fully fixes #21686, as well as other assorted issues caused by #21458.


![dreamseeker_ACcsHOw9m3](https://github.com/user-attachments/assets/cceb66b8-a067-4aba-aa41-5bfd4784a37a)

![dreamseeker_ihjvvcZmzH](https://github.com/user-attachments/assets/abaecb2e-d156-47af-8482-c7ad85a49cf4)
This commit is contained in:
Cody Brittain
2026-01-14 01:57:47 -05:00
committed by GitHub
parent 7e917d73ec
commit e300cf9bbf
9 changed files with 180 additions and 6 deletions
@@ -45,6 +45,14 @@
friction = 0.2
grow = 0.0015
/particles/mist/back
name = "mist_back"
spawning = 7
position = generator("box", list(-20, -1), list(20, 20), UNIFORM_RAND)
lifespan = 6 SECONDS
fadein = 1.5 SECONDS
/particles/heat
name = "heat"
width = 500
@@ -82,3 +90,61 @@
layer = BELOW_TABLE_LAYER
alpha = 128
/obj/particle_emitter
name = ""
anchored = TRUE
mouse_opacity = 0
appearance_flags = PIXEL_SCALE
var/particle_type = null
/obj/particle_emitter/Initialize(mapload, time, _color)
. = ..()
if (particle_type)
particles = GLOB.all_particles[particle_type]
if (time > 0)
QDEL_IN(src, time)
color = _color
// Future medium-quality heat effect
/obj/particle_emitter/heat
particle_type = "heat"
render_target = HEAT_EFFECT_PLATE_RENDER_TARGET
appearance_flags = PIXEL_SCALE | NO_CLIENT_COLOR
/obj/particle_emitter/heat/Initialize()
. = ..()
add_filter("heat_blur", 1, gauss_blur_filter(1))
// High-quality heat effect
/obj/particle_emitter/heat/high
particle_type = "high heat"
// Medium/High-quality cold effect
/obj/particle_emitter/mist
particle_type = "mist"
layer = FIRE_LAYER
/obj/particle_emitter/mist/back
particle_type = "mist_back"
layer = BELOW_OBJ_LAYER
/obj/particle_emitter/mist/back/gas
render_target = COLD_EFFECT_BACK_PLATE_RENDER_TARGET
/obj/particle_emitter/mist/back/gas/Initialize(mapload, time, _color)
. = ..()
add_filter("cold_alpha", 1, alpha_mask_filter(render_source = COLD_EFFECT_PLATE_RENDER_TARGET, flags = MASK_INVERSE))
//for cold gas effect
/obj/particle_emitter/mist/gas
render_target = COLD_EFFECT_PLATE_RENDER_TARGET
var/obj/particle_emitter/mist/back/b = /obj/particle_emitter/mist/back/gas
/obj/particle_emitter/mist/gas/Initialize(mapload, time, _color)
. = ..()
b = new b(null)
add_vis_contents(b)