diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index e4ae35dad26..1f47e15b79a 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -234,9 +234,8 @@ var/list/extra_purchasable_stock = list() var/list/extra_purchasable = list() for(var/datum/uplink_item/item as anything in uplink_handler.extra_purchasable) - if(item in stock_list) - extra_purchasable_stock[REF(item)] = stock_list[item] - stock_list -= item + if(item.stock_key in stock_list) + extra_purchasable_stock[REF(item)] = stock_list[item.stock_key] extra_purchasable += list(list( "id" = item.type, "name" = item.name, diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 2b929988441..2c060b6ff98 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -12,6 +12,7 @@ uplink_item.limited_stock = limited_stock if(uplink_item.cost >= 20) //Tough love for nuke ops discount *= 0.5 + uplink_item.stock_key = WEAKREF(uplink_item) uplink_item.category = category uplink_item.cost = max(round(uplink_item.cost * (1 - discount)),1) uplink_item.name += " ([round(((initial(uplink_item.cost)-uplink_item.cost)/initial(uplink_item.cost))*100)]% off!)"