/**********************Mineral processing unit console**************************/ /obj/machinery/mineral/processing_unit_console name = "production machine console" icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "console" density = 1 anchored = 1 var/obj/machinery/mineral/processing_unit/machine = null var/machinedir = EAST /obj/machinery/mineral/processing_unit_console/New() ..() spawn(7) src.machine = locate(/obj/machinery/mineral/processing_unit, get_step(src, machinedir)) if(machine) machine.CONSOLE = src else qdel(src) /obj/machinery/mineral/processing_unit_console/attack_hand(user as mob) var/dat = "Smelter control console

" //iron if(machine.ore_iron || machine.ore_glass || machine.ore_plasma || machine.ore_uranium || machine.ore_gold || machine.ore_silver || machine.ore_diamond || machine.ore_clown || machine.ore_mime || machine.ore_adamantine) if(machine.ore_iron) if(machine.selected_iron==1) dat += "Smelting " else dat += "Not smelting " dat += "Iron: [machine.ore_iron]
" else machine.selected_iron = 0 //sand - glass if(machine.ore_glass) if(machine.selected_glass==1) dat += "Smelting " else dat += "Not smelting " dat += "Sand: [machine.ore_glass]
" else machine.selected_glass = 0 //plasma if(machine.ore_plasma) if(machine.selected_plasma==1) dat += "Smelting " else dat += "Not smelting " dat += "Plasma: [machine.ore_plasma]
" else machine.selected_plasma = 0 //uranium if(machine.ore_uranium) if(machine.selected_uranium==1) dat += "Smelting " else dat += "Not smelting " dat += "Uranium: [machine.ore_uranium]
" else machine.selected_uranium = 0 //gold if(machine.ore_gold) if(machine.selected_gold==1) dat += "Smelting " else dat += "Not smelting " dat += "Gold: [machine.ore_gold]
" else machine.selected_gold = 0 //silver if(machine.ore_silver) if(machine.selected_silver==1) dat += "Smelting " else dat += "Not smelting " dat += "Silver: [machine.ore_silver]
" else machine.selected_silver = 0 //diamond if(machine.ore_diamond) if(machine.selected_diamond==1) dat += "Smelting " else dat += "Not smelting " dat += "Diamond: [machine.ore_diamond]
" else machine.selected_diamond = 0 //bananium if(machine.ore_clown) if(machine.selected_clown==1) dat += "Smelting " else dat += "Not smelting " dat += "Bananium: [machine.ore_clown]
" else machine.selected_clown = 0 //tranquillite if(machine.ore_mime) if(machine.selected_mime==1) dat += "Smelting " else dat += "Not smelting " dat += "Tranquillite: [machine.ore_mime]
" else machine.selected_mime = 0 //titanium if(machine.ore_titanium) if (machine.selected_titanium==1) dat += "Smelting " else dat += "Not smelting " dat += "Titanium: [machine.ore_titanium]
" else machine.selected_titanium = 0 //On or off dat += text("Machine is currently ") if(machine.on==1) dat += text("On ") else dat += text("Off ") else dat+="---No Materials Loaded---" user << browse("[dat]", "window=console_processing_unit") /obj/machinery/mineral/processing_unit_console/Topic(href, href_list) if(..()) return usr.set_machine(src) src.add_fingerprint(usr) if(href_list["sel_iron"]) if(href_list["sel_iron"] == "yes") machine.selected_iron = 1 else machine.selected_iron = 0 if(href_list["sel_glass"]) if(href_list["sel_glass"] == "yes") machine.selected_glass = 1 else machine.selected_glass = 0 if(href_list["sel_plasma"]) if(href_list["sel_plasma"] == "yes") machine.selected_plasma = 1 else machine.selected_plasma = 0 if(href_list["sel_uranium"]) if(href_list["sel_uranium"] == "yes") machine.selected_uranium = 1 else machine.selected_uranium = 0 if(href_list["sel_gold"]) if(href_list["sel_gold"] == "yes") machine.selected_gold = 1 else machine.selected_gold = 0 if(href_list["sel_silver"]) if(href_list["sel_silver"] == "yes") machine.selected_silver = 1 else machine.selected_silver = 0 if(href_list["sel_diamond"]) if(href_list["sel_diamond"] == "yes") machine.selected_diamond = 1 else machine.selected_diamond = 0 if(href_list["sel_clown"]) if(href_list["sel_clown"] == "yes") machine.selected_clown = 1 else machine.selected_clown = 0 if(href_list["sel_mime"]) if(href_list["sel_mime"] == "yes") machine.selected_mime = 1 else machine.selected_mime = 0 if(href_list["sel_titanium"]) if (href_list["sel_titanium"] == "yes") machine.selected_titanium = 1 else machine.selected_titanium = 0 if(href_list["set_on"]) if(href_list["set_on"] == "on") machine.on = 1 else machine.on = 0 src.updateUsrDialog() return /**********************Mineral processing unit**************************/ /obj/machinery/mineral/processing_unit name = "furnace" icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "furnace" density = 1 anchored = 1 var/obj/machinery/mineral/CONSOLE = null var/ore_gold = 0 var/ore_silver = 0 var/ore_diamond = 0 var/ore_glass = 0 var/ore_plasma = 0 var/ore_uranium = 0 var/ore_iron = 0 var/ore_clown = 0 var/ore_mime = 0 var/ore_adamantine = 0 var/ore_titanium = 0 var/selected_gold = 0 var/selected_silver = 0 var/selected_diamond = 0 var/selected_glass = 0 var/selected_plasma = 0 var/selected_uranium = 0 var/selected_iron = 0 var/selected_clown = 0 var/selected_mime = 0 var/selected_titanium = 0 var/on = 0 //0 = off, 1 =... oh you know! /obj/machinery/mineral/processing_unit/process() for(var/i in 1 to 10) if(on) if(selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_glass > 0) ore_glass-- generate_mineral(/obj/item/stack/sheet/glass) else on = 0 continue if(selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_mime) if(ore_glass > 0 && ore_iron > 0) ore_glass-- ore_iron-- generate_mineral(/obj/item/stack/sheet/rglass) else on = 0 continue if(!selected_glass && selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_gold > 0) ore_gold-- generate_mineral(/obj/item/stack/sheet/mineral/gold) else on = 0 continue if(!selected_glass && !selected_gold && selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_silver > 0) ore_silver-- generate_mineral(/obj/item/stack/sheet/mineral/silver) else on = 0 continue if(!selected_glass && !selected_gold && !selected_silver && selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_diamond > 0) ore_diamond-- generate_mineral(/obj/item/stack/sheet/mineral/diamond) else on = 0 continue if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_plasma > 0) ore_plasma-- generate_mineral(/obj/item/stack/sheet/mineral/plasma) else on = 0 continue if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_uranium > 0) ore_uranium-- generate_mineral(/obj/item/stack/sheet/mineral/uranium) else on = 0 continue if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_mime) if(ore_iron > 0) ore_iron-- generate_mineral(/obj/item/stack/sheet/metal) else on = 0 continue if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_mime) if(ore_iron > 0 && ore_plasma > 0) ore_iron-- ore_plasma-- generate_mineral(/obj/item/stack/sheet/plasteel) else on = 0 continue if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && selected_clown && !selected_mime) if(ore_clown > 0) ore_clown-- generate_mineral(/obj/item/stack/sheet/mineral/bananium) else on = 0 continue if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && selected_mime) if(ore_mime > 0) ore_mime-- generate_mineral(/obj/item/stack/sheet/mineral/tranquillite) else on = 0 continue if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime && selected_titanium) if (ore_titanium > 0) ore_titanium-- generate_mineral(/obj/item/stack/sheet/mineral/titanium) else on = 0 continue if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime && selected_titanium) if (ore_titanium > 0) ore_titanium-- ore_plasma-- generate_mineral(/obj/item/stack/sheet/mineral/plastitanium) else on = 0 continue //if a non valid combination is selected var/b = 1 //this part checks if all required ores are available if(!(selected_gold || selected_silver ||selected_diamond || selected_uranium | selected_plasma || selected_iron || selected_iron)) b = 0 if(selected_gold == 1) if(ore_gold <= 0) b = 0 if(selected_silver == 1) if(ore_silver <= 0) b = 0 if(selected_diamond == 1) if(ore_diamond <= 0) b = 0 if(selected_uranium == 1) if(ore_uranium <= 0) b = 0 if(selected_plasma == 1) if(ore_plasma <= 0) b = 0 if(selected_iron == 1) if(ore_iron <= 0) b = 0 if(selected_glass == 1) if(ore_glass <= 0) b = 0 if(selected_clown == 1) if(ore_clown <= 0) b = 0 if(selected_mime == 1) if(ore_mime <= 0) b = 0 if(selected_titanium == 1) if(ore_titanium <= 0) b = 0 if(b) //if they are, deduct one from each, produce slag and shut the machine off if(selected_gold == 1) ore_gold-- if(selected_silver == 1) ore_silver-- if(selected_diamond == 1) ore_diamond-- if(selected_uranium == 1) ore_uranium-- if(selected_plasma == 1) ore_plasma-- if(selected_iron == 1) ore_iron-- if(selected_clown == 1) ore_clown-- if(selected_mime == 1) ore_mime-- if(selected_titanium == 1) ore_titanium-- generate_mineral(/obj/item/ore/slag) on = 0 else on = 0 break break else break var/turf/T = get_step(src,input_dir) if(T) var/n = 0 for(var/obj/item/O in T) n++ if(n>10) break if(istype(O,/obj/item/ore/iron)) ore_iron++; O.loc = null continue if(istype(O,/obj/item/ore/glass)) ore_glass++; O.loc = null continue if(istype(O,/obj/item/ore/diamond)) ore_diamond++; O.loc = null continue if(istype(O,/obj/item/ore/plasma)) ore_plasma++ O.loc = null continue if(istype(O,/obj/item/ore/gold)) ore_gold++ O.loc = null continue if(istype(O,/obj/item/ore/silver)) ore_silver++ O.loc = null continue if(istype(O,/obj/item/ore/uranium)) ore_uranium++ O.loc = null continue if(istype(O,/obj/item/ore/bananium)) ore_clown++ O.loc = null continue if(istype(O,/obj/item/ore/tranquillite)) ore_mime++ O.loc = null continue if(istype(O,/obj/item/ore/titanium)) ore_titanium++ O.loc = null continue unload_mineral(O) /obj/machinery/mineral/processing_unit/proc/generate_mineral(var/P) var/O = new P(src) unload_mineral(O)