Files
Paradise/code/game/objects/effects/effect_system/effects_explosion.dm
S34N edeba92326 Smoke spells readability (#19387)
* read the smoke

* oops

* contra

* contra

* more tidying

* last one

* Update code/modules/projectiles/projectile/magic.dm

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
2022-10-15 18:05:55 +02:00

60 lines
1.4 KiB
Plaintext

/obj/effect/particle_effect/expl_particles
name = "explosive particles"
icon_state = "explosion_particle"
opacity = TRUE
/obj/effect/particle_effect/expl_particles/New()
..()
QDEL_IN(src, 15)
/datum/effect_system/expl_particles
number = 10
/datum/effect_system/expl_particles/start()
for(var/i in 1 to number)
spawn(0)
var/obj/effect/particle_effect/expl_particles/expl = new /obj/effect/particle_effect/expl_particles(location)
var/direct = pick(GLOB.alldirs)
var/steps_amt = pick(1;25,2;50,3,4;200)
for(var/j in 1 to steps_amt)
sleep(1)
step(expl,direct)
/obj/effect/explosion
name = "explosive particles"
icon = 'icons/effects/96x96.dmi'
icon_state = "explosion"
opacity = TRUE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
pixel_x = -32
pixel_y = -32
/obj/effect/explosion/New()
..()
QDEL_IN(src, 10)
/datum/effect_system/explosion
/datum/effect_system/explosion/set_up(loca)
if(isturf(loca))
location = loca
else
location = get_turf(loca)
/datum/effect_system/explosion/start()
new/obj/effect/explosion(location)
var/datum/effect_system/expl_particles/P = new/datum/effect_system/expl_particles()
P.set_up(10, 0, location)
P.start()
/datum/effect_system/explosion/smoke
/datum/effect_system/explosion/smoke/proc/create_smoke()
var/datum/effect_system/smoke_spread/S = new
S.set_up(5, FALSE, location, null)
S.start()
/datum/effect_system/explosion/smoke/start()
..()
addtimer(CALLBACK(src, .proc/create_smoke), 5)