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