Files
Polaris/code/modules/power/singularity/particle_accelerator/particle.dm
rastaf.zero@gmail.com b58e465bbe Shitton of bugfixes related to bryteloss/fireloss.
Note for coders: in order to help with seaching of health-related bugs I have moved many procs from /mob/ under /mob/living/.
Also, done some clean up and rearranging.
Results:
-admin rejuvenating now works again;
-people screams if getting creamated while still alive;
-diseases actually loose your health;
-monkeys wearing masks receive protection from acids as humans did;
-and other minor fixes and improvements.
Bugfix for imbuing a talisman.
RD now spawns with only 2 pens instead of 3.
Audible emotions can be heard by people outside of locker/other container.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1446 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-15 07:41:19 +00:00

74 lines
1.4 KiB
Plaintext

/obj/accelerated_particle
name = "Accelerated Particles"
desc = "Small things moving very fast."
icon = 'particle_accelerator.dmi'
icon_state = "particle"//Need a new icon for this
anchored = 1
density = 1
var
movement_range = 10
energy = 10
weak
movement_range = 8
energy = 5
strong
movement_range = 15
energy = 15
New(loc, dir = 2)
src.loc = loc
src.dir = dir
if(movement_range > 20)
movement_range = 20
spawn(0)
move(1)
return
Bump(atom/A)
if (A)
if(ismob(A))
toxmob(A)
if((istype(A,/obj/machinery/the_singularitygen))||(istype(A,/obj/machinery/singularity/)))
A:energy += energy
return
Bumped(atom/A)
if(ismob(A))
Bump(A)
return
ex_act(severity)
del(src)
return
proc
toxmob(var/mob/living/M)
var/radiation = (energy*2)
if(istype(M,/mob/living/carbon/human))
if(M:wear_suit) //TODO: check for radiation protection
radiation = round(radiation/2,1)
if(istype(M,/mob/living/carbon/monkey))
if(M:wear_suit) //TODO: check for radiation protection
radiation = round(radiation/2,1)
M.radiation += radiation
M.updatehealth()
//M << "\red You feel odd."
return
move(var/lag)
if(!step(src,dir))
src.loc = get_step(src,dir)
movement_range--
if(movement_range <= 0)
del(src)
else
sleep(lag)
move(lag)