mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-27 22:16:23 +01:00
Improves surplus crates
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
var/datum/uplink_random_selection/default_uplink_selection = new/datum/uplink_random_selection/default()
|
||||
var/datum/uplink_random_selection/all_uplink_selection = new/datum/uplink_random_selection/all()
|
||||
|
||||
/datum/uplink_random_item
|
||||
var/uplink_item // The uplink item
|
||||
@@ -14,17 +15,26 @@ var/datum/uplink_random_selection/default_uplink_selection = new/datum/uplink_ra
|
||||
|
||||
/datum/uplink_random_selection
|
||||
var/list/datum/uplink_random_item/items
|
||||
var/list/datum/uplink_random_item/all_items
|
||||
|
||||
/datum/uplink_random_selection/New()
|
||||
..()
|
||||
items = list()
|
||||
all_items = list()
|
||||
|
||||
/datum/uplink_random_selection/proc/get_random_item(var/telecrystals, obj/item/device/uplink/U, var/list/bought_items)
|
||||
/datum/uplink_random_selection/proc/get_random_item(var/telecrystals, obj/item/device/uplink/U, var/list/bought_items, var/items_override = 0)
|
||||
var/const/attempts = 50
|
||||
|
||||
for(var/i = 0; i < attempts; i++)
|
||||
var/datum/uplink_random_item/RI = pick(items)
|
||||
var/datum/uplink_random_item/RI
|
||||
if(items_override)
|
||||
world << 1
|
||||
RI = pick(all_items)
|
||||
else
|
||||
world << 2
|
||||
RI = pick(items)
|
||||
if(!prob(RI.keep_probability))
|
||||
world << 3
|
||||
continue
|
||||
var/datum/uplink_item/I = uplink.items_assoc[RI.uplink_item]
|
||||
if(I.cost(telecrystals, U) > telecrystals)
|
||||
@@ -35,6 +45,13 @@ var/datum/uplink_random_selection/default_uplink_selection = new/datum/uplink_ra
|
||||
continue
|
||||
return I
|
||||
|
||||
/datum/uplink_random_selection/all/New()
|
||||
for(var/datum/uplink_item/item in uplink.items)
|
||||
if(item.blacklisted)
|
||||
continue
|
||||
else
|
||||
all_items += new/datum/uplink_random_item(item.type)
|
||||
|
||||
/datum/uplink_random_selection/default/New()
|
||||
..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user