Merge pull request #20136 from ChangelingRain/asinglewhisperedtruthcanbreakchainsbreakalliesforgefriendsintoenemiesandenemiesintofriends

Being in front of the particle accelerator is now actually dangerous
This commit is contained in:
oranges
2016-08-28 12:44:17 +12:00
committed by GitHub
2 changed files with 27 additions and 23 deletions
@@ -4,9 +4,10 @@
icon = 'icons/obj/machines/particle_accelerator.dmi'
icon_state = "particle"
anchored = 1
density = 1
density = 0
var/movement_range = 10
var/energy = 10
var/speed = 1
/obj/effect/accelerated_particle/weak
movement_range = 8
@@ -21,24 +22,27 @@
energy = 50
/obj/effect/accelerated_particle/New(loc, dir = 2)
src.setDir(dir)
/obj/effect/accelerated_particle/New(loc)
..()
spawn(0)
move(1)
addtimer(src, "move", 1)
/obj/effect/accelerated_particle/Bump(atom/A)
if (A)
if(ismob(A))
if(A)
if(isliving(A))
toxmob(A)
if((istype(A,/obj/machinery/the_singularitygen))||(istype(A,/obj/singularity/)))
A:energy += energy
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
/obj/effect/accelerated_particle/Bumped(atom/A)
if(ismob(A))
Bump(A)
/obj/effect/accelerated_particle/Crossed(atom/A)
if(isliving(A))
toxmob(A)
/obj/effect/accelerated_particle/ex_act(severity, target)
@@ -46,15 +50,13 @@
/obj/effect/accelerated_particle/proc/toxmob(mob/living/M)
M.rad_act(energy*6)
M.updatehealth()
/obj/effect/accelerated_particle/proc/move(lag)
/obj/effect/accelerated_particle/proc/move()
if(!step(src,dir))
loc = get_step(src,dir)
forceMove(get_step(src,dir))
movement_range--
if(movement_range == 0)
qdel(src)
else
sleep(lag)
move(lag)
sleep(speed)
move()
@@ -27,15 +27,17 @@
/obj/structure/particle_accelerator/particle_emitter/proc/emit_particle(strength = 0)
if((last_shot + fire_delay) <= world.time)
last_shot = world.time
var/turf/T = get_step(src,dir)
var/turf/T = get_turf(src)
var/obj/effect/accelerated_particle/P
switch(strength)
if(0)
new/obj/effect/accelerated_particle/weak(T, dir)
P = new/obj/effect/accelerated_particle/weak(T)
if(1)
new/obj/effect/accelerated_particle(T, dir)
P = new/obj/effect/accelerated_particle(T)
if(2)
new/obj/effect/accelerated_particle/strong(T, dir)
P = new/obj/effect/accelerated_particle/strong(T)
if(3)
new/obj/effect/accelerated_particle/powerful(T, dir)
P = new/obj/effect/accelerated_particle/powerful(T)
P.setDir(dir)
return 1
return 0