mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 01:49:19 +00:00
75 lines
1.5 KiB
Plaintext
75 lines
1.5 KiB
Plaintext
/obj/effect/accelerated_particle
|
|
name = "Accelerated Particles"
|
|
desc = "Small things moving very fast."
|
|
icon = 'icons/obj/machines/particle_accelerator.dmi'
|
|
icon_state = "particle"
|
|
anchored = TRUE
|
|
density = FALSE
|
|
var/movement_range = 10
|
|
var/energy = 10
|
|
var/speed = 1
|
|
|
|
/obj/effect/accelerated_particle/weak
|
|
movement_range = 8
|
|
energy = 5
|
|
|
|
/obj/effect/accelerated_particle/strong
|
|
movement_range = 15
|
|
energy = 15
|
|
|
|
/obj/effect/accelerated_particle/powerful
|
|
movement_range = 20
|
|
energy = 50
|
|
|
|
|
|
/obj/effect/accelerated_particle/New(loc)
|
|
..()
|
|
|
|
addtimer(CALLBACK(src, .proc/move), 1)
|
|
|
|
|
|
/obj/effect/accelerated_particle/Bump(atom/A)
|
|
if(A)
|
|
if(isliving(A))
|
|
toxmob(A)
|
|
else if(istype(A, /obj/machinery/the_singularitygen))
|
|
var/obj/machinery/the_singularitygen/S = A
|
|
S.energy += energy
|
|
else if(istype(A, /obj/singularity))
|
|
var/obj/singularity/S = A
|
|
S.energy += energy
|
|
else if(istype(A, /obj/structure/blob))
|
|
var/obj/structure/blob/B = A
|
|
B.take_damage(energy*0.6)
|
|
movement_range = 0
|
|
|
|
/obj/effect/accelerated_particle/Crossed(atom/A)
|
|
. = ..()
|
|
if(isliving(A))
|
|
toxmob(A)
|
|
|
|
|
|
/obj/effect/accelerated_particle/ex_act(severity, target)
|
|
qdel(src)
|
|
|
|
/obj/effect/accelerated_particle/singularity_pull()
|
|
return
|
|
|
|
/obj/effect/accelerated_particle/proc/toxmob(mob/living/M)
|
|
M.rad_act(energy*6)
|
|
|
|
/obj/effect/accelerated_particle/proc/move()
|
|
if(!step(src,dir))
|
|
var/turf/T = get_step(src,dir)
|
|
if(T)
|
|
forceMove(T)
|
|
else
|
|
qdel(src)
|
|
return
|
|
movement_range--
|
|
if(movement_range == 0)
|
|
qdel(src)
|
|
else
|
|
sleep(speed)
|
|
move()
|