From bede695ebd63cb1fc38347005d0cadfdd3a5e65c Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 8 Jan 2020 15:23:53 +0100 Subject: [PATCH] Undoes minter changes --- code/modules/mining/mint.dm | 164 ++++++++++----------- tgui-next/packages/tgui/interfaces/Mint.js | 47 ------ 2 files changed, 79 insertions(+), 132 deletions(-) delete mode 100644 tgui-next/packages/tgui/interfaces/Mint.js diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 9be5996894..8204977058 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -6,106 +6,100 @@ icon = 'icons/obj/economy.dmi' icon_state = "coinpress0" density = TRUE - input_dir = EAST - - var/produced_coins = 0 // how many coins the machine has made in it's last cycle + var/newCoins = 0 //how many coins the machine made in it's last load var/processing = FALSE var/chosen = MAT_METAL //which material will be used to make coins + var/coinsToProduce = 10 + speed_process = TRUE /obj/machinery/mineral/mint/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 75, FALSE, /obj/item/stack) + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack) /obj/machinery/mineral/mint/process() var/turf/T = get_step(src, input_dir) + if(!T) + return + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - - for(var/obj/item/stack/O in T) - var/inserted = materials.insert_item(O) - if(inserted) - qdel(O) + for(var/obj/item/stack/sheet/O in T) + materials.insert_stack(O, O.amount) - if(processing) - var/datum/material/M = chosen +/obj/machinery/mineral/mint/attack_hand(mob/user) + . = ..() + if(.) + return + var/dat = "Coin Press
" - if(!M) - processing = FALSE - icon_state = "coinpress0" + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + for(var/mat_id in materials.materials) + var/datum/material/M = materials.materials[mat_id] + if(!M.amount && chosen != mat_id) + continue + dat += "
[M.name] amount: [M.amount] cm3 " + if (chosen == mat_id) + dat += "Chosen" + else + dat += "Choose" + + var/datum/material/M = materials.materials[chosen] + + dat += "

Will produce [coinsToProduce] [lowertext(M.name)] coins if enough materials are available.
" + dat += "-10 " + dat += "-5 " + dat += "-1 " + dat += "+1 " + dat += "+5 " + dat += "+10 " + + dat += "

In total this machine produced [newCoins] coins." + dat += "
Make coins" + user << browse(dat, "window=mint") + +/obj/machinery/mineral/mint/Topic(href, href_list) + if(..()) + return + usr.set_machine(src) + src.add_fingerprint(usr) + if(processing==1) + to_chat(usr, "The machine is processing.") + return + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + if(href_list["choose"]) + if(materials.materials[href_list["choose"]]) + chosen = href_list["choose"] + if(href_list["chooseAmt"]) + coinsToProduce = CLAMP(coinsToProduce + text2num(href_list["chooseAmt"]), 0, 1000) + if(href_list["makeCoins"]) + var/temp_coins = coinsToProduce + processing = TRUE + icon_state = "coinpress1" + var/coin_mat = MINERAL_MATERIAL_AMOUNT * 0.2 + var/datum/material/M = materials.materials[chosen] + if(!M || !M.coin_type) + updateUsrDialog() return - icon_state = "coinpress1" - var/coin_mat = MINERAL_MATERIAL_AMOUNT + while(coinsToProduce > 0 && materials.use_amount_type(coin_mat, chosen)) + create_coins(M.coin_type) + coinsToProduce-- + newCoins++ + src.updateUsrDialog() + sleep(5) - for(var/sheets in 1 to 2) - if(materials.use_amount_type(coin_mat, chosen)) - for(var/coin_to_make in 1 to 5) - create_coins() - produced_coins++ - else - var/found_new = FALSE - for(var/datum/material/inserted_material in materials.materials) - var/amount = materials.get_item_material_amount(inserted_material) - - if(amount) - chosen = inserted_material - found_new = TRUE - - if(!found_new) - processing = FALSE - else icon_state = "coinpress0" + processing = FALSE + coinsToProduce = temp_coins + src.updateUsrDialog() + return -/obj/machinery/mineral/mint/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ - datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) - ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "mint", name, 300, 250, master_ui, state) - ui.open() - -/obj/machinery/mineral/mint/ui_data() - var/list/data = list() - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - - for(var/datum/material/inserted_material in materials.materials) - var/amount = materials.get_item_material_amount(inserted_material) - - if(!amount) - continue - - data["inserted_materials"] += list(list( - "material" = inserted_material.name, - "amount" = amount - )) - - if(chosen == inserted_material) - data["chosen_material"] = inserted_material.name - - data["produced_coins"] = produced_coins - data["processing"] = processing - - return data; - -/obj/machinery/mineral/mint/ui_act(action, params, datum/tgui/ui) - switch(action) - if("startpress") - if(!processing) - produced_coins = 0 - processing = TRUE - if("stoppress") - processing = FALSE - if("changematerial") - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - for(var/datum/material/mat in materials.materials) - if(params["material_name"] == mat.name) - chosen = mat - -/obj/machinery/mineral/mint/proc/create_coins() - var/turf/T = get_step(src, output_dir) +/obj/machinery/mineral/mint/proc/create_coins(P) + var/turf/T = get_step(src,output_dir) if(T) - var/obj/item/O = new /obj/item/coin(src) - var/obj/item/storage/bag/money/B = locate(/obj/item/storage/bag/money, T) - if(!B) - B = new /obj/item/storage/bag/money(src) - unload_mineral(B) - O.forceMove(B) \ No newline at end of file + var/obj/item/O = new P(src) + var/obj/item/storage/bag/money/M = locate(/obj/item/storage/bag/money, T) + if(!M) + M = new /obj/item/storage/bag/money(src) + unload_mineral(M) + O.forceMove(M) diff --git a/tgui-next/packages/tgui/interfaces/Mint.js b/tgui-next/packages/tgui/interfaces/Mint.js deleted file mode 100644 index 6c715bc5da..0000000000 --- a/tgui-next/packages/tgui/interfaces/Mint.js +++ /dev/null @@ -1,47 +0,0 @@ -import { Fragment } from 'inferno'; -import { useBackend } from '../backend'; -import { Button, LabeledList, Section } from '../components'; - -export const Mint = props => { - const { act, data } = useBackend(props); - const inserted_materials = data.inserted_materials || []; - return ( - -
act(data.processing - ? 'stoppress' - : 'startpress')} - /> - }> - - {inserted_materials.map(material => ( - act('changematerial', { - material_name: material.material, - })} /> - )}> - {material.amount} cm³ - - ))} - -
-
- Pressed {data.produced_coins} coins this cycle. -
-
- ); -};