Advertisement
Guest User

Untitled

a guest
Aug 29th, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.52 KB | None | 0 0
  1. /obj/machinery/autoloom
  2. name = "autoloom"
  3. desc = "It produces clothing and the like using cloth."
  4. icon_state = "autolathe" //Will make a sprite later
  5. density = 1
  6. anchored = 1
  7. use_power = 1
  8. idle_power_usage = 10
  9. active_power_usage = 100
  10. var/c_amount = 0
  11. var/max_c_amount = 50
  12. var/busy = 0
  13. var/screen = 0
  14. var/hacked = 0
  15. var/disabled = 0
  16. var/shocked = 0
  17. var/hack_wire
  18. var/disable_wire
  19. var/shock_wire
  20. var/datum/wires/autoloom/wires = null
  21.  
  22. var/prod_coeff
  23.  
  24. var/list/MAT = list()
  25. var/list/C = list()
  26. var/list/CH = list()
  27. var/list/S = list()
  28. var/list/SH = list()
  29. var/list/M = list()
  30. var/list/R = list()
  31. var/list/RH = list()
  32. var/list/E = list()
  33. var/list/CU = list()
  34. var/list/CUH = list()
  35. var/list/CI = list()
  36. var/list/CIH = list()
  37. var/list/CO = list()
  38. var/list/COH = list()
  39. var/list/CTH = list()
  40. var/list/H = list()
  41. var/list/EY = list()
  42. var/list/F = list()
  43. var/list/FH = list()
  44. var/list/A = list()
  45. var/list/AH = list()
  46. var/list/MA = list()
  47. var/list/MAH = list()
  48. var/list/G = list()
  49. var/list/GH = list()
  50. var/list/ST = list()
  51. var/list/B = list()
  52. var/list/BH = list()
  53. var/list/I = list()
  54.  
  55. obj/machinery/autoloom/New()
  56. component_parts = list()
  57. // component_parts += new /obj/item/weapon/circuitboard/autolathe(null) //Let's make the machine first
  58. component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
  59. component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
  60. component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
  61. component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
  62. component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
  63. component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
  64. RefreshParts()
  65. wires = new(src)
  66. src.MAT = autoloom_materials
  67. src.C = autoloom_command
  68. src.CH = autoloom_command_hacked
  69. src.S = autoloom_security
  70. src.SH = autoloom_security_hacked
  71. src.M = autoloom_medical
  72. src.R = autoloom_research
  73. src.RH = autoloom_research_hacked
  74. src.E = autoloom_engineering
  75. src.CU = autoloom_civilian_uniforms
  76. src.CUH = autoloom_civilian_uniforms_hacked
  77. src.CTH = autoloom_clothing
  78. src.CO = autoloom_costumes
  79. src.COH = autoloom_costumes_hacked
  80. src.H = autoloom_headwear
  81. src.F = autoloom_shoes //F = feet, S for Shoes is needed by like a billion other things
  82. src.FH = autoloom_shoes_hacked
  83. src.A = autoloom_accesories
  84. src.AH = autoloom_accesories_hacked
  85. src.MA = autoloom_masks
  86. src.MAH = autoloom_masks_hacked
  87. src.G = autoloom_gloves
  88. src.GH = autoloom_gloves_hacked
  89. src.ST = autoloom_storage
  90. src.B = autoloom_bedsheets
  91. src.BH = autoloom_bedsheets_hacked
  92. src.I = autoloom_illegal
  93.  
  94. /obj/machinery/autoloom/RefreshParts()
  95. var/tot_rating = 0
  96. prod_coeff = 0
  97. for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts)
  98. tot_rating += MB.rating
  99. // tot_rating *= 25000 //Too much cloth
  100. tot_rating *= 25
  101. max_c_amount = tot_rating
  102. for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
  103. prod_coeff += M.rating - 1
  104.  
  105. /obj/machinery/autoloom/attackby(obj/item/O, mob/user)
  106. if(O.flags&(NODROP|ABSTRACT))
  107. return
  108.  
  109. if (busy)
  110. user << "<span class=\"alert\">The autoloom is busy. Please wait for completion of previous operation.</span>"
  111. return 1
  112.  
  113. if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", O))
  114. updateUsrDialog()
  115. return
  116.  
  117. if(exchange_parts(user, O))
  118. return
  119.  
  120. if (panel_open)
  121. if(istype(O, /obj/item/weapon/crowbar))
  122. if(c_amount >= 1)
  123. var/obj/item/stack/sheet/cloth/C = new /obj/item/stack/sheet/cloth(src.loc)
  124. C.amount = round(c_amount / 1)
  125. default_deconstruction_crowbar(O)
  126. return 1
  127. if(istype(O, /obj/item/weapon/card/emag))
  128. playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
  129. user << "<span class=\"alert\">The autoloom's design contraband lock has been disabled.</span>"
  130. emagged = 1
  131. else
  132. attack_hand(user)
  133. return 1
  134. if (src.c_amount + O.c_amt > max_c_amount)
  135. user << "<span class=\"alert\">The autoloom is full. Please remove cloth from the autolathe in order to insert more.</span>"
  136. return 1
  137. if (O.c_amt == 0)
  138. if(istype(O, /obj/item/weapon/card/emag)) //So that if someone emags the thing it doesn't also show the following message
  139. return
  140. else
  141. user << "<span class=\"alert\">This object does not contain significant amounts of cloth, or cannot be accepted by the autoloom due to size or hazardous materials.</span>"
  142. return 1
  143.  
  144. var/amount = 1
  145. var/obj/item/stack/stack
  146. var/c_amt = O.c_amt
  147. if (istype(O, /obj/item/stack))
  148. stack = O
  149. amount = stack.amount
  150. if(c_amt)
  151. amount = min(amount, round((max_c_amount-src.c_amount)/c_amt))
  152. flick("autolathe_r",src)//plays glass insertion animation, again, here until I make a sprite
  153. stack.use(amount)
  154. else
  155. if(!user.unEquip(O))
  156. user << "<span class='notice'>/the [O] is stuck to your hand, you can't put it in \the [src]!</span>"
  157. O.loc = src
  158. icon_state = "autolathe"
  159. busy = 1
  160. use_power(max(1000, (c_amt)*amount/10))
  161. src.c_amount += c_amt * amount
  162. user << "You insert [amount] sheet[amount>1 ? "s" : ""] to the autoloom."
  163. if (O && O.loc == src)
  164. qdel(O)
  165. busy = 0
  166. src.updateUsrDialog()
  167.  
  168.  
  169.  
  170. /obj/machinery/autoloom/attack_hand(mob/user)
  171. usr.set_machine(src)
  172. var/dat = ""
  173. var/coeff = 2 ** prod_coeff
  174. if(panel_open)
  175. dat += wires()
  176. if(!panel_open)
  177. switch(screen)
  178. if(0) //Main Menu
  179. dat += "<h2>Autoloom Main Menu</h2><br>"
  180. dat += "<A href='?src=\ref[src];screen=1'>Department Specific</A><BR>"
  181. dat += "<A href='?src=\ref[src];screen=2'>Headwear</A><BR>"
  182. dat += "<A href='?src=\ref[src];screen=3'>Clothing</A><BR>"
  183. dat += "<A href='?src=\ref[src];screen=4'>Costume Sets</A><BR>"
  184. dat += "<A href='?src=\ref[src];screen=5'>Masks</A><BR>"
  185. dat += "<A href='?src=\ref[src];screen=6'>Gloves</A><BR>"
  186. dat += "<A href='?src=\ref[src];screen=7'>Shoes</A><BR>"
  187. dat += "<A href='?src=\ref[src];screen=8'>Storage</A><BR>"
  188. dat += "<A href='?src=\ref[src];screen=9'>Bedsheets</A><BR>"
  189. if(emagged)
  190. dat+= "<A href='?src=\ref[src];screen=10'>Contraband</A><BR>"
  191. dat += "<A href='?src=\ref[src];screen=11'>Materials</A><BR>"
  192.  
  193. if(1) //Departments
  194. dat += "<h2>Department Specific</h2><br>"
  195. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A></center><BR>"
  196. dat += "<A href='?src=\ref[src];screen=1.1'>Command</A><BR>"
  197. dat += "<A href='?src=\ref[src];screen=1.2'>Security</A><BR>"
  198. dat += "<A href='?src=\ref[src];screen=1.3'>Medical</A><BR>"
  199. dat += "<A href='?src=\ref[src];screen=1.4'>Engineering</A><BR>"
  200. dat += "<A href='?src=\ref[src];screen=1.5'>Research</A><BR>"
  201. dat += "<A href='?src=\ref[src];screen=1.6'>Civilian</A><BR>"
  202. if(1.1)
  203. dat += "<h2><center>Command</center></h2><br>"
  204. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  205. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  206. var/list/command = list()
  207. command += src.C
  208. if(src.hacked)
  209. command += src.CH
  210. for(var/obj/t in command)
  211. if(disabled || c_amount<t.c_amt)
  212. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  213. dat += " [t.c_amt/coeff] cloth"
  214. else
  215. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  216. dat += " [t.c_amt/coeff] cloth"
  217. dat += "</span>"
  218. dat += "</div class>"
  219. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  220. if(1.2)
  221. dat += "<h2><center>Security</center></h2><br>"
  222. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  223. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  224. var/list/security = list()
  225. security += src.S
  226. if(src.hacked)
  227. security += src.SH
  228. for(var/obj/t in security)
  229. if(disabled || c_amount<t.c_amt)
  230. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  231. dat += " [t.c_amt/coeff] cloth"
  232. else
  233. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  234. dat += " [t.c_amt/coeff] cloth"
  235. dat += "</span>"
  236. dat += "</div class>"
  237. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  238.  
  239. if(1.3)
  240. dat += "<h2><center>Medical</center></h2><br>"
  241. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  242. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  243. var/list/medical = list()
  244. medical += src.M
  245. for(var/obj/t in medical)
  246. if(disabled || c_amount<t.c_amt)
  247. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  248. dat += " [t.c_amt/coeff] cloth"
  249. else
  250. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  251. dat += " [t.c_amt/coeff] cloth"
  252. dat += "</span>"
  253. dat += "</div class>"
  254. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  255. if(1.4)
  256. dat += "<h2><center>Engineering</center></h2><br>"
  257. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  258. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  259. var/list/engineering = list()
  260. engineering += src.E
  261. for(var/obj/t in engineering)
  262. if(disabled || c_amount<t.c_amt)
  263. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  264. dat += " [t.c_amt/coeff] cloth"
  265. else
  266. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  267. dat += " [t.c_amt/coeff] cloth"
  268. dat += "</span>"
  269. dat += "</div class>"
  270. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  271. if(1.5)
  272. dat += "<h2><center>Research</center></h2><br>"
  273. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  274. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  275. var/list/research = list()
  276. research += src.R
  277. if(src.hacked)
  278. research += src.RH
  279. for(var/obj/t in research)
  280. if(disabled || c_amount<t.c_amt)
  281. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  282. dat += " [t.c_amt/coeff] cloth"
  283. else
  284. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  285. dat += " [t.c_amt/coeff] cloth"
  286. dat += "</span>"
  287. dat += "</div class>"
  288. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  289. if(1.6)
  290. dat += "<h2><center>Civilian</center></h2><br>"
  291. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  292. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  293. var/list/civilian = list()
  294. civilian += src.CU
  295. if(src.hacked)
  296. civilian += src.CUH
  297. for(var/obj/t in civilian)
  298. if(disabled || c_amount<t.c_amt)
  299. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  300. dat += " [t.c_amt/coeff] cloth"
  301. else
  302. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  303. dat += " [t.c_amt/coeff] cloth"
  304. dat += "</span>"
  305. dat += "</div class>"
  306. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A>-<A href='?src=\ref[src];screen=1'>Back</A>-<A href='?src=\ref[src];screen=11'>Materials</A></center>"
  307. if(2)
  308. dat += "<h2><center>Headwear</center></h2>"
  309. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  310. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  311. var/list/headwear = list()
  312. headwear += src.H
  313. for(var/obj/t in headwear)
  314. if(disabled || c_amount<t.c_amt)
  315. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  316. dat += " [t.c_amt/coeff] cloth"
  317. else
  318. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  319. dat += " [t.c_amt/coeff] cloth"
  320. dat += "</div class>"
  321. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  322. if(3)
  323. dat += "<h2><center>Clothing</center></h2>"
  324. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  325. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  326. var/list/clothing = list()
  327. clothing += src.CTH
  328. for(var/obj/t in clothing)
  329. if(disabled || c_amount<t.c_amt)
  330. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  331. dat += " [t.c_amt/coeff] cloth"
  332. else
  333. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  334. dat += " [t.c_amt/coeff] cloth"
  335. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  336. if(4)
  337. dat += "<h2><center>Costume Sets</center></h2>"
  338. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  339. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  340. var/list/costumes = list()
  341. costumes += src.CO
  342. for(var/obj/t in costumes)
  343. if(disabled || c_amount<t.c_amt)
  344. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  345. dat += " [t.c_amt/coeff] cloth"
  346. else
  347. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  348. dat += " [t.c_amt/coeff] cloth"
  349. dat += "</div class>"
  350. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  351. if(5)
  352. dat += "<h2><center>Masks</center></h2>"
  353. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  354. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  355. var/list/masks = list()
  356. masks += src.MA
  357. if(src.hacked)
  358. masks += src.MAH
  359. for(var/obj/t in masks)
  360. if(disabled || c_amount<t.c_amt)
  361. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  362. dat += " [t.c_amt/coeff] cloth"
  363. else
  364. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  365. dat += " [t.c_amt/coeff] cloth"
  366. dat += "</div class>"
  367. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  368. if(6)
  369. dat += "<h2><center>Gloves</center></h2>"
  370. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  371. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  372. var/list/gloves = list()
  373. gloves += src.G
  374. if(src.hacked)
  375. gloves += src.GH
  376. for(var/obj/t in gloves)
  377. if(disabled || c_amount<t.c_amt)
  378. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  379. dat += " [t.c_amt/coeff] cloth"
  380. else
  381. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  382. dat += " [t.c_amt/coeff] cloth"
  383. dat += "</div class>"
  384. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  385. if(7)
  386. dat += "<h2><center>Shoes</center></h2>"
  387. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  388. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  389. var/list/shoes = list()
  390. shoes += src.F
  391. if(src.hacked)
  392. shoes += src.FH
  393. for(var/obj/t in shoes)
  394. if(disabled || c_amount<t.c_amt)
  395. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  396. dat += " [t.c_amt/coeff] cloth"
  397. else
  398. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  399. dat += " [t.c_amt/coeff] cloth"
  400. dat += "</div class>"
  401. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  402. if(8)
  403. dat += "<h2><center>Storage</center></h2>"
  404. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  405. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  406. var/list/storage = list()
  407. storage += src.ST
  408. for(var/obj/t in storage)
  409. if(disabled || c_amount<t.c_amt)
  410. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  411. dat += " [t.c_amt/coeff] cloth"
  412. else
  413. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  414. dat += " [t.c_amt/coeff] cloth"
  415. dat += "</div class>"
  416. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  417. if(9)
  418. dat += "<h2><center>Bedsheets</center></h2>"
  419. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  420. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  421. var/list/bedsheets = list()
  422. bedsheets += src.B
  423. if(src.hacked)
  424. bedsheets += src.BH
  425. for(var/obj/t in bedsheets)
  426. if(disabled || c_amount<t.c_amt)
  427. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  428. dat += " [t.c_amt/coeff] cloth"
  429. else
  430. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  431. dat += " [t.c_amt/coeff] cloth"
  432. dat += "</div class>"
  433. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  434. if(10)
  435. dat += "<h2><center>Contraband</center></h2>"
  436. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  437. dat += "<div class='statusDisplay'><b>Cloth amount:</b> [src.c_amount] / [max_c_amount] Sheets<hr>"
  438. var/list/contraband = list()
  439. contraband += src.I
  440. for(var/obj/t in contraband)
  441. if(disabled || c_amount<t.c_amt)
  442. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  443. dat += " [t.c_amt/coeff] cloth"
  444. else
  445. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  446. dat += " [t.c_amt/coeff] cloth"
  447. dat += "</div class>"
  448. dat += "<center><A href='?src=\ref[src];screen=0'>Back</A> - <A href='?src=\ref[src];screen=11'>Materials</A></center>"
  449. if(11)
  450. dat += "<h2><center>Materials</center></h2>"
  451. dat += "<center><A href='?src=\ref[src];screen=0'>Main Menu</A></center>"
  452. var/list/materials = list()
  453. materials += src.MAT
  454. for(var/obj/t in materials)
  455. if(disabled || c_amount<t.c_amt)
  456. dat += replacetext("<span class='linkOff'>[t]</span>", "The ", "<br>")
  457. else
  458. dat += replacetext("<a href='?src=\ref[src];make=\ref[t]'>[t]</a>", "The ", "<br>")
  459. if(istype(t, /obj/item/stack))
  460. var/obj/item/stack/S = t
  461. var/max_multiplier = min(S.max_amount, S.c_amt?round(c_amount/S.c_amt):INFINITY)
  462. if (max_multiplier>10 && !disabled)
  463. dat += " <a href='?src=\ref[src];make=\ref[t];multiplier=[5]'>x[5]</a>"
  464. if (max_multiplier>25 && !disabled)
  465. dat += " <a href='?src=\ref[src];make=\ref[t];multiplier=[10]'>x[10]</a>"
  466. if (max_multiplier>1 && !disabled)
  467. dat += " <a href='?src=\ref[src];make=\ref[t];multiplier=[max_multiplier]'>x[max_multiplier]</a>"
  468. dat += " [t.c_amt] cloth"
  469. else
  470. dat += " [t.c_amt/coeff] cloth"
  471. dat += "<br>"
  472. dat += "</span>"
  473.  
  474. var/datum/browser/popup = new(user, "autoloom", name, 400, 500)
  475. popup.set_content(dat)
  476. popup.open()
  477. return
  478.  
  479.  
  480. /obj/machinery/autoloom/Topic(href, href_list)
  481. if(..())
  482. usr << browse(null, "Autoloom")
  483. onclose(usr, "Autoloom")
  484. return
  485.  
  486. if(href_list["screen"])
  487. switch(href_list["screen"])
  488. if("0")
  489. screen = 0
  490. if("1")
  491. screen = 1
  492. if("1.1")
  493. screen = 1.1
  494. if("1.2")
  495. screen = 1.2
  496. if("1.3")
  497. screen = 1.3
  498. if("1.4")
  499. screen = 1.4
  500. if("1.5")
  501. screen = 1.5
  502. if("1.6")
  503. screen = 1.6
  504. if("2")
  505. screen = 2
  506. if("3")
  507. screen = 3
  508. if("4")
  509. screen = 4
  510. if("5")
  511. screen = 5
  512. if("6")
  513. screen = 6
  514. if("7")
  515. screen = 7
  516. if("8")
  517. screen = 8
  518. if("9")
  519. screen = 9
  520. if("10")
  521. screen = 10
  522. if("11")
  523. screen = 11
  524. if (!busy)
  525. if(href_list["make"])
  526. var/coeff = 2 ** prod_coeff
  527. var/turf/T = get_step(src.loc, get_dir(src,src))
  528.  
  529.  
  530. var/obj/item/template = null
  531. var/attempting_to_build = locate(href_list["make"])
  532.  
  533. if(!attempting_to_build)
  534. return
  535.  
  536. if(attempting_to_build)
  537. template = attempting_to_build
  538. else
  539. return
  540. var/multiplier = text2num(href_list["multiplier"])
  541.  
  542. if (!multiplier) multiplier = 1
  543. var/max_multiplier = 1
  544.  
  545. if(istype(template, /obj/item/stack))
  546. var/obj/item/stack/S = template
  547. max_multiplier = min(S.max_amount, S.c_amt?round(c_amount/S.c_amt):INFINITY)
  548.  
  549. if( (multiplier > max_multiplier) || (multiplier <= 0) )
  550. return
  551.  
  552. var/power = max(2000, (template.c_amt)*multiplier/5)
  553. if(src.c_amount >= template.c_amt*multiplier/coeff)
  554. busy = 1
  555. use_power(power)
  556. icon_state = "autolathe"
  557. flick("autolathe_n",src)
  558. spawn(32/coeff)
  559. use_power(power)
  560. if(istype(template, /obj/item/stack))
  561. src.c_amount -= template.c_amt*multiplier
  562. var/obj/new_item = new template.type(T)
  563. var/obj/item/stack/S = new_item
  564. S.amount = multiplier
  565. else
  566. src.c_amount -= template.c_amt/coeff
  567. var/obj/new_item = new template.type(T)
  568. new_item.c_amt /= coeff
  569. if(src.c_amount < 0)
  570. src.c_amount = 0
  571. busy = 0
  572. else
  573. usr << "<span class=\"alert\">The autoloom is busy. Please wait for completion of previous operation.</span>"
  574. src.add_fingerprint(usr)
  575. src.updateUsrDialog()
  576. return
  577.  
  578.  
  579. src.add_fingerprint(usr)
  580. src.updateUsrDialog()
  581. return
  582. /obj/machinery/autoloom/interact(mob/user)
  583. if(..())
  584. return
  585. if (src.shocked)
  586. src.shock(user,50)
  587. Topic(user)
  588. return
  589.  
  590. /obj/machinery/autoloom/proc/shock(mob/user, prb)
  591. if(stat & (BROKEN|NOPOWER)) // unpowered, no shock
  592. return 0
  593. if(!prob(prb))
  594. return 0
  595. var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
  596. s.set_up(5, 1, src)
  597. s.start()
  598. if (electrocute_mob(user, get_area(src), src, 0.7))
  599. return 1
  600. else
  601. return 0
  602.  
  603. /obj/machinery/autoloom/proc/wires()
  604. return wires.GetInteractWindow()
  605.  
  606. var/global/list/autoloom_materials = list( \
  607. new /obj/item/stack/sheet/cloth(), \
  608. )
  609.  
  610.  
  611. //Uniforms
  612. var/global/list/autoloom_command = list( \
  613. new /obj/item/clothing/head/caphat(), \
  614. new /obj/item/clothing/head/cap(), \
  615. new /obj/item/clothing/under/captainformal(), \
  616. new /obj/item/clothing/suit/captunic(), \
  617. new /obj/item/clothing/under/rank/captain(), \
  618. new /obj/item/clothing/head/hopcap(), \
  619. new /obj/item/clothing/under/rank/head_of_personnel(), \
  620. new /obj/item/clothing/under/rank/vice(), \
  621. )
  622. var/global/list/autoloom_command_hacked = list( \
  623. new /obj/item/clothing/head/centhat(), \
  624. new /obj/item/clothing/under/rank/centcom_commander(), \
  625. new /obj/item/clothing/under/rank/centcom_officer(), \
  626. new /obj/item/clothing/under/gimmick/rank/captain/suit(), \
  627. new /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit(), \
  628. )
  629. var/global/list/autoloom_security = list( \
  630. new /obj/item/clothing/head/beret/sec/navyhos(), \
  631. new /obj/item/clothing/under/rank/head_of_security(), \
  632. new /obj/item/clothing/under/rank/head_of_security/jensen(), \
  633. new /obj/item/clothing/under/rank/head_of_security/navyblue(), \
  634. new /obj/item/clothing/suit/security/hos(), \
  635. new /obj/item/clothing/under/hosformalfem(), \
  636. new /obj/item/clothing/under/hosformalmale(), \
  637. new /obj/item/clothing/head/beret/sec/navywarden(), \
  638. new /obj/item/clothing/suit/security/warden(), \
  639. new /obj/item/clothing/under/rank/warden(), \
  640. new /obj/item/clothing/under/rank/warden/navyblue(), \
  641. new /obj/item/clothing/head/beret/sec(), \
  642. new /obj/item/clothing/head/beret/sec/navyofficer(), \
  643. new /obj/item/clothing/head/soft/sec(), \
  644. new /obj/item/clothing/suit/security/officer(), \
  645. new /obj/item/clothing/under/rank/security(), \
  646. new /obj/item/clothing/under/rank/security/navyblue(), \
  647. )
  648. var/global/list/autoloom_security_hacked = list( \
  649. new /obj/item/clothing/head/justice(), \
  650. new /obj/item/clothing/head/justice/yellow(), \
  651. new /obj/item/clothing/head/justice/green(), \
  652. new /obj/item/clothing/head/justice/blue(), \
  653. new /obj/item/clothing/head/justice/pink(), \
  654. new /obj/item/clothing/suit/justice(), \
  655. /* new /obj/item/clothing/head/powdered_wig(), \*/
  656. new /obj/item/clothing/suit/judgerobe(), \
  657. new /obj/item/clothing/suit/cabanelasuit(), \
  658. new /obj/item/clothing/suit/greatcoat(), \
  659. )
  660. var/global/list/autoloom_medical = list( \
  661. new /obj/item/clothing/suit/labcoat/cmo(), \
  662. new /obj/item/clothing/under/rank/chief_medical_officer(), \
  663. new /obj/item/clothing/suit/labcoat(), \
  664. new /obj/item/clothing/under/rank/medical(), \
  665. new /obj/item/clothing/under/rank/medical/blue(), \
  666. new /obj/item/clothing/under/rank/medical/green(), \
  667. new /obj/item/clothing/under/rank/medical/purple(), \
  668. new /obj/item/clothing/suit/labcoat/chemist(), \
  669. new /obj/item/clothing/under/rank/chemist(), \
  670. new /obj/item/clothing/under/rank/chemist_new(), \
  671. new /obj/item/clothing/suit/labcoat/genetics(), \
  672. new /obj/item/clothing/under/rank/geneticist(), \
  673. new /obj/item/clothing/under/rank/geneticist_new(), \
  674. new /obj/item/clothing/suit/labcoat/virologist(), \
  675. new /obj/item/clothing/under/rank/virologist(), \
  676. new /obj/item/clothing/under/rank/virologist_new(), \
  677. new /obj/item/clothing/head/nursehat(), \
  678. new /obj/item/clothing/under/rank/nursesuit(), \
  679. new /obj/item/clothing/suit/apron/surgical(), \
  680. )
  681. var/global/list/autoloom_engineering = list( \
  682. new /obj/item/clothing/suit/hazardvest(), \
  683. new /obj/item/clothing/under/rank/chief_engineer(), \
  684. new /obj/item/clothing/under/rank/atmospheric_technician(), \
  685. new /obj/item/clothing/under/rank/engineer(), \
  686. )
  687. var/global/list/autoloom_research = list( \
  688. new /obj/item/clothing/suit/labcoat/science(), \
  689. new /obj/item/clothing/under/rank/research_director(), \
  690. new /obj/item/clothing/under/rank/research_director/alt(), \
  691. new /obj/item/clothing/under/rank/research_director/ema(), \
  692. new /obj/item/clothing/under/rank/scientist(), \
  693. new /obj/item/clothing/under/rank/scientist_new(), \
  694. new /obj/item/clothing/under/rank/roboticist(), \
  695. new /obj/item/clothing/under/rank/roboticist/alt(), \
  696. )
  697. var/global/list/autoloom_research_hacked = list( \
  698. new /obj/item/clothing/suit/labcoat/mad(), \
  699. )
  700. var/global/list/autoloom_civilian_uniforms = list( \
  701. new /obj/item/clothing/under/rank/cargo(), \
  702. new /obj/item/clothing/under/rank/cargotech(), \
  703. new /obj/item/clothing/under/rank/miner(), \
  704. new /obj/item/clothing/under/rank/bartender(), \
  705. new /obj/item/clothing/head/chefhat(), \
  706. new /obj/item/clothing/suit/chef(), \
  707. new /obj/item/clothing/suit/chef/classic(), \
  708. new /obj/item/clothing/under/rank/chef(), \
  709. new /obj/item/clothing/under/waiter(), \
  710. new /obj/item/clothing/head/chaplain_hood(), \
  711. new /obj/item/clothing/suit/chaplain_hoodie(), \
  712. new /obj/item/clothing/suit/holidaypriest(), \
  713. new /obj/item/clothing/head/nun_hood(), \
  714. new /obj/item/clothing/suit/nun(), \
  715. new /obj/item/clothing/under/rank/chaplain(), \
  716. new /obj/item/clothing/under/rank/janitor(), \
  717. new /obj/item/clothing/head/greenbandana(), \
  718. new /obj/item/clothing/under/rank/hydroponics(), \
  719. new /obj/item/clothing/under/librarian(), \
  720. new /obj/item/clothing/mask/gas/clown_hat(), \
  721. new /obj/item/clothing/under/rank/clown(), \
  722. new /obj/item/clothing/shoes/clown_shoes(), \
  723. new /obj/item/clothing/mask/gas/mime(), \
  724. new /obj/item/clothing/suit/suspenders(), \
  725. new /obj/item/clothing/under/mime(), \
  726. new /obj/item/clothing/shoes/mime(), \
  727. )
  728. var/global/list/autoloom_civilian_uniforms_hacked = list( \
  729. new /obj/item/clothing/mask/gas/sexyclown(), \
  730. new /obj/item/clothing/under/sexyclown(), \
  731. new /obj/item/clothing/mask/gas/sexymime(), \
  732. new /obj/item/clothing/under/sexymime(), \
  733. new /obj/item/clothing/under/assistantformal(), \
  734. )
  735.  
  736. //Other clothing
  737.  
  738. //Clothing that's not really a costume, not really a uniform, mostly casual wear.
  739. var/global/list/autoloom_clothing = list( \
  740. new /obj/item/clothing/suit/apron(), \
  741. new /obj/item/clothing/suit/apron/overalls(), \
  742. new /obj/item/clothing/suit/gmrobes(), \
  743. new /obj/item/clothing/suit/ianshirt(), \
  744. new /obj/item/clothing/suit/imperium_monk(), \
  745. new /obj/item/clothing/suit/lawyer/blackjacket(), \
  746. new /obj/item/clothing/suit/lawyer/bluejacket(), \
  747. new /obj/item/clothing/suit/lawyer/purpjacket(), \
  748. new /obj/item/clothing/suit/loose/hoodie(), \
  749. new /obj/item/clothing/suit/loose/hoodie/blue(), \
  750. new /obj/item/clothing/suit/loose/hoodie/dank(), \
  751. new /obj/item/clothing/suit/loose/hoodie/green(), \
  752. new /obj/item/clothing/suit/loose/hoodie/purple(), \
  753. new /obj/item/clothing/suit/loose/hoodie/red(), \
  754. new /obj/item/clothing/suit/loose/jacket(), \
  755. new /obj/item/clothing/suit/loose/jacket/bomber(), \
  756. new /obj/item/clothing/suit/loose/jacket/brown(), \
  757. new /obj/item/clothing/suit/nerdshirt(), \
  758. new /obj/item/clothing/suit/poncho(), \
  759. new /obj/item/clothing/suit/poncho/green(), \
  760. new /obj/item/clothing/suit/poncho/red(), \
  761. new /obj/item/clothing/suit/waistcoat(), \
  762. new /obj/item/clothing/under/aqua(), \
  763. new /obj/item/clothing/under/blackskirt(), \
  764. new /obj/item/clothing/under/blacktango(), \
  765. new /obj/item/clothing/under/brown(), \
  766. new /obj/item/clothing/under/color/black(), \
  767. new /obj/item/clothing/under/color/blackf(), \
  768. new /obj/item/clothing/under/color/blue(), \
  769. new /obj/item/clothing/under/color/green(), \
  770. new /obj/item/clothing/under/color/grey(), \
  771. new /obj/item/clothing/under/color/orange(), \
  772. new /obj/item/clothing/under/color/pink(), \
  773. new /obj/item/clothing/under/color/prison(), \
  774. new /obj/item/clothing/under/color/red(), \
  775. new /obj/item/clothing/under/color/white(), \
  776. new /obj/item/clothing/under/color/yellow(), \
  777. new /obj/item/clothing/under/darkblue(), \
  778. new /obj/item/clothing/under/darkred(), \
  779. new /obj/item/clothing/under/flannelshirt(), \
  780. new /obj/item/clothing/under/kilt(), \
  781. new /obj/item/clothing/under/lawyer/black(), \
  782. new /obj/item/clothing/under/lawyer/blacksuit(), \
  783. new /obj/item/clothing/under/lawyer/blue(), \
  784. new /obj/item/clothing/under/lawyer/bluesuit(), \
  785. new /obj/item/clothing/under/lawyer/female(), \
  786. new /obj/item/clothing/under/lawyer/purpsuit(), \
  787. new /obj/item/clothing/under/lawyer/red(), \
  788. new /obj/item/clothing/under/lightblue(), \
  789. new /obj/item/clothing/under/lightbrown(), \
  790. new /obj/item/clothing/under/lightgreen(), \
  791. new /obj/item/clothing/under/lightpink(), \
  792. new /obj/item/clothing/under/lightpurple(), \
  793. new /obj/item/clothing/under/lightred(), \
  794. new /obj/item/clothing/under/overalls(), \
  795. new /obj/item/clothing/under/pj/blue(), \
  796. new /obj/item/clothing/under/pj/red(), \
  797. new /obj/item/clothing/under/psyche(), \
  798. new /obj/item/clothing/under/purple(), \
  799. new /obj/item/clothing/under/rainbow(), \
  800. new /obj/item/clothing/under/schoolgirl(), \
  801. new /obj/item/clothing/under/schoolgirl/red(), \
  802. new /obj/item/clothing/under/schoolgirl/green(), \
  803. new /obj/item/clothing/under/schoolgirl/pink(), \
  804. new /obj/item/clothing/under/scratch(), \
  805. new /obj/item/clothing/under/shorts/black(), \
  806. new /obj/item/clothing/under/shorts/blue(), \
  807. new /obj/item/clothing/under/shorts/green(), \
  808. new /obj/item/clothing/under/shorts/grey(), \
  809. new /obj/item/clothing/under/shorts/red(), \
  810. new /obj/item/clothing/under/sl_suit(), \
  811. new /obj/item/clothing/under/suit_jacket(), \
  812. new /obj/item/clothing/under/suit_jacket/burgundy(), \
  813. new /obj/item/clothing/under/suit_jacket/charcoal(), \
  814. new /obj/item/clothing/under/suit_jacket/checkered(), \
  815. new /obj/item/clothing/under/suit_jacket/female(), \
  816. new /obj/item/clothing/under/suit_jacket/horrificplaid(), \
  817. new /obj/item/clothing/under/suit_jacket/navy(), \
  818. new /obj/item/clothing/under/suit_jacket/really_black(), \
  819. new /obj/item/clothing/under/suit_jacket/red(), \
  820. new /obj/item/clothing/under/suit_jacket/tan(), \
  821. new /obj/item/clothing/under/sundress(), \
  822. new /obj/item/clothing/under/yellowgreen(), \
  823. new /obj/item/clothing/under/syndicate/tacticool(), \
  824. )
  825.  
  826. //Seperated from the rest to look like, basically misc. crap that can come in a set.
  827. var/global/list/autoloom_costumes = list(
  828. new /obj/item/clothing/head/hasturhood(), \
  829. new /obj/item/clothing/suit/hastur(), \
  830. new /obj/item/clothing/head/mailman(), \
  831. new /obj/item/clothing/under/rank/mailman(), \
  832. /* new /obj/item/clothing/head/helmet/gladiator(), \*/
  833. /* new /obj/item/clothing/under/gladiator (), \*/
  834. new /obj/item/clothing/head/chicken(), \
  835. new /obj/item/clothing/suit/chickensuit (), \
  836. new /obj/item/clothing/head/ushanka(), \
  837. new /obj/item/clothing/under/soviet(), \
  838. new /obj/item/clothing/head/hgpiratecap(), \
  839. new /obj/item/clothing/head/pirate(), \
  840. new /obj/item/clothing/suit/pirate (), \
  841. new /obj/item/clothing/under/pirate (), \
  842. new /obj/item/clothing/mask/gas/owl_mask(), \
  843. new /obj/item/clothing/under/owl(), \
  844. new /obj/item/clothing/suit/hgpirate(), \
  845. new /obj/item/clothing/mask/gas/monkeymask(), \
  846. new /obj/item/clothing/suit/monkeysuit(), \
  847. new /obj/item/clothing/head/redcoat(), \
  848. new /obj/item/clothing/under/redcoat(), \
  849. new /obj/item/clothing/head/wizard/fake(), \
  850. new /obj/item/clothing/head/wizard/fake/red(), \
  851. new /obj/item/clothing/head/witchwig(), \
  852. new /obj/item/clothing/head/wizard/marisa/fake(), \
  853. /* new /obj/item/clothing/suit/wizrobe(), \*/
  854. new /obj/item/clothing/suit/wizrobe/marisa/fake(), \
  855. new /obj/item/clothing/head/billydonka(), \
  856. new /obj/item/clothing/suit/billydonka(), \
  857. new /obj/item/clothing/under/billydonka(), \
  858. )
  859.  
  860. var/global/list/autoloom_costumes_hacked = list( \
  861. new /obj/item/clothing/head/xenos(), \
  862. new /obj/item/clothing/suit/xenos(), \
  863. )
  864.  
  865. var/global/list/autoloom_headwear = list( \
  866. new /obj/item/clothing/head/arrow(), \
  867. new /obj/item/clothing/head/bandana(), \
  868. new /obj/item/clothing/head/beerhat(), \
  869. new /obj/item/clothing/head/beret(), \
  870. new /obj/item/clothing/head/bowler(), \
  871. new /obj/item/clothing/head/fedora(), \
  872. new /obj/item/clothing/head/flatcap(), \
  873. new /obj/item/clothing/head/kitty(), \
  874. new /obj/item/clothing/head/rabbitears(), \
  875. new /obj/item/clothing/head/soft(), \
  876. new /obj/item/clothing/head/soft/black(), \
  877. new /obj/item/clothing/head/soft/blue(), \
  878. new /obj/item/clothing/head/soft/green(), \
  879. new /obj/item/clothing/head/soft/grey(), \
  880. new /obj/item/clothing/head/soft/mime(), \
  881. new /obj/item/clothing/head/soft/orange(), \
  882. new /obj/item/clothing/head/soft/purple(), \
  883. new /obj/item/clothing/head/soft/rainbow(), \
  884. new /obj/item/clothing/head/soft/red(), \
  885. new /obj/item/clothing/head/soft/yellow(), \
  886. new /obj/item/clothing/head/sombrero(), \
  887. new /obj/item/clothing/head/sombrero/green(), \
  888. new /obj/item/clothing/head/that(), \
  889. )
  890.  
  891.  
  892. /*
  893. var/global/list/autoloom_eyewear = list( \
  894. new /obj/item/clothing/glasses/eyepatch(), \
  895. new /obj/item/clothing/glasses/monocle(), \
  896. new /obj/item/clothing/glasses/regular(), \
  897. new /obj/item/clothing/glasses/regular/hipster(), \
  898. new /obj/item/clothing/glasses/sunglasses/blindfold(), \
  899. new /obj/item/clothing/glasses/gglasses(), \
  900. )
  901. */
  902. var/global/list/autoloom_shoes = list( \
  903. new /obj/item/clothing/shoes/red(), \
  904. new /obj/item/clothing/shoes/orange(), \
  905. new /obj/item/clothing/shoes/yellow(), \
  906. new /obj/item/clothing/shoes/green(), \
  907. new /obj/item/clothing/shoes/blue(), \
  908. new /obj/item/clothing/shoes/purple(), \
  909. new /obj/item/clothing/shoes/brown(), \
  910. new /obj/item/clothing/shoes/black(), \
  911. new /obj/item/clothing/shoes/white(), \
  912. new /obj/item/clothing/shoes/laceup(), \
  913. new /obj/item/clothing/shoes/jackboots(), \
  914. /* new /obj/item/clothing/shoes/jackboots/leather(), \*/
  915. new /obj/item/clothing/shoes/roman(), \
  916. /* new /obj/item/clothing/shoes/sandal(), \*/
  917. )
  918.  
  919. var/global/list/autoloom_shoes_hacked = list( \
  920. new /obj/item/clothing/shoes/rainbow(), \
  921. )
  922.  
  923. var/global/list/autoloom_accesories = list( \
  924. new /obj/item/clothing/ears/earmuffs(), \
  925. new /obj/item/clothing/tie/stethoscope(), \
  926. new /obj/item/clothing/tie/armband(), \
  927. new /obj/item/clothing/tie/armband/cargo(), \
  928. new /obj/item/clothing/tie/armband/engine(), \
  929. new /obj/item/clothing/tie/armband/hydro(), \
  930. new /obj/item/clothing/tie/armband/med(), \
  931. new /obj/item/clothing/tie/armband/medblue(), \
  932. new /obj/item/clothing/tie/armband/science(), \
  933. new /obj/item/clothing/tie/black(), \
  934. new /obj/item/clothing/tie/blue(), \
  935. new /obj/item/clothing/tie/red(), \
  936. )
  937.  
  938. var/global/list/autoloom_accesories_hacked = list( \
  939. new /obj/item/clothing/tie/horrible(), \
  940. )
  941.  
  942. var/global/autoloom_masks = list( \
  943. new /obj/item/clothing/mask/fakemoustache(), \
  944. new /obj/item/clothing/mask/fawkes(), \
  945. new /obj/item/clothing/mask/horsehead(), \
  946. new /obj/item/clothing/mask/pig(), \
  947. new /obj/item/clothing/mask/luchador(), \
  948. new /obj/item/clothing/mask/luchador/rudos(), \
  949. new /obj/item/clothing/mask/luchador/tecnicos(), \
  950. )
  951.  
  952. var/global/autoloom_masks_hacked = list( \
  953. new /obj/item/clothing/mask/balaclava(), \
  954. )
  955.  
  956. var/global/autoloom_gloves = list( \
  957. new /obj/item/clothing/gloves/black(), \
  958. new /obj/item/clothing/gloves/captain(), \
  959. new /obj/item/clothing/gloves/fingerless(), \
  960. new /obj/item/clothing/gloves/red(), \
  961. new /obj/item/clothing/gloves/blue(), \
  962. new /obj/item/clothing/gloves/brown(), \
  963. new /obj/item/clothing/gloves/grey(), \
  964. new /obj/item/clothing/gloves/light_brown(), \
  965. new /obj/item/clothing/gloves/orange(), \
  966. new /obj/item/clothing/gloves/purple(), \
  967. new /obj/item/clothing/gloves/white(), \
  968. new /obj/item/clothing/gloves/boxing(), \
  969. new /obj/item/clothing/gloves/boxing/green(), \
  970. new /obj/item/clothing/gloves/boxing/blue(), \
  971. new /obj/item/clothing/gloves/boxing/yellow(), \
  972. )
  973.  
  974. var/global/autoloom_gloves_hacked = list( \
  975. new /obj/item/clothing/gloves/rainbow(), \
  976. )
  977.  
  978. var/global/autoloom_storage = list( \
  979. /* new /obj/item/weapon/storage/wallet(), \
  980. new /obj/item/weapon/storage/belt(), \
  981. new /obj/item/weapon/storage/belt/janitor(), \
  982. new /obj/item/weapon/storage/belt/medical(), \
  983. new /obj/item/weapon/storage/belt/fannypack(), \
  984. new /obj/item/weapon/storage/belt/security(), \
  985. new /obj/item/weapon/storage/belt/utility(), \*/
  986. new /obj/item/weapon/storage/bag/books(), \
  987. new /obj/item/weapon/storage/bag/ore(), \
  988. new /obj/item/weapon/storage/bag/plants(), \
  989. /* new /obj/item/weapon/storage/bag/sheetsnatcher(), \*/
  990. new /obj/item/weapon/storage/backpack(), \
  991. new /obj/item/weapon/storage/backpack/captain(), \
  992. new /obj/item/weapon/storage/backpack/clown(), \
  993. new /obj/item/weapon/storage/backpack/cultpack(), \
  994. new /obj/item/weapon/storage/backpack/duffel(), \
  995. new /obj/item/weapon/storage/backpack/industrial(), \
  996. new /obj/item/weapon/storage/backpack/medic(), \
  997. new /obj/item/weapon/storage/backpack/mime(), \
  998. new /obj/item/weapon/storage/backpack/satchel(), \
  999. new /obj/item/weapon/storage/backpack/satchel_cap(), \
  1000. new /obj/item/weapon/storage/backpack/satchel_chem(), \
  1001. new /obj/item/weapon/storage/backpack/satchel_eng(), \
  1002. new /obj/item/weapon/storage/backpack/satchel_gen(), \
  1003. new /obj/item/weapon/storage/backpack/satchel_hyd(), \
  1004. new /obj/item/weapon/storage/backpack/satchel_med(), \
  1005. new /obj/item/weapon/storage/backpack/satchel_norm(), \
  1006. new /obj/item/weapon/storage/backpack/satchel_sec(), \
  1007. new /obj/item/weapon/storage/backpack/satchel_tox(), \
  1008. new /obj/item/weapon/storage/backpack/satchel_vir(), \
  1009. new /obj/item/weapon/storage/backpack/security(), \
  1010. new /obj/item/weapon/storage/surgical(), \
  1011. )
  1012.  
  1013. //Misc.
  1014. var/global/list/autoloom_bedsheets = list( \
  1015. new /obj/item/clothing/suit/bedsheet(), \
  1016. new /obj/item/clothing/suit/bedsheet/red(), \
  1017. new /obj/item/clothing/suit/bedsheet/orange(), \
  1018. new /obj/item/clothing/suit/bedsheet/yellow(), \
  1019. new /obj/item/clothing/suit/bedsheet/green(), \
  1020. new /obj/item/clothing/suit/bedsheet/blue(), \
  1021. new /obj/item/clothing/suit/bedsheet/purple(), \
  1022. new /obj/item/clothing/suit/bedsheet/brown(), \
  1023. new /obj/item/clothing/suit/bedsheet/rainbow(), \
  1024. new /obj/item/clothing/suit/bedsheet/centcom(), \
  1025. new /obj/item/clothing/suit/bedsheet/captain(), \
  1026. new /obj/item/clothing/suit/bedsheet/hop(), \
  1027. new /obj/item/clothing/suit/bedsheet/hos(), \
  1028. new /obj/item/clothing/suit/bedsheet/ce(), \
  1029. new /obj/item/clothing/suit/bedsheet/cmo(), \
  1030. new /obj/item/clothing/suit/bedsheet/rd(), \
  1031. new /obj/item/clothing/suit/bedsheet/qm(), \
  1032. new /obj/item/clothing/suit/bedsheet/medical(), \
  1033. new /obj/item/clothing/suit/bedsheet/clown(), \
  1034. new /obj/item/clothing/suit/bedsheet/mime(), \
  1035. new /obj/item/weapon/surgical_drapes(), \
  1036. )
  1037.  
  1038. var/global/list/autoloom_bedsheets_hacked = list( \
  1039. new /obj/item/clothing/suit/bedsheet/syndie(), \
  1040. new /obj/item/clothing/suit/bedsheet/cult(), \
  1041. new /obj/item/clothing/suit/bedsheet/wiz(), \
  1042. )
  1043.  
  1044. var/global/list/autoloom_illegal = list( \
  1045. new /obj/item/clothing/head/soft/synd(), \
  1046. new /obj/item/clothing/under/syndicate(), \
  1047. new /obj/item/clothing/under/syndicate/syndisweater(), \
  1048. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement