//WATER EFFECTS /obj/effect/particle_effect/water name = "water" icon_state = "extinguish" pass_flags = PASSTABLE | PASSMACHINE | PASSSTRUCTURE | PASSGRILLE | PASSBLOB | PASSVEHICLE var/life = 15 mouse_opacity = MOUSE_OPACITY_TRANSPARENT /obj/effect/particle_effect/water/Initialize(mapload) . = ..() QDEL_IN(src, 70) /obj/effect/particle_effect/water/Move(turf/newloc) if (--src.life < 1) qdel(src) return FALSE return ..() /obj/effect/particle_effect/water/Bump(atom/A) if(reagents) reagents.expose(A) if(A.reagents) A.reagents.expose_temperature(-25) return ..() ///////////////////////////////////////////// // GENERIC STEAM SPREAD SYSTEM //Usage: set_up(number of bits of steam, use North/South/East/West only, spawn location) // The attach(atom/atom) proc is optional, and can be called to attach the effect // to something, like a smoking beaker, so then you can just call start() and the steam // will always spawn at the items location, even if it's moved. /* Example: *var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread() -- creates new system *steam.set_up(5, 0, mob.loc) -- sets up variables *OPTIONAL: steam.attach(mob) *steam.start() -- spawns the effect */ ///////////////////////////////////////////// /obj/effect/particle_effect/steam name = "steam" icon_state = "extinguish" density = FALSE /obj/effect/particle_effect/steam/Initialize(mapload) . = ..() QDEL_IN(src, 20) /datum/effect_system/steam_spread effect_type = /obj/effect/particle_effect/steam /obj/effect/particle_effect/water/Bump(atom/A) if(A.reagents && reagents) A.reagents.expose_temperature(reagents.chem_temp)