mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-16 01:19:13 +01:00
* SDQL2 update * fix that verb * cl * fix that * toworld * this is pointless * update info * siiiiick.. * vv edit update * fix that * fix editing vars * fix VV * Port the /TG/ globals controller. * part 1 * part 2 * oops * part 3 * Hollow Purple * sadas * bsbsdb * muda na agaki ta * ids 1-15 * 16-31 * 41-75 * bring me back to how things used to be before i lost it all * the strength of mayhem * final touches * cl * protect some vars * update sdql2 to use glob * stuff? * forgot that is not defined there * whoops * observ * but it never gets better * a --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
69 lines
1.6 KiB
Plaintext
69 lines
1.6 KiB
Plaintext
/obj/effect/expl_particles
|
|
name = "explosive particles"
|
|
icon = 'icons/effects/effects.dmi'
|
|
icon_state = "explosion_particle"
|
|
opacity = 1
|
|
anchored = 1
|
|
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
|
|
|
/obj/effect/expl_particles/New()
|
|
..()
|
|
QDEL_IN(src, 15)
|
|
return
|
|
|
|
/obj/effect/expl_particles/Move()
|
|
..()
|
|
return
|
|
|
|
/datum/effect/system/expl_particles
|
|
var/number = 10
|
|
var/turf/location
|
|
var/total_particles = 0
|
|
|
|
/datum/effect/system/expl_particles/proc/set_up(n = 10, loca)
|
|
number = n
|
|
if(istype(loca, /turf/)) location = loca
|
|
else location = get_turf(loca)
|
|
|
|
/datum/effect/system/expl_particles/proc/start()
|
|
var/i = 0
|
|
for(i=0, i<src.number, i++)
|
|
spawn(0)
|
|
var/obj/effect/expl_particles/expl = new /obj/effect/expl_particles(src.location)
|
|
var/direct = pick(GLOB.alldirs)
|
|
for(i=0, i<pick(1;25,2;50,3,4;200), i++)
|
|
sleep(1)
|
|
step(expl,direct)
|
|
|
|
/obj/effect/explosion
|
|
name = "explosive particles"
|
|
icon = 'icons/effects/96x96.dmi'
|
|
icon_state = "explosion"
|
|
opacity = 1
|
|
anchored = 1
|
|
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
|
pixel_x = -32
|
|
pixel_y = -32
|
|
|
|
/obj/effect/explosion/New()
|
|
..()
|
|
QDEL_IN(src, 10)
|
|
return
|
|
|
|
/datum/effect/system/explosion
|
|
var/turf/location
|
|
|
|
/datum/effect/system/explosion/proc/set_up(loca)
|
|
if(istype(loca, /turf/)) location = loca
|
|
else location = get_turf(loca)
|
|
|
|
/datum/effect/system/explosion/proc/start()
|
|
new/obj/effect/explosion( location )
|
|
var/datum/effect/system/expl_particles/P = new/datum/effect/system/expl_particles()
|
|
P.set_up(10,location)
|
|
P.start()
|
|
spawn(5)
|
|
var/datum/effect/effect/system/smoke_spread/S = new/datum/effect/effect/system/smoke_spread()
|
|
S.set_up(5,0,location,null)
|
|
S.start()
|