From 546b45f82ff82efff9b6801bca3950cee1d89785 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Wed, 19 Jul 2023 21:26:59 +0200 Subject: [PATCH] [MIRROR] Fixes limbgrower and mining order console UI [MDB IGNORE] (#22589) * Fixes limbgrower and mining order console UI (#76755) ## About The Pull Request Fixes the alien limbgrower UI from repeating itself Fixes mining order console UI preventing you from ordering more than 20 items and ordering negative numbers of items by using the buttons for remove_one and add_one Closes #74875 Closes #76767 ## Why It's Good For The Game Makes it easier to use and look at Fixes being able to order more items or get them for free from the mining order conso;e ## Changelog :cl: fix: Fixed the alien limbgrower UI fix: Fixed being able to order negative or more than 20 items in mining order console /:cl: * Fixes limbgrower and mining order console UI --------- Co-authored-by: SirNooben <132080629+SirNooben@users.noreply.github.com> --- .../computer/orders/order_computer/order_computer.dm | 11 +++++++++-- code/game/machinery/limbgrower.dm | 6 +++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/computer/orders/order_computer/order_computer.dm b/code/game/machinery/computer/orders/order_computer/order_computer.dm index 92942add2ea..6efe9dde527 100644 --- a/code/game/machinery/computer/orders/order_computer/order_computer.dm +++ b/code/game/machinery/computer/orders/order_computer/order_computer.dm @@ -134,12 +134,19 @@ GLOBAL_LIST_EMPTY(order_console_products) switch(action) if("add_one") var/datum/orderable_item/wanted_item = locate(params["target"]) in GLOB.order_console_products - grocery_list[wanted_item] += 1 + if(grocery_list[wanted_item] >= 20) + return + else + grocery_list[wanted_item] += 1 if("remove_one") var/datum/orderable_item/wanted_item = locate(params["target"]) in GLOB.order_console_products if(!grocery_list[wanted_item]) return - grocery_list[wanted_item] -= 1 + if(grocery_list[wanted_item] < 1) + grocery_list[wanted_item] = 0 + return + else + grocery_list[wanted_item] -= 1 if(!grocery_list[wanted_item]) grocery_list -= wanted_item if("cart_set") diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index e5576bdb267..75976f98be3 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -80,9 +80,9 @@ var/list/available_nodes = stored_research.researched_designs.Copy() if(imported_designs.len) - available_nodes += imported_designs + available_nodes |= imported_designs if(obj_flags & EMAGGED) - available_nodes += stored_research.hacked_designs + available_nodes |= stored_research.hacked_designs for(var/design_id in available_nodes) var/datum/design/limb_design = SSresearch.techweb_design_by_id(design_id) @@ -291,4 +291,4 @@ for(var/id in SSresearch.techweb_designs) var/datum/design/found_design = SSresearch.techweb_design_by_id(id) if((found_design.build_type & LIMBGROWER) && !(RND_CATEGORY_HACKED in found_design.category)) - imported_designs += found_design.id + imported_designs |= found_design.id