/**********************Mint**************************/ /obj/machinery/mineral/mint name = "Coin press" icon = 'icons/obj/stationobjs.dmi' icon_state = "coinpress0" density = 1 anchored = 1.0 var/obj/machinery/mineral/input = null var/obj/machinery/mineral/output = null var/amt_silver = 0 //amount of silver var/amt_gold = 0 //amount of gold var/amt_diamond = 0 var/amt_iron = 0 var/amt_phoron = 0 var/amt_uranium = 0 var/newCoins = 0 //how many coins the machine made in it's last load var/processing = 0 var/chosen = DEFAULT_WALL_MATERIAL //which material will be used to make coins var/coinsToProduce = 10 /obj/machinery/mineral/mint/New() ..() spawn( 5 ) for (var/dir in cardinal) src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) if(src.input) break for (var/dir in cardinal) src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) if(src.output) break processing_objects.Add(src) return return /obj/machinery/mineral/mint/process() if ( src.input) var/obj/item/stack/material/O O = locate(/obj/item/stack/material, input.loc) if(O) if (istype(O,/obj/item/stack/material/gold)) amt_gold += 100 * O.get_amount() qdel(O) if (istype(O,/obj/item/stack/material/silver)) amt_silver += 100 * O.get_amount() qdel(O) if (istype(O,/obj/item/stack/material/diamond)) amt_diamond += 100 * O.get_amount() qdel(O) if (istype(O,/obj/item/stack/material/phoron)) amt_phoron += 100 * O.get_amount() qdel(O) if (istype(O,/obj/item/stack/material/uranium)) amt_uranium += 100 * O.get_amount() qdel(O) if (istype(O,/obj/item/stack/material/steel)) amt_iron += 100 * O.get_amount() qdel(O) /obj/machinery/mineral/mint/attack_hand(user as mob) var/dat = "Coin Press
" if (!input) dat += text("input connection status: ") dat += text("NOT CONNECTED
") if (!output) dat += text("
output connection status: ") dat += text("NOT CONNECTED
") dat += text("
Gold inserted: [amt_gold] ") if (chosen == "gold") dat += text("chosen") else dat += text("Choose") dat += text("
Silver inserted: [amt_silver] ") if (chosen == "silver") dat += text("chosen") else dat += text("Choose") dat += text("
Iron inserted: [amt_iron] ") if (chosen == DEFAULT_WALL_MATERIAL) dat += text("chosen") else dat += text("Choose") dat += text("
Diamond inserted: [amt_diamond] ") if (chosen == "diamond") dat += text("chosen") else dat += text("Choose") dat += text("
Phoron inserted: [amt_phoron] ") if (chosen == "phoron") dat += text("chosen") else dat += text("Choose") dat += text("
Uranium inserted: [amt_uranium] ") if (chosen == "uranium") dat += text("chosen") else dat += text("Choose") dat += text("

Will produce [coinsToProduce] [chosen] coins if enough materials are available.
") //dat += text("The dial which controls the number of conins to produce seems to be stuck. A technician has already been dispatched to fix this.") dat += text("-10 ") dat += text("-5 ") dat += text("-1 ") dat += text("+1 ") dat += text("+5 ") dat += text("+10 ") dat += text("

In total this machine produced [newCoins] coins.") dat += text("
Make coins") user << browse("[dat]", "window=mint") /obj/machinery/mineral/mint/Topic(href, href_list) if(..()) return 1 usr.set_machine(src) src.add_fingerprint(usr) if(processing==1) usr << "\blue The machine is processing." return if(href_list["choose"]) chosen = href_list["choose"] if(href_list["chooseAmt"]) coinsToProduce = between(0, coinsToProduce + text2num(href_list["chooseAmt"]), 1000) if(href_list["makeCoins"]) var/temp_coins = coinsToProduce if (src.output) processing = 1; icon_state = "coinpress1" var/obj/item/weapon/moneybag/M switch(chosen) if(DEFAULT_WALL_MATERIAL) while(amt_iron > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) else M = new/obj/item/weapon/moneybag(output.loc) new/obj/item/weapon/coin/iron(M) amt_iron -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); if("gold") while(amt_gold > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) else M = new/obj/item/weapon/moneybag(output.loc) new /obj/item/weapon/coin/gold(M) amt_gold -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); if("silver") while(amt_silver > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) else M = new/obj/item/weapon/moneybag(output.loc) new /obj/item/weapon/coin/silver(M) amt_silver -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); if("diamond") while(amt_diamond > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) else M = new/obj/item/weapon/moneybag(output.loc) new /obj/item/weapon/coin/diamond(M) amt_diamond -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); if("phoron") while(amt_phoron > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) else M = new/obj/item/weapon/moneybag(output.loc) new /obj/item/weapon/coin/phoron(M) amt_phoron -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); if("uranium") while(amt_uranium > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) else M = new/obj/item/weapon/moneybag(output.loc) new /obj/item/weapon/coin/uranium(M) amt_uranium -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5) icon_state = "coinpress0" processing = 0; coinsToProduce = temp_coins src.updateUsrDialog() return