Advertisement
EditorRUS

Elementar particles code / BYOND

Aug 2nd, 2012
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. #define ENERGYLOSSCOEF 5000
  2. /obj/particle
  3. name = "Particle"
  4. icon = 'Antimatter.dmi'
  5. var/energy = 1 //In watts
  6. var/penetrate = 0 //It penetrate?
  7. New(var/turf/E, energyQ)
  8. ..()
  9. if(energyQ > 0)
  10. energy = energyQ
  11. while(energy > 0)
  12. sleep(rand(0,3))
  13. step(src,dir)
  14. energy = max(energy - ENERGYLOSSCOEF, 0)
  15. if(energy <= 0)
  16. del(src)
  17. break
  18. Bump(var/atom/T)
  19. /*
  20. if(istype(T,/obj/machinery/EnergyConverter))
  21. var/obj/machinery/EnergyConverter/EC = T
  22. EC.GetParticle(src)
  23. return
  24. * */
  25. if(istype(T,/mob/living))
  26. OtherAction(T)
  27. if(istype(T,/obj))
  28. if(penetrate)
  29. loc = T.loc
  30. else
  31. switch(dir)
  32. if(NORTH)
  33. dir = SOUTH
  34. if(EAST)
  35. dir = WEST
  36. if(WEST)
  37. dir = EAST
  38. if(SOUTH)
  39. dir = NORTH
  40. energy = max(energy - ENERGYLOSSCOEF * 10, 0) //Epic fail
  41. proc/OtherAction(var/mob/target)
  42. return
  43. /obj/particle/photon
  44. name = "Photons"
  45. icon = 'Antimatter.dmi'
  46. icon_state = "Photons"
  47. penetrate = 0
  48.  
  49. OtherAction(var/mob/living/carbon/target)
  50. target.adjustFireLoss(max(energy / 100,0))
  51. target.updatehealth()
  52. target << "\red \bold AARGHH!"
  53. /obj/particle/neutron
  54. name = "Neutrons"
  55. icon = 'Antimatter.dmi'
  56. icon_state = "Neutrons"
  57. penetrate = 1
  58.  
  59. OtherAction(var/mob/living/carbon/target)
  60. target.radiation += energy / target.nutrition * 10 //Hunger? GTFO from neutrons
  61. target << "\blue You feel uneasy"
  62. target.updatehealth()
  63. /obj/particle/positron
  64. name = "Positron"
  65. icon = 'Antimatter.dmi'
  66. icon_state = "Positron"
  67. penetrate = 1
  68.  
  69. OtherAction(var/mob/living/carbon/target)
  70. target.cloneloss += energy / 1000
  71. target << "\red You feel strange in your body"
  72. target.updatehealth()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement