Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.43 KB | None | 0 0
  1. /* Diffrent misc types of sheets
  2. * Contains:
  3. * Metal
  4. * Plasteel
  5. * Wood
  6. * Cloth
  7. * Plastic
  8. * Cardboard
  9. * Runed Metal (cult)
  10. * Brass (clockwork cult)
  11. */
  12.  
  13. /*
  14. * Metal
  15. */
  16. GLOBAL_LIST_INIT(metal_recipes, list ( \
  17. new/datum/stack_recipe("stool", /obj/structure/chair/stool, one_per_turf = 1, on_floor = 1), \
  18. new/datum/stack_recipe("bar stool", /obj/structure/chair/stool/bar, one_per_turf = 1, on_floor = 1), \
  19. new/datum/stack_recipe("chair", /obj/structure/chair, one_per_turf = 1, on_floor = 1), \
  20. new/datum/stack_recipe("swivel chair", /obj/structure/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \
  21. new/datum/stack_recipe("comfy chair", /obj/structure/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \
  22. new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1), \
  23. null, \
  24. new/datum/stack_recipe("rack parts", /obj/item/weapon/rack_parts), \
  25. new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \
  26. null, \
  27. new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1), \
  28. null, \
  29. new/datum/stack_recipe("floor tile", /obj/item/stack/tile/plasteel, 1, 4, 20), \
  30. new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60), \
  31. null, \
  32. new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 40, one_per_turf = 1, on_floor = 1), \
  33. null, \
  34. new/datum/stack_recipe("computer frame", /obj/structure/frame/computer, 5, time = 25, one_per_turf = 1, on_floor = 1), \
  35. new/datum/stack_recipe("modular console", /obj/machinery/modular_computer/console/buildable/, 10, time = 25, one_per_turf = 1, on_floor = 1), \
  36. new/datum/stack_recipe("machine frame", /obj/structure/frame/machine, 5, time = 25, one_per_turf = 1, on_floor = 1), \
  37. new/datum/stack_recipe("airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
  38. new/datum/stack_recipe("firelock frame", /obj/structure/firelock_frame, 3, time = 50, one_per_turf = 1, on_floor = 1), \
  39. new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1), \
  40. new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 25, one_per_turf = 1, on_floor = 1), \
  41. new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 25, one_per_turf = 1, on_floor = 1), \
  42. null, \
  43. new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade), \
  44. new/datum/stack_recipe("light fixture frame", /obj/item/wallframe/light_fixture, 2), \
  45. new/datum/stack_recipe("small light fixture frame", /obj/item/wallframe/light_fixture/small, 1), \
  46. null, \
  47. new/datum/stack_recipe("apc frame", /obj/item/wallframe/apc, 2), \
  48. new/datum/stack_recipe("air alarm frame", /obj/item/wallframe/airalarm, 2), \
  49. new/datum/stack_recipe("fire alarm frame", /obj/item/wallframe/firealarm, 2), \
  50. new/datum/stack_recipe("extinguisher cabinet frame", /obj/item/wallframe/extinguisher_cabinet, 2), \
  51. new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1), \
  52. null, \
  53. new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \
  54. new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = 1, on_floor = 1), \
  55. ))
  56.  
  57. /obj/item/stack/sheet/metal
  58. name = "metal"
  59. desc = "Sheets made out of metal."
  60. singular_name = "metal sheet"
  61. icon_state = "sheet-metal"
  62. materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT)
  63. throwforce = 10
  64. flags = CONDUCT
  65. origin_tech = "materials=1"
  66. resistance_flags = FIRE_PROOF
  67. merge_type = /obj/item/stack/sheet/metal
  68.  
  69. /obj/item/stack/sheet/metal/ratvar_act()
  70. new /obj/item/stack/tile/brass(loc, amount)
  71. qdel(src)
  72.  
  73. /obj/item/stack/sheet/metal/narsie_act()
  74. if(prob(20))
  75. new /obj/item/stack/sheet/runed_metal(loc, amount)
  76. qdel(src)
  77.  
  78. /obj/item/stack/sheet/metal/fifty
  79. amount = 50
  80.  
  81. /obj/item/stack/sheet/metal/twenty
  82. amount = 20
  83.  
  84. /obj/item/stack/sheet/metal/five
  85. amount = 5
  86.  
  87. /obj/item/stack/sheet/metal/cyborg
  88. materials = list()
  89. is_cyborg = 1
  90. cost = 500
  91.  
  92. /obj/item/stack/sheet/metal/Initialize(mapload, new_amount, merge = TRUE)
  93. recipes = GLOB.metal_recipes
  94. return ..()
  95.  
  96. /*
  97. * Plasteel
  98. */
  99. GLOBAL_LIST_INIT(plasteel_recipes, list ( \
  100. new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1), \
  101. new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 50), \
  102. ))
  103.  
  104. /obj/item/stack/sheet/plasteel
  105. name = "plasteel"
  106. singular_name = "plasteel sheet"
  107. desc = "This sheet is an alloy of iron and plasma."
  108. icon_state = "sheet-plasteel"
  109. item_state = "sheet-metal"
  110. materials = list(MAT_METAL=2000, MAT_PLASMA=2000)
  111. throwforce = 10
  112. flags = CONDUCT
  113. origin_tech = "materials=2"
  114. armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 80)
  115. resistance_flags = FIRE_PROOF
  116. merge_type = /obj/item/stack/sheet/plasteel
  117.  
  118. /obj/item/stack/sheet/plasteel/Initialize(mapload, new_amount, merge = TRUE)
  119. recipes = GLOB.plasteel_recipes
  120. return ..()
  121.  
  122. /obj/item/stack/sheet/plasteel/twenty
  123. amount = 20
  124.  
  125. /obj/item/stack/sheet/plasteel/fifty
  126. amount = 50
  127.  
  128. /*
  129. * Wood
  130. */
  131. GLOBAL_LIST_INIT(wood_recipes, list ( \
  132. new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \
  133. new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \
  134. new/datum/stack_recipe("wood table frame", /obj/structure/table_frame/wood, 2, time = 10), \
  135. new/datum/stack_recipe("rifle stock", /obj/item/weaponcrafting/stock, 10, time = 40), \
  136. new/datum/stack_recipe("rolling pin", /obj/item/weapon/kitchen/rollingpin, 2, time = 30), \
  137. new/datum/stack_recipe("wooden chair", /obj/structure/chair/wood/, 3, time = 10, one_per_turf = 1, on_floor = 1), \
  138. new/datum/stack_recipe("winged wooden chair", /obj/structure/chair/wood/wings, 3, time = 10, one_per_turf = 1, on_floor = 1), \
  139. new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1), \
  140. new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \
  141. new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \
  142. new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 15, one_per_turf = 1, on_floor = 1), \
  143. new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 15, one_per_turf = 1, on_floor = 1), \
  144. new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 10, one_per_turf = 1, on_floor = 1), \
  145. new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 10),\
  146. new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = 1, on_floor = 1), \
  147. new/datum/stack_recipe("wooden buckler", /obj/item/weapon/shield/riot/buckler, 20, time = 40), \
  148. new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50),\
  149. new/datum/stack_recipe("tiki mask", /obj/item/clothing/mask/gas/tiki_mask, 2), \
  150. new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10),\
  151. new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 50, one_per_turf = 1, on_floor = 1),\
  152. new/datum/stack_recipe("baseball bat", /obj/item/weapon/melee/baseball_bat, 5, time = 15),\
  153. ))
  154.  
  155. /obj/item/stack/sheet/mineral/wood
  156. name = "wooden plank"
  157. desc = "One can only guess that this is a bunch of wood."
  158. singular_name = "wood plank"
  159. icon_state = "sheet-wood"
  160. icon = 'icons/obj/items.dmi'
  161. origin_tech = "materials=1;biotech=1"
  162. sheettype = "wood"
  163. armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 0)
  164. resistance_flags = FLAMMABLE
  165. merge_type = /obj/item/stack/sheet/mineral/wood
  166.  
  167. /obj/item/stack/sheet/mineral/wood/Initialize(mapload, new_amount, merge = TRUE)
  168. recipes = GLOB.wood_recipes
  169. return ..()
  170.  
  171. /obj/item/stack/sheet/mineral/wood/fifty
  172. amount = 50
  173.  
  174. /*
  175. * Cloth
  176. */
  177. GLOBAL_LIST_INIT(cloth_recipes, list ( \
  178. new/datum/stack_recipe("grey jumpsuit", /obj/item/clothing/under/color/grey, 3), \
  179. new/datum/stack_recipe("black shoes", /obj/item/clothing/shoes/sneakers/black, 2), \
  180. null, \
  181. new/datum/stack_recipe("backpack", /obj/item/weapon/storage/backpack, 4), \
  182. new/datum/stack_recipe("dufflebag", /obj/item/weapon/storage/backpack/dufflebag, 6), \
  183. null, \
  184. new/datum/stack_recipe("plant bag", /obj/item/weapon/storage/bag/plants, 4), \
  185. new/datum/stack_recipe("book bag", /obj/item/weapon/storage/bag/books, 4), \
  186. new/datum/stack_recipe("mining satchel", /obj/item/weapon/storage/bag/ore, 4), \
  187. new/datum/stack_recipe("chemistry bag", /obj/item/weapon/storage/bag/chemistry, 4), \
  188. new/datum/stack_recipe("bio bag", /obj/item/weapon/storage/bag/bio, 4), \
  189. null, \
  190. new/datum/stack_recipe("improvised gauze", /obj/item/stack/medical/gauze/improvised, 1, 2, 6), \
  191. new/datum/stack_recipe("rag", /obj/item/weapon/reagent_containers/glass/rag, 1), \
  192. new/datum/stack_recipe("bedsheet", /obj/item/weapon/bedsheet, 3), \
  193. new/datum/stack_recipe("empty sandbag", /obj/item/weapon/emptysandbag, 4), \
  194. null, \
  195. new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1), \
  196. new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \
  197. null, \
  198. new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 2), \
  199. ))
  200.  
  201. /obj/item/stack/sheet/cloth
  202. name = "cloth"
  203. desc = "Is it cotton? Linen? Denim? Burlap? Canvas? You can't tell."
  204. singular_name = "cloth roll"
  205. icon_state = "sheet-cloth"
  206. origin_tech = "materials=2"
  207. resistance_flags = FLAMMABLE
  208. force = 0
  209. throwforce = 0
  210. merge_type = /obj/item/stack/sheet/cloth
  211.  
  212. /obj/item/stack/sheet/cloth/Initialize(mapload, new_amount, merge = TRUE)
  213. recipes = GLOB.cloth_recipes
  214. return ..()
  215.  
  216. /obj/item/stack/sheet/cloth/ten
  217. amount = 10
  218.  
  219. /*
  220. * Cardboard
  221. */
  222. GLOBAL_LIST_INIT(cardboard_recipes, list ( \
  223. new/datum/stack_recipe("box", /obj/item/weapon/storage/box), \
  224. new/datum/stack_recipe("light tubes", /obj/item/weapon/storage/box/lights/tubes), \
  225. new/datum/stack_recipe("light bulbs", /obj/item/weapon/storage/box/lights/bulbs), \
  226. new/datum/stack_recipe("mouse traps", /obj/item/weapon/storage/box/mousetraps), \
  227. new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \
  228. new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \
  229. new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \
  230. new/datum/stack_recipe("folder", /obj/item/weapon/folder), \
  231. new/datum/stack_recipe("large box", /obj/structure/closet/cardboard, 4), \
  232. new/datum/stack_recipe("cardboard cutout", /obj/item/cardboard_cutout, 5), \
  233. ))
  234.  
  235. /obj/item/stack/sheet/cardboard //BubbleWrap //it's cardboard you fuck
  236. name = "cardboard"
  237. desc = "Large sheets of card, like boxes folded flat."
  238. singular_name = "cardboard sheet"
  239. icon_state = "sheet-card"
  240. origin_tech = "materials=1"
  241. resistance_flags = FLAMMABLE
  242. merge_type = /obj/item/stack/sheet/cardboard
  243.  
  244. /obj/item/stack/sheet/cardboard/Initialize(mapload, new_amount, merge = TRUE)
  245. recipes = GLOB.cardboard_recipes
  246. return ..()
  247.  
  248. /obj/item/stack/sheet/cardboard/fifty
  249. amount = 50
  250.  
  251. /*
  252. * Paper pulp
  253. */
  254. GLOBAL_LIST_INIT(paperpulp_recipes, list ( \
  255. new/datum/stack_recipe("cardboard", /obj/item/stack/sheet/cardboard 1, 5, 20, 50), \
  256. new/datum/stack_recipe("paper", /obj/item/weapon/paper 1, 5, 10, 20, 25, 50), \
  257. new/datum/stack_recipe("wrapping paper", /obj/item/stack/packageWrap), \
  258. new/datum/stack_recipe("gift wrap paper", /obj/item/stack/wrapping_paper), \
  259. new/datum/stack_recipe("paper cup", var/obj/item/weapon/reagent_containers/food/drinks/sillycup/S 1, 5, 10), \
  260. new/datum/stack_recipe("rolling paper", /obj/item/weapon/rollingpaper 1, 5, 10), \
  261. ))
  262.  
  263. /obj/item/stack/sheet/paperpulp
  264. name = "paper pulp"
  265. desc = "Sticky pulp goop, used for making paper"
  266. singular_name = "paper pulp"
  267. icon_state = "paper-pulp"
  268. origin_tech = "materials=1"
  269. resistance_flags = FLAMMABLE
  270. merge_type = /obj/item/stack/sheet/paperpulp
  271.  
  272. /obj/item/stack/sheet/paperpulp/Initialize(mapload, new_amount, merge = TRUE)
  273. recipes = GLOB.paperpulp_recipes
  274. return ..()
  275.  
  276. /obj/item/stack/sheet/paperpulp/fifty
  277. amount = 50
  278.  
  279. /*
  280. * Runed Metal
  281. */
  282. GLOBAL_LIST_INIT(runed_metal_recipes, list ( \
  283. new/datum/stack_recipe("runed door", /obj/machinery/door/airlock/cult, 1, time = 50, one_per_turf = 1, on_floor = 1), \
  284. new/datum/stack_recipe("runed girder", /obj/structure/girder/cult, 1, time = 50, one_per_turf = 1, on_floor = 1), \
  285. new/datum/stack_recipe("pylon", /obj/structure/destructible/cult/pylon, 4, time = 40, one_per_turf = 1, on_floor = 1), \
  286. new/datum/stack_recipe("forge", /obj/structure/destructible/cult/forge, 3, time = 40, one_per_turf = 1, on_floor = 1), \
  287. new/datum/stack_recipe("archives", /obj/structure/destructible/cult/tome, 3, time = 40, one_per_turf = 1, on_floor = 1), \
  288. new/datum/stack_recipe("altar", /obj/structure/destructible/cult/talisman, 3, time = 40, one_per_turf = 1, on_floor = 1), \
  289. ))
  290.  
  291. /obj/item/stack/sheet/runed_metal
  292. name = "runed metal"
  293. desc = "Sheets of cold metal with shifting inscriptions writ upon them."
  294. singular_name = "runed metal sheet"
  295. icon_state = "sheet-runed"
  296. icon = 'icons/obj/items.dmi'
  297. sheettype = "runed"
  298. merge_type = /obj/item/stack/sheet/runed_metal
  299.  
  300. /obj/item/stack/sheet/runed_metal/ratvar_act()
  301. new /obj/item/stack/tile/brass(loc, amount)
  302. qdel(src)
  303.  
  304. /obj/item/stack/sheet/runed_metal/attack_self(mob/living/user)
  305. if(!iscultist(user))
  306. to_chat(user, "<span class='warning'>Only one with forbidden knowledge could hope to work this metal...</span>")
  307. return
  308. return ..()
  309.  
  310. /obj/item/stack/sheet/runed_metal/attack(atom/target, mob/living/user)
  311. if(!iscultist(user))
  312. to_chat(user, "<span class='warning'>Only one with forbidden knowledge could hope to work this metal...</span>")
  313. return
  314. ..()
  315.  
  316. /obj/item/stack/sheet/runed_metal/fifty
  317. amount = 50
  318.  
  319. /obj/item/stack/sheet/runed_metal/Initialize(mapload, new_amount, merge = TRUE)
  320. recipes = GLOB.runed_metal_recipes
  321. return ..()
  322.  
  323. /*
  324. * Brass
  325. */
  326. GLOBAL_LIST_INIT(brass_recipes, list ( \
  327. new/datum/stack_recipe("wall gear", /obj/structure/destructible/clockwork/wall_gear, 3, time = 30, one_per_turf = TRUE, on_floor = TRUE), \
  328. null,
  329. new/datum/stack_recipe("pinion airlock", /obj/machinery/door/airlock/clockwork, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
  330. new/datum/stack_recipe("brass pinion airlock", /obj/machinery/door/airlock/clockwork/brass, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
  331. new/datum/stack_recipe("brass windoor", /obj/machinery/door/window/clockwork, 2, time = 30, on_floor = TRUE, window_checks = TRUE), \
  332. null,
  333. new/datum/stack_recipe("directional brass window", /obj/structure/window/reinforced/clockwork/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \
  334. new/datum/stack_recipe("fulltile brass window", /obj/structure/window/reinforced/clockwork/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE), \
  335. new/datum/stack_recipe("brass table frame", /obj/structure/table_frame/brass, 1, time = 5, one_per_turf = TRUE, on_floor = TRUE) \
  336. ))
  337.  
  338. /obj/item/stack/tile/brass
  339. name = "brass"
  340. desc = "Sheets made out of brass."
  341. singular_name = "brass sheet"
  342. icon_state = "sheet-brass"
  343. icon = 'icons/obj/items.dmi'
  344. resistance_flags = FIRE_PROOF | ACID_PROOF
  345. throwforce = 10
  346. max_amount = 50
  347. throw_speed = 1
  348. throw_range = 3
  349. turf_type = /turf/open/floor/clockwork
  350.  
  351. /obj/item/stack/tile/brass/narsie_act()
  352. if(prob(20))
  353. new /obj/item/stack/sheet/runed_metal(loc, amount)
  354. qdel(src)
  355.  
  356. /obj/item/stack/tile/brass/Initialize(mapload, new_amount, merge = TRUE)
  357. recipes = GLOB.brass_recipes
  358. ..()
  359. pixel_x = 0
  360. pixel_y = 0
  361.  
  362. /obj/item/stack/sheet/lessergem
  363. name = "lesser gems"
  364. desc = "Rare kind of gems which are only gained by blood sacrifice to minor deities. They are needed in crafting powerful objects."
  365. singular_name = "lesser gem"
  366. icon_state = "sheet-lessergem"
  367. origin_tech = "materials=4"
  368.  
  369.  
  370. /obj/item/stack/sheet/greatergem
  371. name = "greater gems"
  372. desc = "Rare kind of gems which are only gained by blood sacrifice to minor deities. They are needed in crafting powerful objects."
  373. singular_name = "greater gem"
  374. icon_state = "sheet-greatergem"
  375. origin_tech = "materials=7"
  376.  
  377. /*
  378. * Bones
  379. */
  380. /obj/item/stack/sheet/bone
  381. name = "bones"
  382. icon = 'icons/obj/mining.dmi'
  383. icon_state = "bone"
  384. singular_name = "bone"
  385. desc = "Someone's been drinking their milk."
  386. force = 7
  387. throwforce = 5
  388. w_class = WEIGHT_CLASS_NORMAL
  389. throw_speed = 1
  390. throw_range = 3
  391. origin_tech = "materials=2;biotech=2"
  392.  
  393. GLOBAL_LIST_INIT(plastic_recipes, list(
  394. new /datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 5, one_per_turf = 1, on_floor = 1, time = 40)))
  395.  
  396. /obj/item/stack/sheet/plastic
  397. name = "plastic"
  398. desc = "Compress dinosaur over millions of years, then refine, split and mold, and voila! You have plastic."
  399. singular_name = "plastic sheet"
  400. icon_state = "sheet-plastic"
  401. throwforce = 7
  402. origin_tech = "materials=1"
  403. origin_tech = "materials=1;biotech=1"
  404. merge_type = /obj/item/stack/sheet/plastic
  405.  
  406. /obj/item/stack/sheet/plastic/fifty
  407. amount = 50
  408.  
  409. /obj/item/stack/sheet/plastic/five
  410. amount = 5
  411.  
  412. /obj/item/stack/sheet/plastic/Initialize(mapload, new_amount, merge = TRUE)
  413. recipes = GLOB.plastic_recipes
  414. . = ..()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement