diff --git a/code/modules/mining/alloys.dm b/code/modules/mining/alloys.dm
deleted file mode 100644
index ce29725d87a..00000000000
--- a/code/modules/mining/alloys.dm
+++ /dev/null
@@ -1,27 +0,0 @@
-//Alloys that contain subsets of each other's ingredients must be ordered in the desired sequence
-//eg. steel comes after plasteel because plasteel's ingredients contain the ingredients for steel and
-//it would be impossible to produce.
-
-/datum/alloy
- var/list/requires
- var/product_mod = 1
- var/product
- var/metaltag
-
-/datum/alloy/plasteel
- metaltag = "plasteel"
- requires = list(
- "platinum" = 1,
- "coal" = 2,
- "hematite" = 2
- )
- product_mod = 0.3
- product = /obj/item/stack/sheet/plasteel
-
-/datum/alloy/steel
- metaltag = "steel"
- requires = list(
- "coal" = 1,
- "hematite" = 1
- )
- product = /obj/item/stack/sheet/metal
\ No newline at end of file
diff --git a/code/modules/mining/manufacturing.dm b/code/modules/mining/manufacturing.dm
deleted file mode 100644
index 36464c2d7c7..00000000000
--- a/code/modules/mining/manufacturing.dm
+++ /dev/null
@@ -1,1135 +0,0 @@
-// the entire manufacturing.dm
-
-/datum/manufacture
- var/name = null
- var/item = null
- var/cost1 = null
- var/cost2 = null
- var/cost3 = null
- var/cname1 = null
- var/cname2 = null
- var/cname3 = null
- var/amount1 = 0
- var/amount2 = 0
- var/amount3 = 0
- var/create = 1
- var/time = 5
-
-/obj/machinery/manufacturer
- name = "Manufacturing Unit"
- desc = "A standard fabricator unit capable of producing certain items from mined ore."
- icon = 'icons/obj/surgery.dmi'
- icon_state = "fab-idle"
- density = 1
- anchored = 1
- //mats = 25
- var/working = 0
- var/panelopen = 0
- var/powconsumption = 0
- var/hacked = 0
- var/acceptdisk = 0
- var/dl_list = null
- var/list/available = list()
- var/list/diskload = list()
- var/list/download = list()
- var/list/hidden = list()
-
- New()
- ..()
-
- process()
- ..()
- if(src.working) use_power(src.powconsumption)
-
- ex_act(severity)
- switch(severity)
- if(1.0) qdel(src)
- if(2.0)
- if(prob(60)) stat |= BROKEN
- if(3.0)
- if(prob(30)) stat |= BROKEN
- return
-
- blob_act()
- if(prob(25)) del src
- return
-
- power_change()
- if(stat & BROKEN) icon_state = "fab-broken"
- else
- if( powered() )
- if(src.working) src.icon_state = "fab-active"
- else src.icon_state = "fab-idle"
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- src.icon_state = "fab-off"
- stat |= NOPOWER
-
- attack_hand(var/mob/user as mob)
- if(stat & BROKEN) return
- if(stat & NOPOWER) return
-
- user.machine = src
- var/dat = "[src.name]
"
-
- if(src.working)
- dat += "This unit is currently busy."
- user << browse(dat, "window=manufact;size=400x500")
- onclose(user, "manufact")
- return
-
- var/AMTmaux = 0
- var/AMTmoli = 0
- var/AMTphar = 0
- var/AMTclar = 0
- var/AMTbohr = 0
- var/AMTereb = 0
- var/AMTcere = 0
- var/AMTplas = 0
- var/AMTuqil = 0
- var/AMTtele = 0
- var/AMTfabr = 0
-
- for(var/obj/item/weapon/ore/O in src.contents)
- if(istype(O,/obj/item/weapon/ore/iron)) AMTmaux++
- if(istype(O,/obj/item/weapon/ore/glass)) AMTmoli++
- if(istype(O,/obj/item/weapon/ore/silver)) AMTphar++
- if(istype(O,/obj/item/weapon/ore/diamond)) AMTclar++
- if(istype(O,/obj/item/weapon/ore/gold)) AMTbohr++
- if(istype(O,/obj/item/weapon/ore/coal)) AMTereb++
- if(istype(O,/obj/item/weapon/ore/uranium)) AMTcere++
- if(istype(O,/obj/item/weapon/ore/plasma)) AMTplas++
- if(istype(O,/obj/item/weapon/ore/osmium)) AMTuqil++
- if(istype(O,/obj/item/weapon/ore/hydrogen)) AMTtele++
- if(istype(O,/obj/item/weapon/ore/fabric)) AMTfabr++
-
- dat += "Available Minerals
"
- if(AMTmaux) dat += "Iron: [AMTmaux]
"
- if(AMTmoli) dat += "Glass: [AMTmoli]
"
- if(AMTphar) dat += "Silver: [AMTphar]
"
- if(AMTclar) dat += "Diamond: [AMTclar]
"
- if(AMTbohr) dat += "Gold: [AMTbohr]
"
- if(AMTereb) dat += "Coal: [AMTereb]
"
- if(AMTcere) dat += "Uranium: [AMTcere]
"
- if(AMTplas) dat += "Plasma: [AMTplas]
"
- if(AMTuqil) dat += "Platinum: [AMTuqil]
"
- if(AMTtele) dat += "Hydrogen: [AMTtele]
"
- if(AMTfabr) dat += "Fabric: [AMTfabr]
"
- if(!AMTmaux && !AMTmoli && !AMTphar && !AMTclar && !AMTbohr && !AMTereb && !AMTcere && !AMTplas && !AMTuqil && !AMTtele && !AMTfabr)
- dat += "No minerals currently loaded.
"
-
- dat += {"
- Available Schematics"}
-
- for(var/datum/manufacture/A in src.available)
- dat += {"
- [A.name]
- Cost: [A.amount1] [A.cname1]"}
- if(A.cost2) dat += ", [A.amount2] [A.cname2]"
- if(A.cost3) dat += ", [A.amount3] [A.cname3]"
- dat += "
Time: [A.time] Seconds
"
-
- for(var/datum/manufacture/A in src.download)
- dat += {"
- [A.name] (Downloaded)
- Cost: [A.amount1] [A.cname1]"}
- if(A.cost2) dat += ", [A.amount2] [A.cname2]"
- if(A.cost3) dat += ", [A.amount3] [A.cname3]"
- dat += "
Time: [A.time] Seconds
"
-
- for(var/datum/manufacture/A in src.diskload)
- dat += {"
- [A.name] (Disk)
- Cost: [A.amount1] [A.cname1]"}
- if(A.cost2) dat += ", [A.amount2] [A.cname2]"
- if(A.cost3) dat += ", [A.amount3] [A.cname3]"
- dat += "
Time: [A.time] Seconds
"
-
- if(src.hacked)
- for(var/datum/manufacture/A in src.hidden)
- dat += {"
- [A.name] (Secret)
- Cost: [A.amount1] [A.cname1]"}
- if(A.cost2) dat += ", [A.amount2] [A.cname2]"
- if(A.cost3) dat += ", [A.amount3] [A.cname3]"
- dat += "
Time: [A.time] Seconds
"
-
- dat += "
"
-
- if(src.dl_list)
- dat += {"Download Available Schematics
- Clear Downloaded Schematics
"}
-
- if(src.acceptdisk)
- dat += {"Clear Disk Schematics
"}
-
- user << browse(dat, "window=manufact;size=400x500")
- onclose(user, "manufact")
-
- Topic(href, href_list)
- if(stat & BROKEN) return
- if(stat & NOPOWER) return
- if(usr.stat || usr.restrained())
- return
-
- if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))))
- usr.machine = src
-
- if(href_list["download"])
- to_chat(if(!src.dl_list) usr, "\red This unit is not capable of downloading any additional schematics.")
- else
- var/amtdl = 0
- //var/dontload = 0
- if(src.dl_list == "robotics")
- /*for(var/i = robotics_research.starting_tier, i <= robotics_research.max_tiers, i++)
- for(var/datum/roboresearch/X in robotics_research.researched_items[i])
- for(var/datum/manufacture/S in X.schematics)
- for(var/datum/manufacture/A in src.download)
- if(istype(S,A)) dontload = 1
- if(!dontload)
- src.download += new S.type(src)
- amtdl++
- else dontload = 0*/
- to_chat(if(amtdl) usr, "\blue [amtdl] new schematics downloaded from Robotics Research Database.")
- to_chat(else usr, "\red No new schematics currently available in Robotics Research Database.")
-
- if(href_list["delete"])
- var/operation = text2num(href_list["delete"])
- if(operation == 1) // Clear Disk Schematics
- var/amtgone = 0
- for(var/datum/manufacture/D in src.diskload)
- src.diskload-= D
- amtgone++
- to_chat(if(amtgone) usr, "\blue Cleared [amtgone] schematics from database.")
- to_chat(else usr, "\red No disk-loaded schematics detected in database.")
- if(operation == 2) // Clear Download Schematics
- var/amtgone = 0
- for(var/datum/manufacture/D in src.download)
- src.download-= D
- amtgone++
- to_chat(if(amtgone) usr, "\blue Cleared [amtgone] schematics from database.")
- to_chat(else usr, "\red No downloaded schematics detected in database.")
-
- if(href_list["eject"])
- var/operation = text2num(href_list["eject"])
- var/ejectamt = 0
- var/ejecting = null
- switch(operation)
- if(1) ejecting = /obj/item/weapon/ore/iron
- if(2) ejecting = /obj/item/weapon/ore/glass
- if(3) ejecting = /obj/item/weapon/ore/silver
- if(4) ejecting = /obj/item/weapon/ore/diamond
- if(5) ejecting = /obj/item/weapon/ore/gold
- if(6) ejecting = /obj/item/weapon/ore/coal
- if(7) ejecting = /obj/item/weapon/ore/uranium
- if(8) ejecting = /obj/item/weapon/ore/plasma
- if(9) ejecting = /obj/item/weapon/ore/osmium
- if(10) ejecting = /obj/item/weapon/ore/hydrogen
- if(11) ejecting = /obj/item/weapon/ore/fabric
- else
- to_chat(usr, "\red Error. Unknown ore type.")
- return
- sleep(3)
- ejectamt = input(usr,"How many units do you want to eject?","Eject Materials") as num
- for(var/obj/item/weapon/ore/O in src.contents)
- if(ejectamt <= 0) break
- if(istype(O, ejecting))
- O.loc = usr.loc
- ejectamt--
-
- if(href_list["disp"])
- var/datum/manufacture/I = locate(href_list["disp"])
- // Material Check
- var/A1 = 0
- var/A2 = 0
- var/A3 = 0
- for(var/obj/item/weapon/ore/O in src.contents)
- if(istype(O,I.cost1)) A1++
- if(istype(O,I.cost2)) A2++
- if(istype(O,I.cost3)) A3++
- if(A1 < I.amount1 || A2 < I.amount2 || A3 < I.amount3)
- to_chat(usr, "\red Insufficient materials to manufacture that item.")
- return
- // Consume Mats
- var/C1 = I.amount1
- var/C2 = I.amount2
- var/C3 = I.amount3
- for(var/obj/item/weapon/ore/O in src.contents)
- if(istype(O,I.cost1) && C1)
- del O
- C1--
- if(istype(O,I.cost2) && C2)
- del O
- C2--
- if(istype(O,I.cost3) && C3)
- del O
- C3--
- // Manufacture Item
- src.icon_state = "fab-active"
- src.working = 1
- var/worktime = I.time * 10
- var/powconsume = round(1500*worktime/3)
- /*for(var/i = robotics_research.starting_tier, i <= robotics_research.max_tiers, i++)
- for(var/datum/roboresearch/a in robotics_research.researched_items[i])
- if(a.manubonus)
- worktime -= a.timebonus
- if(a.multiplier != 0) worktime /= a.multiplier
- powconsume -= a.powbonus*/
- if(worktime < 1) worktime = 1
- src.powconsumption = powconsume
- src.updateUsrDialog()
- sleep(worktime)
- var/make = I.create
- while(make > 0)
- new I.item(src.loc)
- make--
- src.working = 0
- src.icon_state = "fab-idle"
- src.updateUsrDialog()
-
-
- attackby(obj/item/weapon/W as obj, mob/user as mob, params)
- var/load = 0
- if(istype(W, /obj/item/weapon/ore/))
- for(var/mob/O in viewers(user, null)) O.show_message(text("\blue [] loads [] into the [].", user, W, src), 1)
- load = 1
- else if(istype(W, /obj/item/stack/sheet))
- var/obj/item/stack/sheet/STACK = W
- for(var/mob/O in viewers(user, null)) O.show_message(text("\blue [] loads [] into the [].", user, W, src), 1)
- if(istype(STACK, /obj/item/stack/sheet/metal))
- for(var/amt = STACK.amount, amt > 0, amt--) new /obj/item/weapon/ore/iron(src)
- if(istype(STACK, /obj/item/stack/sheet/plasteel))
- for(var/amt = STACK.amount, amt > 0, amt--)
- new /obj/item/weapon/ore/iron(src)
- new /obj/item/weapon/ore/plasma(src)
- if(istype(STACK, /obj/item/stack/sheet/glass))
- for(var/amt = STACK.amount, amt > 0, amt--) new /obj/item/weapon/ore/glass(src)
- if(istype(STACK, /obj/item/stack/sheet/rglass))
- for(var/amt = STACK.amount, amt > 0, amt--)
- new /obj/item/weapon/ore/iron(src)
- new /obj/item/weapon/ore/glass(src)
- load = 2
- //else if(istype(W, /obj/item/weapon/plant/wheat/metal))
- // new /obj/item/weapon/ore/iron(src)
- // load = 2
- /*else if(istype(W, /obj/item/stack/cable_coil/))
- for(var/mob/O in viewers(user, null)) O.show_message(text("\blue [] loads [] into the [].", user, W, src), 1)
- for(var/amt = W:amount, amt > 0, amt--)
- new /obj/item/weapon/ore/silver(src)
- amt--
- load = 2*/
- else if(istype(W, /obj/item/weapon/shard))
- new /obj/item/weapon/ore/glass(src)
- load = 2
- else if(istype(W, /obj/item/stack/rods))
- var/obj/item/stack/RODS = W
- for(var/amt = RODS.amount, amt > 0, amt--) new /obj/item/weapon/ore/iron(src)
- load = 2
- else if(istype(W, /obj/item/clothing/))
- if(istype(W, /obj/item/clothing/under/))
- new /obj/item/weapon/ore/fabric(src)
- load = 2
- if(istype(W, /obj/item/clothing/suit/))
- if(!istype(W,/obj/item/clothing/suit/armor))
- new /obj/item/weapon/ore/fabric(src)
- new /obj/item/weapon/ore/fabric(src)
- if(istype(W,/obj/item/clothing/suit/space/)) new /obj/item/weapon/ore/fabric(src)
- load = 2
- else if(istype(W, /obj/item/weapon/disk/data/schematic))
- to_chat(if(!src.acceptdisk) user, "\red This unit is unable to accept disks.")
- else
- var/amtload = 0
- var/dontload = 0
- for(var/datum/manufacture/WS in W:schematics)
- for(var/datum/manufacture/A in src.available)
- if(istype(WS,A)) dontload = 1
- for(var/datum/manufacture/B in src.download)
- if(istype(WS,B)) dontload = 1
- for(var/datum/manufacture/C in src.diskload)
- if(istype(WS,C)) dontload = 1
- for(var/datum/manufacture/D in src.hidden)
- if(istype(WS,D) && src.hacked) dontload = 1
- if(!dontload)
- src.diskload += new WS.type(src)
- amtload++
- else dontload = 0
- to_chat(if(amtload) user, "\blue [amtload] new schematics downloaded from disk.")
- to_chat(else user, "\red No new schematics available on disk.")
- else if(istype(W, /obj/item/weapon/storage/bag/ore))
- for(var/mob/V in viewers(user, null)) V.show_message(text("\blue [] uses the []'s automatic ore loader on []!", user, src, W), 1)
- var/amtload = 0
- for(var/obj/item/weapon/ore/M in W.contents)
- M.loc = src
- amtload++
- to_chat(if(amtload) user, "\blue [amtload] pieces of ore loaded from [W]!")
- to_chat(else user, "\red No ore loaded!")
- else if(istype(W, /obj/item/weapon/card/emag))
- src.hacked = 1
- to_chat(user, "\blue You remove the [src]'s product locks!")
- else ..()
-
- if(load == 1)
- user.unEquip(W)
- W.loc = src
- if((user.client && user.s_active != src))
- user.client.screen -= W
- W.dropped()
- else if(load == 2)
- user.unEquip(W)
- W.dropped()
- if((user.client && user.s_active != src))
- user.client.screen -= W
- del W
-
- src.updateUsrDialog()
-
- MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
- if(istype(O, /obj/structure/closet/crate/))
- for(var/mob/V in viewers(user, null)) V.show_message(text("\blue [] uses the []'s automatic ore loader on []!", user, src, O), 1)
- var/amtload = 0
- for(var/obj/item/weapon/ore/M in O.contents)
- M.loc = src
- amtload++
- to_chat(if(amtload) user, "\blue [amtload] pieces of ore loaded from [O]!")
- to_chat(else user, "\red No ore loaded!")
- else if(istype(O, /obj/item/weapon/ore/))
- for(var/mob/V in viewers(user, null)) V.show_message(text("\blue [] begins quickly stuffing ore into []!", user, src), 1)
- var/staystill = user.loc
- for(var/obj/item/weapon/ore/M in view(1,user))
- M.loc = src
- sleep(3)
- if(user.loc != staystill) break
- to_chat(user, "\blue You finish stuffing ore into [src]!")
- /*else if(istype(O, /obj/item/weapon/plant/wheat/metal))
- for(var/mob/V in viewers(user, null)) V.show_message(text("\blue [] begins quickly stuffing [O] into []!", user, src), 1)
- var/staystill = user.loc
- for(var/obj/item/weapon/plant/wheat/metal/M in view(1,user))
- new /obj/item/weapon/ore/iron(src)
- del M
- sleep(3)
- if(user.loc != staystill) break
- to_chat(user, "\blue You finish stuffing [O] into [src]!"*/)
- else ..()
- src.updateUsrDialog()
-
-/obj/item/weapon/disk/data/schematic
- name = "Manufacturer Schematic Disk"
- desc = "Contains schematics for use in a Manufacturing Unit."
- var/list/schematics = list()
-
-// Fabricator Defines
-
-/obj/machinery/manufacturer/general
- name = "General Manufacturer"
- desc = "A manufacturing unit calibrated to produce tools and general purpose items."
-
- New()
- ..()
- src.available += new /datum/manufacture/screwdriver(src)
- src.available += new /datum/manufacture/wirecutters(src)
- src.available += new /datum/manufacture/wrench(src)
- src.available += new /datum/manufacture/crowbar(src)
- src.available += new /datum/manufacture/extinguisher(src)
- src.available += new /datum/manufacture/welder(src)
- src.available += new /datum/manufacture/weldingmask(src)
- src.available += new /datum/manufacture/multitool(src)
- src.available += new /datum/manufacture/metal5(src)
- src.available += new /datum/manufacture/metalR(src)
- src.available += new /datum/manufacture/glass5(src)
- src.available += new /datum/manufacture/glassR(src)
- src.available += new /datum/manufacture/atmos_can(src)
- //src.available += new /datum/manufacture/cable(src)
- src.available += new /datum/manufacture/light_bulb(src)
- src.available += new /datum/manufacture/light_tube(src)
- src.available += new /datum/manufacture/breathmask(src)
- src.available += new /datum/manufacture/RCDammo(src)
- //src.available += new /datum/manufacture/cola_bottle(src)
- //src.hidden += new /datum/manufacture/vuvuzela(src)
- //src.hidden += new /datum/manufacture/harmonica(src)
- //src.hidden += new /datum/manufacture/bikehorn(src)
- //src.hidden += new /datum/manufacture/stunrounds
-
-/obj/machinery/manufacturer/robotics
- name = "Robotics Fabricator"
- desc = "A manufacturing unit calibrated to produce robot-related equipment."
- acceptdisk = 1
- dl_list = "robotics"
-
- New()
- ..()
- src.available += new /datum/manufacture/robo_frame(src)
- src.available += new /datum/manufacture/robo_head(src)
- src.available += new /datum/manufacture/robo_chest(src)
- src.available += new /datum/manufacture/robo_arm_r(src)
- src.available += new /datum/manufacture/robo_arm_l(src)
- src.available += new /datum/manufacture/robo_leg_r(src)
- src.available += new /datum/manufacture/robo_leg_l(src)
- src.available += new /datum/manufacture/robo_stmodule(src)
- //src.available += new /datum/manufacture/cable(src)
- src.available += new /datum/manufacture/powercell(src)
- src.available += new /datum/manufacture/crowbar(src)
- src.available += new /datum/manufacture/scalpel(src)
- src.available += new /datum/manufacture/circular_saw(src)
- src.available += new /datum/manufacture/implanter
- src.hidden += new /datum/manufacture/flash(src)
-
-// Schematic Defines
-// General/Miscellaneous
-
-/datum/manufacture/crowbar
- name = "Crowbar"
- item = /obj/item/weapon/crowbar
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/screwdriver
- name = "Screwdriver"
- item = /obj/item/weapon/screwdriver
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/wirecutters
- name = "Wirecutters"
- item = /obj/item/weapon/wirecutters
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/wrench
- name = "Wrench"
- item = /obj/item/weapon/wrench
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-/*
-/datum/manufacture/vuvuzela
- name = "Vuvuzela"
- item = /obj/item/weapon/vuvuzela
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/harmonica
- name = "Harmonica"
- item = /obj/item/weapon/harmonica
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/cola_bottle
- name = "Glass Bottle"
- item = /obj/item/weapon/reagent_containers/food/drinks/cola_bottle
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 1
- time = 4
- create = 1
-
-/datum/manufacture/bikehorn
- name = "Bicycle Horn"
- item = /obj/item/weapon/bikehorn
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/stunrounds
- name = ".38 Stunner Rounds"
- item = /obj/item/weapon/ammo/bullets/a38/stun
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 7
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 3
- time = 25
- create = 1
-*/
-/datum/manufacture/extinguisher
- name = "Fire Extinguisher"
- item = /obj/item/weapon/extinguisher
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 1
- time = 8
- create = 1
-
-/datum/manufacture/welder
- name = "Welding Tool"
- item = /obj/item/weapon/weldingtool
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 1
- time = 8
- create = 1
-
-/datum/manufacture/multitool
- name = "Multi Tool"
- item = /obj/item/device/multitool
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 1
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 1
- time = 8
- create = 1
-
-/datum/manufacture/weldingmask
- name = "Welding Mask"
- item = /obj/item/clothing/head/welding
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 2
- time = 10
- create = 1
-
-/datum/manufacture/light_bulb
- name = "Light Bulb"
- item = /obj/item/weapon/light/bulb
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 1
- time = 4
- create = 1
-
-/datum/manufacture/light_tube
- name = "Light Tube"
- item = /obj/item/weapon/light/tube
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 1
- time = 4
- create = 1
-
-/datum/manufacture/metal5
- name = "Sheet Metal (x5)"
- item = /obj/item/stack/sheet/metal
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 5
- time = 8
- create = 5
-
-/datum/manufacture/metalR
- name = "Reinforced Metal"
- item = /obj/item/stack/sheet/plasteel
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- cost2 = /obj/item/weapon/ore/plasma
- cname2 = "Plasma"
- amount2 = 1
- time = 6
- create = 1
-
-/datum/manufacture/glass5
- name = "Glass Panel (x5)"
- item = /obj/item/stack/sheet/glass
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 5
- time = 8
- create = 5
-
-/datum/manufacture/glassR
- name = "Reinforced Glass Panel"
- item = /obj/item/stack/sheet/rglass
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 1
- cost2 = /obj/item/weapon/ore/iron
- cname2 = "Iron"
- amount2 = 1
- time = 12
- create = 1
-
-/datum/manufacture/atmos_can
- name = "Portable Gas Canister"
- item = /obj/machinery/portable_atmospherics/canister
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 5
- time = 10
- create = 1
-
-/*
-/datum/manufacture/cable
- name = "Electrical Cable Piece"
- item = /obj/item/stack/cable_coil/cut
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 1
- time = 3
- create = 1
-*/
-/datum/manufacture/RCD
- name = "Rapid Construction Device"
- item = /obj/item/weapon/rcd
- cost1 = /obj/item/weapon/ore/gold
- cname1 = "Gold"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/osmium
- cname2 = "Platinum"
- amount2 = 1
- cost3 = /obj/item/weapon/ore/silver
- cname3 = "Silver"
- amount3 = 10
- time = 90
- create = 1
-
-/datum/manufacture/RCDammo
- name = "Compressed Matter Cartridge"
- item = /obj/item/weapon/rcd_ammo
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 1
- time = 15
- create = 1
-
-
-/******************** Robotics **************************/
-
-/datum/manufacture/robo_frame
- name = "Cyborg Frame"
- item = /obj/item/robot_parts/robot_suit
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 18
- time = 45
- create = 1
-
-/datum/manufacture/robo_chest
- name = "Cyborg Chest"
- item = /obj/item/robot_parts/chest
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 12
- time = 30
- create = 1
-
-/datum/manufacture/robo_head
- name = "Cyborg Head"
- item = /obj/item/robot_parts/head
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 12
- time = 30
- create = 1
-
-/datum/manufacture/robo_arm_r
- name = "Cyborg Arm (Right)"
- item = /obj/item/robot_parts/r_arm
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 6
- time = 15
- create = 1
-
-/datum/manufacture/robo_arm_l
- name = "Cyborg Arm (Left)"
- item = /obj/item/robot_parts/l_arm
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 6
- time = 15
- create = 1
-
-/datum/manufacture/robo_leg_r
- name = "Cyborg Leg (Right)"
- item = /obj/item/robot_parts/r_leg
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 6
- time = 15
- create = 1
-
-/datum/manufacture/robo_leg_l
- name = "Cyborg Leg (Left)"
- item = /obj/item/robot_parts/l_leg
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 6
- time = 15
- create = 1
-
-/datum/manufacture/robo_stmodule
- name = "Standard Cyborg Module"
- item = /obj/item/weapon/robot_module/standard
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 3
- time = 40
- create = 1
-
-/datum/manufacture/scalpel
- name = "Scalpel"
- item = /obj/item/weapon/scalpel
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/circular_saw
- name = "Circular Saw"
- item = /obj/item/weapon/circular_saw
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/powercell
- name = "Power Cell"
- item = /obj/item/weapon/stock_parts/cell
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 4
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 4
- cost3 = /obj/item/weapon/ore/silver
- cname3 = "Silver"
- amount3 = 4
- time = 30
- create = 1
-
-/datum/manufacture/flash
- name = "Flash"
- item = /obj/item/device/flash
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 2
- time = 15
- create = 1
-
-
-
-// Robotics Research
-
-/datum/manufacture/implanter
- name = "Implanter"
- item = /obj/item/weapon/implanter
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 1
- time = 3
- create = 1
-
-/datum/manufacture/secbot
- name = "Security Drone"
- item = /obj/machinery/bot/secbot
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 5
- cost3 = /obj/item/weapon/ore/glass
- cname3 = "Glass"
- amount3 = 5
- time = 60
- create = 1
-
-/datum/manufacture/floorbot
- name = "Construction Drone"
- item = /obj/machinery/bot/floorbot
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 5
- cost3 = /obj/item/weapon/ore/glass
- cname3 = "Glass"
- amount3 = 5
- time = 60
- create = 1
-
-/datum/manufacture/medbot
- name = "Medical Drone"
- item = /obj/machinery/bot/medbot
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 5
- cost3 = /obj/item/weapon/ore/glass
- cname3 = "Glass"
- amount3 = 5
- time = 60
- create = 1
-/*
-/datum/manufacture/firebot
- name = "Firefighting Drone"
- item = /obj/machinery/bot/firebot
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 5
- cost3 = /obj/item/weapon/ore/glass
- cname3 = "Glass"
- amount3 = 5
- time = 60
- create = 1
-*/
-/datum/manufacture/cleanbot
- name = "Sanitation Drone"
- item = /obj/machinery/bot/cleanbot
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 5
- cost3 = /obj/item/weapon/ore/glass
- cname3 = "Glass"
- amount3 = 5
- time = 60
- create = 1
-/*
-/datum/manufacture/robup_jetpack
- name = "Propulsion Upgrade"
- item = /obj/item/weapon/roboupgrade/jetpack
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/iron
- cname2 = "Iron"
- amount2 = 5
- time = 60
- create = 1
-
-/datum/manufacture/robup_speed
- name = "Speed Upgrade"
- item = /obj/item/weapon/roboupgrade/speed
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 5
- time = 60
- create = 1
-
-/datum/manufacture/robup_recharge
- name = "Recharge Pack"
- item = /obj/item/weapon/roboupgrade/rechargepack
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 5
- time = 60
- create = 1
-
-/datum/manufacture/robup_repairpack
- name = "Repair Pack"
- item = /obj/item/weapon/roboupgrade/repairpack
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 5
- time = 60
- create = 1
-
-/datum/manufacture/robup_physshield
- name = "Force Shield Upgrade"
- item = /obj/item/weapon/roboupgrade/physshield
- cost1 = /obj/item/weapon/ore/diamond
- cname1 = "Claretine"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/iron
- cname2 = "Iron"
- amount2 = 10
- time = 90
- create = 1
-
-/datum/manufacture/robup_fireshield
- name = "Heat Shield Upgrade"
- item = /obj/item/weapon/roboupgrade/fireshield
- cost1 = /obj/item/weapon/ore/diamond
- cname1 = "Claretine"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 10
- time = 90
- create = 1
-
-/datum/manufacture/robup_aware
- name = "Operational Upgrade"
- item = /obj/item/weapon/roboupgrade/aware
- cost1 = /obj/item/weapon/ore/diamond
- cname1 = "Claretine"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 5
- cost3 = /obj/item/weapon/ore/silver
- cname3 = "Silver"
- amount3 = 5
- time = 90
- create = 1
-
-/datum/manufacture/robup_efficiency
- name = "Efficiency Upgrade"
- item = /obj/item/weapon/roboupgrade/efficiency
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/diamond
- cname2 = "Claretine"
- amount2 = 10
- time = 120
- create = 1
-
-/datum/manufacture/robup_repair
- name = "Self-Repair Upgrade"
- item = /obj/item/weapon/roboupgrade/repair
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/gold
- cname2 = "Gold"
- amount2 = 10
- time = 120
- create = 1
-
-/datum/manufacture/robup_teleport
- name = "Teleport Upgrade"
- item = /obj/item/weapon/roboupgrade/teleport
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/hydrogen
- cname2 = "Telecrystal"
- amount2 = 2
- time = 120
- create = 1
-
-/datum/manufacture/robup_expand
- name = "Expansion Upgrade"
- item = /obj/item/weapon/roboupgrade/expand
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/uranium
- cname2 = "Cerenkite"
- amount2 = 1
- time = 120
- create = 1
-
-/datum/manufacture/robup_chargexpand
- name = "Charge Expander Upgrade"
- item = /obj/item/weapon/roboupgrade/chargeexpand
- cost1 = /obj/item/weapon/ore/diamond
- cname1 = "Claretine"
- amount1 = 5
- time = 70
- create = 1
-
-/datum/manufacture/robup_meson
- name = "Optical Meson Upgrade"
- item = /obj/item/weapon/roboupgrade/opticmeson
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 4
- time = 90
- create = 1
-
-/datum/manufacture/robup_thermal
- name = "Optical Thermal Upgrade"
- item = /obj/item/weapon/roboupgrade/opticthermal
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 4
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 8
- time = 90
- create = 1
-
-/datum/manufacture/deafhs
- name = "Auditory Headset"
- item = /obj/item/device/radio/headset/deaf
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 3
- time = 40
- create = 1
-
-/datum/manufacture/visor
- name = "VISOR Prosthesis"
- item = /obj/item/clothing/glasses/visor
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 3
- time = 40
- create = 1
-
-/datum/manufacture/implant_robotalk
- name = "Machine Translator Implant"
- item = /obj/item/weapon/implantcase/robotalk
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 3
- time = 40
- create = 1
-
-/datum/manufacture/implant_bloodmonitor
- name = "Blood Monitor Implant"
- item = /obj/item/weapon/implantcase/bloodmonitor
- cost1 = /obj/item/weapon/ore/silver
- cname1 = "Silver"
- amount1 = 3
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 3
- time = 40
- create = 1
-*/
\ No newline at end of file
diff --git a/code/modules/mining/materials.dm b/code/modules/mining/materials.dm
deleted file mode 100644
index 5c743bb4521..00000000000
--- a/code/modules/mining/materials.dm
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
-* Materials system
-*
-* Replaces all of the horrible variables that tracked each individual thing.
-*/
-
-/**
-* MATERIALS DATUM
-*
-* Tracks and manages material storage for an object.
-*/
-/datum/materials
- var/list/datum/material/storage[0]
-
-/datum/materials/New()
- for(var/matdata in subtypesof(/datum/material))
- var/datum/material/mat = new matdata
- storage[mat.id]=mat
-
-/datum/materials/proc/addAmount(var/mat_id,var/amount)
- if(!(mat_id in storage))
- warning("addAmount(): Unknown material [mat_id]!")
- return
- // I HATE BYOND
- // storage[mat_id].stored++
- var/datum/material/mat=storage[mat_id]
- mat.stored += amount
- storage[mat_id]=mat
-
-/datum/materials/proc/removeAmount(var/mat_id,var/amount)
- if(!(mat_id in storage))
- warning("removeAmount(): Unknown material [mat_id]!")
- return
- addAmount(mat_id,-amount)
-
-/datum/materials/proc/getAmount(var/mat_id)
- if(!(mat_id in storage))
- warning("getAmount(): Unknown material [mat_id]!")
- return 0
-
- var/datum/material/mat=getMaterial(mat_id)
- return mat.stored
-
-/datum/materials/proc/getMaterial(var/mat_id)
- if(!(mat_id in storage))
- warning("getMaterial(): Unknown material [mat_id]!")
- return 0
-
- return storage[mat_id]
-
-
-/datum/material
- var/name=""
- var/processed_name=""
- var/id=""
- var/stored=0
- var/cc_per_sheet=CC_PER_SHEET_MISC
- var/oretype=null
- var/sheettype=null
- var/cointype=null
- var/value=0
-
-/datum/material/New()
- if(processed_name=="")
- processed_name=name
-
-/datum/material/iron
- name="Iron"
- id="iron"
- value=1
- cc_per_sheet=CC_PER_SHEET_METAL
- oretype=/obj/item/weapon/ore/iron
- sheettype=/obj/item/stack/sheet/metal
- cointype=/obj/item/weapon/coin/iron
-
-/datum/material/glass
- name="Sand"
- processed_name="Glass"
- id="glass"
- value=1
- cc_per_sheet=CC_PER_SHEET_GLASS
- oretype=/obj/item/weapon/ore/glass
- sheettype=/obj/item/stack/sheet/glass
-
-/datum/material/diamond
- name="Diamond"
- id="diamond"
- value=40
- oretype=/obj/item/weapon/ore/diamond
- sheettype=/obj/item/stack/sheet/mineral/diamond
- cointype=/obj/item/weapon/coin/diamond
-
-/datum/material/plasma
- name="Plasma"
- id="plasma"
- value=40
- oretype=/obj/item/weapon/ore/plasma
- sheettype=/obj/item/stack/sheet/mineral/plasma
- cointype=/obj/item/weapon/coin/plasma
-
-/datum/material/gold
- name="Gold"
- id="gold"
- value=20
- oretype=/obj/item/weapon/ore/gold
- sheettype=/obj/item/stack/sheet/mineral/gold
- cointype=/obj/item/weapon/coin/gold
-
-/datum/material/silver
- name="Silver"
- id="silver"
- value=20
- oretype=/obj/item/weapon/ore/silver
- sheettype=/obj/item/stack/sheet/mineral/silver
- cointype=/obj/item/weapon/coin/silver
-
-/datum/material/uranium
- name="Uranium"
- id="uranium"
- value=20
- oretype=/obj/item/weapon/ore/uranium
- sheettype=/obj/item/stack/sheet/mineral/uranium
- cointype=/obj/item/weapon/coin/uranium
-
-/datum/material/clown
- name="Bananium"
- id="clown"
- value=100
- oretype=/obj/item/weapon/ore/clown
- sheettype=/obj/item/stack/sheet/mineral/clown
- cointype=/obj/item/weapon/coin/clown
-
-/datum/material/plastic
- name="Plastic"
- id="plastic"
- value=1
- oretype=null
- sheettype=/obj/item/stack/sheet/mineral/plastic
- cointype=null
-
-/datum/material/fabric
- name="Fabric"
- id="fabric"
- value=20
- oretype=/obj/item/weapon/ore/fabric
- sheettype=null
- cointype=null
\ No newline at end of file
diff --git a/code/modules/mining/minerals.dm b/code/modules/mining/minerals.dm
deleted file mode 100644
index 0cd46917858..00000000000
--- a/code/modules/mining/minerals.dm
+++ /dev/null
@@ -1,107 +0,0 @@
-var/list/name_to_mineral
-
-proc/SetupMinerals()
- name_to_mineral = list()
- for(var/type in subtypesof(/mineral))
- var/mineral/new_mineral = new type
- if(!new_mineral.name)
- continue
- name_to_mineral[new_mineral.name] = new_mineral
- return 1
-
-mineral
- ///What am I called?
- var/name
- var/display_name
- ///How much ore?
- var/result_amount
- ///Does this type of deposit spread?
- var/spread = 1
- ///Chance of spreading in any direction
- var/spread_chance
-
- ///Path to the resultant ore.
- var/ore
-
- New()
- . = ..()
- if(!display_name)
- display_name = name
-
- proc/UpdateTurf(var/turf/simulated/mineral/T)
- T.UpdateMineral()
-
-mineral/uranium
- name = "Uranium"
- result_amount = 5
- spread_chance = 10
- ore = /obj/item/weapon/ore/uranium
-
-mineral/iron
- name = "Iron"
- result_amount = 5
- spread_chance = 25
- ore = /obj/item/weapon/ore/iron
-
-mineral/diamond
- name = "Diamond"
- result_amount = 5
- spread_chance = 10
- ore = /obj/item/weapon/ore/diamond
-
-mineral/gold
- name = "Gold"
- result_amount = 5
- spread_chance = 10
- ore = /obj/item/weapon/ore/gold
-
-mineral/silver
- name = "Silver"
- result_amount = 5
- spread_chance = 10
- ore = /obj/item/weapon/ore/silver
-
-mineral/platinum
- name = "Platinum"
- result_amount = 5
- spread_chance = 10
- ore = /obj/item/weapon/ore/osmium
-
-mineral/plasma
- name = "Plasma"
- result_amount = 5
- spread_chance = 25
- ore = /obj/item/weapon/ore/plasma
-
-mineral/clown
- display_name = "Bananium"
- name = "Clown"
- result_amount = 3
- spread = 0
- ore = /obj/item/weapon/ore/clown
-
-mineral/coal
- name = "Coal"
- result_amount = 5
- spread_chance = 25
- ore = /obj/item/weapon/ore/coal
-
-mineral/hydrogen
- name = "Hydrogen"
- result_amount = 5
- spread_chance = 10
- ore = /obj/item/weapon/ore/coal
-
-
-mineral/cave
- display_name = "Cave"
- name = "Cave"
- result_amount = 1
- spread_chance = 10
- ore = null
- UpdateTurf(var/turf/T)
- if(!istype(T,/turf/simulated/floor/plating/airless/asteroid/cave))
- T.ChangeTurf(/turf/simulated/floor/plating/airless/asteroid/cave)
- else
- ..()
-
diff --git a/code/modules/mining/mining_recipes.dm b/code/modules/mining/mining_recipes.dm
deleted file mode 100644
index ebe28c4e083..00000000000
--- a/code/modules/mining/mining_recipes.dm
+++ /dev/null
@@ -1,252 +0,0 @@
-/obj/machinery/manufacturer/mining
- name = "Mining Fabricator"
- desc = "A manufacturing unit calibrated to produce mining related equipment."
- acceptdisk = 1
-
- New()
- ..()
- src.available += new /datum/manufacture/pick(src)
- src.available += new /datum/manufacture/shovel(src)
- src.available += new /datum/manufacture/oresatchel(src)
- src.available += new /datum/manufacture/breathmask(src)
- src.available += new /datum/manufacture/spacesuit(src)
- src.available += new /datum/manufacture/spacehelm(src)
- src.available += new /datum/manufacture/eyes_meson(src)
- src.hidden += new /datum/manufacture/RCD(src)
- src.hidden += new /datum/manufacture/RCDammo(src)
-
-
-// Mining Gear
-/datum/manufacture/pick
- name = "Pickaxe"
- item = /obj/item/weapon/pickaxe
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 5
- time = 5
- create = 1
-
-/datum/manufacture/shovel
- name = "Shovel"
- item = /obj/item/weapon/shovel
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 3
- time = 2
- create = 1
-
-/datum/manufacture/spick
- name = "Silver Pickaxe"
- item = /obj/item/weapon/pickaxe/silver
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 5
- time = 10
- create = 1
-
-/datum/manufacture/gpick
- name = "Gold Pickaxe"
- item = /obj/item/weapon/pickaxe/gold
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/gold
- cname2 = "Gold"
- amount2 = 5
- time = 15
- create = 1
-
-/datum/manufacture/dpick
- name = "Diamond Pickaxe"
- item = /obj/item/weapon/pickaxe/diamond
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/diamond
- cname2 = "Uranium"
- amount2 = 5
- time = 30
- create = 1
-
-/datum/manufacture/jackhammer
- name = "Sonic Jackhammer"
- item = /obj/item/weapon/pickaxe/jackhammer
- cost1 = /obj/item/weapon/ore/gold
- cname1 = "Gold"
- amount1 = 8
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 12
- time = 30
- create = 1
-
-/datum/manufacture/drill
- name = "Hand Drill"
- item = /obj/item/weapon/pickaxe/drill
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 15
- time = 20
- create = 1
-
-/datum/manufacture/diamonddrill
- name = "Diamond Drill"
- item = /obj/item/weapon/pickaxe/diamonddrill
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 15
- cost2 = /obj/item/weapon/ore/diamond
- cname2 = "Diamond"
- amount2 = 15
- cost3 = /obj/item/weapon/ore/silver
- cname3 = "Silver"
- amount3 = 15
- time = 40
- create = 1
-
-/datum/manufacture/cutter
- name = "Plasma Cutter"
- item = /obj/item/weapon/pickaxe/plasmacutter
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/gold
- cname2 = "Gold"
- amount2 = 10
- cost3 = /obj/item/weapon/ore/plasma
- cname3 = "Plasma"
- amount3 = 15
- time = 30
- create = 1
-
-/datum/manufacture/eyes_meson
- name = "Optical Meson Scanner"
- item = /obj/item/clothing/glasses/meson
- cost1 = /obj/item/weapon/ore/glass
- cname1 = "Glass"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 3
- time = 10
- create = 1
-
-/datum/manufacture/miningsuit
- name = "Mining Hardsuit"
- item = /obj/item/clothing/suit/space/rig/mining
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 30
- cost2 = /obj/item/weapon/ore/iron
- cname2 = "Iron"
- amount2 = 30
- time = 30
- create = 1
-
-/datum/manufacture/mininghelm
- name = "Mining Hardsuit Helmet"
- item = /obj/item/clothing/head/helmet/space/rig/mining
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 30
- cost2 = /obj/item/weapon/ore/iron
- cname2 = "Iron"
- amount2 = 30
- time = 20
- create = 1
-
-/datum/manufacture/breathmask
- name = "Breath Mask"
- item = /obj/item/clothing/mask/breath
- cost1 = /obj/item/weapon/ore/fabric
- cname1 = "Fabric"
- amount1 = 1
- time = 5
- create = 1
-
-/datum/manufacture/spacesuit
- name = "Space Suit"
- item = /obj/item/clothing/suit/space
- cost1 = /obj/item/weapon/ore/fabric
- cname1 = "Fabric"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/iron
- cname2 = "Iron"
- amount2 = 5
- time = 15
- create = 1
-
-/datum/manufacture/spacehelm
- name = "Space Helmet"
- item = /obj/item/clothing/head/helmet/space
- cost1 = /obj/item/weapon/ore/fabric
- cname1 = "Fabric"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 5
- time = 10
- create = 1
-
-/datum/manufacture/oresatchel
- name = "Ore Satchel"
- item = /obj/item/weapon/storage/bag/ore
- cost1 = /obj/item/weapon/ore/fabric
- cname1 = "Fabric"
- amount1 = 5
- time = 5
- create = 1
-
-/datum/manufacture/jetpack
- name = "Jetpack"
- item = /obj/item/weapon/tank/jetpack
- cost1 = /obj/item/weapon/ore/gold
- cname1 = "Gold"
- amount1 = 15
- cost2 = /obj/item/weapon/ore/silver
- cname2 = "Silver"
- amount2 = 20
- time = 30
- create = 1
-
-//Diskettes!
-/obj/item/weapon/disk/data/schematic/mining1
- name = "Mining Schematics Level 1"
- desc = "Contains the schematics for a new range of Pickaxes."
-
- New()
- src.schematics += new /datum/manufacture/spick(src)
- src.schematics += new /datum/manufacture/gpick(src)
- src.schematics += new /datum/manufacture/dpick(src)
-
-/obj/item/weapon/disk/data/schematic/mining2
- name = "Mining Schematics Level 2"
- desc = "Contains the schematics for a new line of drills. And a Plasma Cutter. Has the previous level as well."
-
- New()
- src.schematics += new /datum/manufacture/spick(src)
- src.schematics += new /datum/manufacture/gpick(src)
- src.schematics += new /datum/manufacture/dpick(src)
- src.schematics += new /datum/manufacture/drill(src)
- src.schematics += new /datum/manufacture/jackhammer(src)
- src.schematics += new /datum/manufacture/diamonddrill(src)
- src.schematics += new /datum/manufacture/cutter(src)
-
-/obj/item/weapon/disk/data/schematic/mining3
- name = "Mining Schematics Level 3"
- desc = "Contains the schematics for a new type of Spacesuit, and schematics for a Jetpack. Has the previous levels as well."
-
- New()
- src.schematics += new /datum/manufacture/spick(src)
- src.schematics += new /datum/manufacture/gpick(src)
- src.schematics += new /datum/manufacture/dpick(src)
- src.schematics += new /datum/manufacture/drill(src)
- src.schematics += new /datum/manufacture/jackhammer(src)
- src.schematics += new /datum/manufacture/diamonddrill(src)
- src.schematics += new /datum/manufacture/cutter(src)
- src.schematics += new /datum/manufacture/miningsuit(src)
- src.schematics += new /datum/manufacture/mininghelm(src)
- src.schematics += new /datum/manufacture/jetpack(src)
\ No newline at end of file
diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm
deleted file mode 100644
index 9927b6e5b85..00000000000
--- a/code/modules/mining/ore_datum.dm
+++ /dev/null
@@ -1,55 +0,0 @@
-/datum/ore
- var/oretag
- var/alloy
- var/smelts_to
- var/compresses_to
-
-/datum/ore/uranium
- smelts_to = /obj/item/stack/sheet/mineral/uranium
- oretag = "uranium"
-
-/datum/ore/iron
- smelts_to = /obj/item/stack/sheet/mineral/iron
- alloy = 1
- oretag = "hematite"
-
-/datum/ore/coal
- smelts_to = /obj/item/stack/sheet/mineral/plastic
- alloy = 1
- oretag = "coal"
-
-/datum/ore/glass
- smelts_to = /obj/item/stack/sheet/glass
- compresses_to = /obj/item/stack/sheet/mineral/sandstone
- oretag = "sand"
-
-/datum/ore/plasma
- smelts_to = /obj/item/stack/sheet/mineral/plasma
- oretag = "plasma"
-
-/datum/ore/silver
- smelts_to = /obj/item/stack/sheet/mineral/silver
- oretag = "silver"
-
-/datum/ore/gold
- smelts_to = /obj/item/stack/sheet/mineral/gold
- oretag = "gold"
-
-/datum/ore/diamond
- compresses_to = /obj/item/stack/sheet/mineral/diamond
- oretag = "diamond"
-
-/datum/ore/osmium
- smelts_to = /obj/item/stack/sheet/mineral/platinum
- compresses_to = /obj/item/stack/sheet/mineral/osmium
- alloy = 1
- oretag = "platinum"
-
-/datum/ore/hydrogen
- smelts_to = /obj/item/stack/sheet/mineral/tritium
- compresses_to = /obj/item/stack/sheet/mineral/mhydrogen
- oretag = "hydrogen"
-
-/datum/ore/clown
- smelts_to = /obj/item/stack/sheet/mineral/clown
- oretag = "clown"
\ No newline at end of file
diff --git a/code/modules/mining/security_recipes.dm b/code/modules/mining/security_recipes.dm
deleted file mode 100644
index 9cbdeadc154..00000000000
--- a/code/modules/mining/security_recipes.dm
+++ /dev/null
@@ -1,128 +0,0 @@
-/obj/machinery/manufacturer/security
- name = "Security Fabricator"
- desc = "A manufacturing unit calibrated to produce security and military related equipment."
- acceptdisk = 1
-
- New()
- ..()
- src.available += new /datum/manufacture/beret(src)
- src.available += new /datum/manufacture/helmet1(src)
- src.available += new /datum/manufacture/sunglasses(src)
- src.available += new /datum/manufacture/sechud(src)
- src.available += new /datum/manufacture/secpants(src)
- src.available += new /datum/manufacture/secbelt(src)
- src.available += new /datum/manufacture/armor1(src)
- src.available += new /datum/manufacture/taser(src)
- src.available += new /datum/manufacture/baton(src)
-
-// Security Gear Tier-0. AKA Clothing and basic as shit gear.
-/datum/manufacture/beret
- name = "Beret"
- item = /obj/item/clothing/head/beret/sec
- cost1 = /obj/item/weapon/ore/fabric
- cname1 = "Fabric"
- amount1 = 2
- time = 3
- create = 1
-
-/datum/manufacture/helmet1
- name = "Helmet"
- item = /obj/item/clothing/head/helmet
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/fabric
- cname2 = "Fabric"
- amount2 = 10
- time = 10
- create = 1
-
-/datum/manufacture/sunglasses
- name = "Sunglasses"
- item = /obj/item/clothing/glasses/sunglasses
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 5
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 10
- time = 8
- create = 1
-
-/datum/manufacture/sechud
- name = "Security HUD"
- item = /obj/item/clothing/glasses/hud/security
- cost1 = /obj/item/weapon/ore/osmium
- cname1 = "Platinum"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 15
- time = 12
- create = 1
-
-/datum/manufacture/secpants
- name = "Security Uniform"
- item = /obj/item/clothing/under/rank/security
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/fabric
- cname2 = "Fabric"
- amount2 = 1
- time = 10
- create = 1
-
-/datum/manufacture/secbelt
- name = "Security Belt"
- item = /obj/item/weapon/storage/belt/security
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 2
- cost2 = /obj/item/weapon/ore/fabric
- cname2 = "Fabric"
- amount2 = 5
- time = 15
- create = 1
-
-/datum/manufacture/armor1
- name = "Armored Vest"
- item = /obj/item/clothing/suit/armor/vest
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 15
- cost2 = /obj/item/weapon/ore/fabric
- cname2 = "Fabric"
- amount2 = 15
- time = 20
- create = 1
-
-/datum/manufacture/taser
- name = "Advanced Taser"
- item = /obj/item/weapon/gun/energy/gun/advtaser
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 15
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 10
- cost3 = /obj/item/weapon/ore/osmium
- cname3 = "Platinum"
- amount3 = 20
- time = 25
- create = 1
-
-/datum/manufacture/baton
- name = "Stun Baton"
- item = /obj/item/weapon/melee/baton
- cost1 = /obj/item/weapon/ore/iron
- cname1 = "Iron"
- amount1 = 10
- cost2 = /obj/item/weapon/ore/glass
- cname2 = "Glass"
- amount2 = 10
- cost3 = /obj/item/weapon/ore/osmium
- cname3 = "Platinum"
- amount3 = 15
- time = 20
- create = 1
\ No newline at end of file
diff --git a/code/modules/mining/surprise.dm b/code/modules/mining/surprise.dm
deleted file mode 100644
index 48ecbdd5356..00000000000
--- a/code/modules/mining/surprise.dm
+++ /dev/null
@@ -1,342 +0,0 @@
-#define CONTIGUOUS_WALLS 1
-#define CONTIGUOUS_FLOORS 2
-
-#define TURF_FLOOR 0
-#define TURF_WALL 1
-var/global/list/mining_surprises = subtypesof(/mining_surprise)
-
-/surprise_turf_info
- var/list/types[0]
- var/list/adjacents
- var/turf_type=TURF_FLOOR
-
- New()
- adjacents=list(
- "[NORTH]"=list(),
- "[SOUTH]"=list(),
- "[EAST]"=list(),
- "[WEST]"=list()
- )
-
- proc/GetAdjacentTypes(var/dir)
- return adjacents["[dir]"]
-
-/surprise_room
- var/list/turfs[0]
-
- // Used for layout system.
- var/list/turf_info[0]
-
- var/size_x=0
- var/size_y=0
-
- proc/UpdateTurfs()
- for(var/turf/T in turfs)
- UpdateTurf(T)
-
- proc/GetTurfs(var/ttype)
- var/list/selected[0]
- for(var/turf/T in turfs)
- var/surprise_turf_info/Ti = GetTurfInfo(T)
- if(Ti.turf_type==ttype)
- selected |= T
- return selected
-
- proc/GetTurfInfo(var/turf/T)
- var/surprise_turf_info/sti
- if(!(T in turf_info))
- sti = new
- turf_info[T]=sti
- else
- sti = turf_info[T]
- return sti
-
- proc/UpdateTurf(var/turf/T, var/no_adjacent=0)
- // List types in this turf.
- var/surprise_turf_info/sti = GetTurfInfo(T)
-
- sti.types=0
- for(var/atom/A in T.contents)
- sti.types |= A.type
-
- if(no_adjacent) return
- UpdateAdjacentsOfTurf(T)
-
- proc/AddTypeToTurf(var/turf/T, var/newtype)
- var/surprise_turf_info/sti = GetTurfInfo(T)
- sti.types |= newtype
-
- //UpdateAdjacentsOfTurf(T)
-
- proc/UpdateAdjacentsOfTurf(var/turf/T)
- var/surprise_turf_info/Ti = turf_info[T]
- for(var/dir in cardinal)
- var/turf/AT = get_step(T,dir)
- if(!(AT in turfs))
- return
- if(!(AT in turf_info))
- UpdateTurf(AT, no_adjacent=1)
- var/surprise_turf_info/ATi = turf_info[AT]
- // By-Ref so shit gets updated.
- ATi.adjacents["[reverse_direction(dir)]"]=Ti.types
-
-
-// For room layouts.
-/layout_rule
- var/mining_surprise/root
- var/surprise_room/room
-
- // What to place if true
- var/placetype=null
-
- var/min_to_place=5 // Force placement at ALL candidates.
- var/max_to_place=10 // 0 = max amount of ALL candidates.
-
- var/placed_times=0
-
- var/list/decorations=list() // types, empty for no decorations
-
- var/flags = 0
-
- New(var/mining_surprise/_root,var/surprise_room/_room)
- root=_root
- room=_room
-
- // Called in Evaluate
- proc/Plop(var/turf/T)
- new placetype(T)
- placed_times++
- room.AddTypeToTurf(T,placetype)
- if(decorations.len)
- var/decoration = pickweight(decorations)
- new decoration(T)
- room.AddTypeToTurf(T,decoration)
-
- // Return 1 if we Plop()'d something.
- // Return 0 if we didn't or something went wrong.
- proc/Evaluate()
- var/list/candidates=GetCandidates()
- if(candidates.len==0)
- return 0
- if(max_to_place<=0)
- max_to_place=candidates.len
- var/n=candidates.len
- if(min_to_place>0)
- n = min(candidates.len,rand(min_to_place,max_to_place))
- if(n==0)
- return 0
- for(var/i=0;i0)
- var/turf/weed_turf = pick(w_cand)
- w_cand -= weed_turf
- if(weed_turf.density)
- continue
- if(locate(/obj/structure/alien) in weed_turf)
- continue
- if(weed_turf && !egged)
- new /obj/structure/alien/weeds/node(weed_turf)
- weeds += weed_turf
- break
-
- for(var/e=0;e