mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-21 07:42:21 +00:00
* initial edits * more cleanup, yipee * moving shit around * dme fixes * fixes file ticking issue * more dme fixes + duplicate files??? * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * glass floor fixes * Apply suggestions from code review Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * requested reviews * the most painful bugfix of my life * forgot to remove some debug stuff * fixed issues with excess power * fuck powernets (fix) * Update code/modules/power/powernets/README.md Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
59 lines
1.5 KiB
Plaintext
59 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 = 11
|
|
var/energy = 10
|
|
|
|
/obj/effect/accelerated_particle/weak
|
|
movement_range = 9
|
|
energy = 5
|
|
|
|
/obj/effect/accelerated_particle/strong
|
|
movement_range = 16
|
|
energy = 15
|
|
|
|
/obj/effect/accelerated_particle/powerful
|
|
movement_range = 21
|
|
energy = 50
|
|
|
|
|
|
/obj/effect/accelerated_particle/Initialize(loc)
|
|
. = ..()
|
|
addtimer(CALLBACK(src, PROC_REF(propagate)), 1)
|
|
RegisterSignal(src, COMSIG_CROSSED_MOVABLE, PROC_REF(try_irradiate))
|
|
RegisterSignal(src, COMSIG_MOVABLE_CROSSED, PROC_REF(try_irradiate))
|
|
QDEL_IN(src, movement_range)
|
|
|
|
/obj/effect/accelerated_particle/proc/try_irradiate(src, atom/A)
|
|
if(isliving(A))
|
|
var/mob/living/L = A
|
|
L.rad_act(energy * 6)
|
|
else if(istype(A, /obj/machinery/the_singularitygen))
|
|
var/obj/machinery/the_singularitygen/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/Bump(obj/singularity/S)
|
|
if(!istype(S))
|
|
return ..()
|
|
S.energy += energy
|
|
|
|
|
|
/obj/effect/accelerated_particle/ex_act(severity)
|
|
qdel(src)
|
|
|
|
/obj/effect/accelerated_particle/singularity_pull()
|
|
return
|
|
|
|
/obj/effect/accelerated_particle/proc/propagate()
|
|
addtimer(CALLBACK(src, PROC_REF(propagate)), 1)
|
|
if(!step(src,dir))
|
|
forceMove(get_step(src, dir))
|