/**********************Mint**************************/ /obj/machinery/mineral/mint name = "Coin press" icon = '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_plasma = 0 var/amt_uranium = 0 var/amt_clown = 0 var/amt_adamantine = 0 var/amt_mythril = 0 var/newCoins = 0 //how many coins the machine made in it's last load var/processing = 0 var/chosen = "metal" //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/sheet/O O = locate(/obj/item/stack/sheet, input.loc) if(O) if (istype(O,/obj/item/stack/sheet/gold)) amt_gold += 100 * O.amount del(O) if (istype(O,/obj/item/stack/sheet/silver)) amt_silver += 100 * O.amount del(O) if (istype(O,/obj/item/stack/sheet/diamond)) amt_diamond += 100 * O.amount del(O) if (istype(O,/obj/item/stack/sheet/plasma)) amt_plasma += 100 * O.amount del(O) if (istype(O,/obj/item/stack/sheet/uranium)) amt_uranium += 100 * O.amount del(O) if (istype(O,/obj/item/stack/sheet/metal)) amt_iron += 100 * O.amount del(O) if (istype(O,/obj/item/stack/sheet/clown)) amt_clown += 100 * O.amount del(O) if (istype(O,/obj/item/stack/sheet/adamantine)) amt_adamantine += 100 * O.amount del(O) //Commented out for now. -Durandan /obj/machinery/mineral/mint/attack_hand(user as mob) //TODO: Adamantine coins! -Durandan 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 == "metal") 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("
Plasma inserted: [amt_plasma] ") if (chosen == "plasma") dat += text("chosen") else dat += text("Choose") dat += text("
uranium inserted: [amt_uranium] ") if (chosen == "uranium") dat += text("chosen") else dat += text("Choose") if(amt_clown > 0) dat += text("
Bananium inserted: [amt_clown] ") if (chosen == "clown") dat += text("chosen") else dat += text("Choose") dat += text("
Adamantine inserted: [amt_adamantine] ")//I don't even know these color codes, so fuck it. if (chosen == "adamantine") 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 usr.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("metal") 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("plasma") while(amt_plasma > 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/plasma(M) amt_plasma -= 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) if("clown") while(amt_clown > 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/clown(M) amt_clown -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); if("adamantine") while(amt_adamantine > 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/adamantine(M) amt_adamantine -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); if("mythril") while(amt_adamantine > 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/mythril(M) amt_mythril -= 20 coinsToProduce-- newCoins++ src.updateUsrDialog() sleep(5); icon_state = "coinpress0" processing = 0; coinsToProduce = temp_coins src.updateUsrDialog() return