Advertisement
Guest User

Untitled

a guest
Nov 19th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.29 KB | None | 0 0
  1. /datum/tech/materials
  2. name = "Materials Research"
  3. desc = "Development of new and improved materials."
  4. id = "materials"
  5.  
  6. /datum/tech/engineering
  7. name = "Engineering Research"
  8. desc = "Development of new and improved engineering parts and tools."
  9. id = "engineering"
  10.  
  11. /datum/tech/plasmatech
  12. name = "Plasma Research"
  13. desc = "Research into the mysterious substance colloquially known as \"plasma\"."
  14. id = "plasmatech"
  15. rare = 3
  16.  
  17. /datum/tech/powerstorage
  18. name = "Power Manipulation Technology"
  19. desc = "The various technologies behind the storage and generation of electricity."
  20. id = "powerstorage"
  21.  
  22. /datum/tech/bluespace
  23. name = "\"Blue-space\" Research"
  24. desc = "Research into the sub-reality known as \"blue-space\"."
  25. id = "bluespace"
  26. rare = 2
  27.  
  28. /datum/tech/biotech
  29. name = "Biological Technology"
  30. desc = "Research into the deeper mysteries of life and organic substances."
  31. id = "biotech"
  32.  
  33. /datum/tech/combat
  34. name = "Combat Systems Research"
  35. desc = "The development of offensive and defensive systems."
  36. id = "combat"
  37.  
  38. /datum/tech/magnets
  39. name = "Electromagnetic Spectrum Research"
  40. desc = "Research into the electromagnetic spectrum. No clue how they actually work, though."
  41. id = "magnets"
  42.  
  43. /datum/tech/programming
  44. name = "Data Theory Research"
  45. desc = "The development of new computer and artificial intelligence and data storage systems."
  46. id = "programming"
  47.  
  48. /datum/tech/syndicate
  49. name = "Illegal Technologies Research"
  50. desc = "The study of technologies that violate Nanotrasen regulations."
  51. id = "syndicate"
  52. rare = 4
  53.  
  54.  
  55. //Secret Technologies (hidden by default, require rare items to reveal)
  56.  
  57. /datum/tech/abductor
  58. name = "Alien Technologies Research"
  59. desc = "The study of technologies used by the advanced alien race known as Abductors."
  60. id = "abductor"
  61. rare = 5
  62. level = 0
  63.  
  64. /datum/tech/arcane
  65. name = "Arcane Research"
  66. desc = "When sufficiently analyzed, any magic becomes indistinguishable from technology."
  67. id = "arcane"
  68. rare = 5
  69. level = 0
  70.  
  71. /*
  72. //Branch Techs
  73. /datum/tech/explosives
  74. name = "Explosives Research"
  75. desc = "The creation and application of explosive materials."
  76. id = "explosives"
  77. req_tech = list("materials" = 3)
  78. /datum/tech/generators
  79. name = "Power Generation Technology"
  80. desc = "Research into more powerful and more reliable sources."
  81. id = "generators"
  82. req_tech = list("powerstorage" = 2)
  83. /datum/tech/robotics
  84. name = "Robotics Technology"
  85. desc = "The development of advanced automated, autonomous machines."
  86. id = "robotics"
  87. req_tech = list("materials" = 3, "programming" = 3)
  88. */
  89.  
  90.  
  91. /datum/tech/proc/getCost(var/current_level = null)
  92. // Calculates tech disk's supply points sell cost
  93. if(!current_level)
  94. current_level = initial(level)
  95.  
  96. if(current_level >= level)
  97. return 0
  98.  
  99. var/cost = 0
  100. for(var/i=current_level+1, i<=level, i++)
  101. if(i == initial(level))
  102. continue
  103. cost += i*rare
  104.  
  105. return cost
  106.  
  107. /datum/tech/proc/copy()
  108. var/datum/tech/T = new type()
  109. T.level = level
  110. return T
  111.  
  112. /obj/item/disk/tech_disk
  113. name = "technology disk"
  114. desc = "A disk for storing technology data for further research."
  115. icon_state = "datadisk0"
  116. materials = list(MAT_METAL=300, MAT_GLASS=100)
  117. var/list/tech_stored = list()
  118. var/max_tech_stored = 1
  119.  
  120. /obj/item/disk/tech_disk/Initialize()
  121. . = ..()
  122. pixel_x = rand(-5, 5)
  123. pixel_y = rand(-5, 5)
  124. for(var/i in 1 to max_tech_stored)
  125. tech_stored += null
  126.  
  127.  
  128. /obj/item/disk/tech_disk/adv
  129. name = "advanced technology disk"
  130. desc = "A disk for storing technology data for further research. This one has extra storage space."
  131. materials = list(MAT_METAL=300, MAT_GLASS=100, MAT_SILVER=50)
  132. max_tech_stored = 5
  133.  
  134. /obj/item/disk/tech_disk/super_adv
  135. name = "quantum technology disk"
  136. desc = "A disk for storing technology data for further research. This one has extremely large storage space."
  137. materials = list(MAT_METAL=300, MAT_GLASS=100, MAT_SILVER=100, MAT_GOLD=100)
  138. max_tech_stored = 10
  139.  
  140. /obj/item/disk/tech_disk/debug
  141. name = "\improper CentCom technology disk"
  142. desc = "A debug item for research."
  143. materials = list()
  144. max_tech_stored = 0
  145.  
  146. /obj/item/disk/tech_disk/debug/Initialize()
  147. . = ..()
  148. var/list/techs = subtypesof(/datum/tech)
  149. max_tech_stored = techs.len
  150. for(var/V in techs)
  151. var/datum/tech/T = new V()
  152. tech_stored += T
  153. T.level = 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement