diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index afa3f26e1d..c2b0aa8a7f 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -159,8 +159,7 @@ var/category = pick(uplink_items) var/item = pick(uplink_items[category]) var/datum/uplink_item/I = uplink_items[category][item] - - if(!I.surplus || prob(100 - I.surplus)) + if(!I.surplus_nullcrates || prob(100 - I.surplus_nullcrates)) continue if(crate_value < I.cost) continue diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 1607fcc969..fe39f38883 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -64,6 +64,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) var/refund_amount = 0 // specified refund amount in case there needs to be a TC penalty for refunds. var/refundable = FALSE var/surplus = 100 // Chance of being included in the surplus crate. + var/surplus_nullcrates //Chance of being included in null crates. null = pull from surplus var/cant_discount = FALSE var/limited_stock = -1 //Setting this above zero limits how many times this item can be bought by the same traitor in a round, -1 is unlimited var/list/include_modes = list() // Game modes to allow this item in. @@ -72,6 +73,11 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) var/player_minimum //The minimum crew size needed for this item to be added to uplinks. var/purchase_log_vis = TRUE // Visible in the purchase log? +/datum/uplink_item/New() + . = ..() + if(isnull(surplus_nullcrates)) + surplus_nullcrates = surplus + /datum/uplink_item/proc/get_discount() return pick(4;0.75,2;0.5,1;0.25)