[MIRROR] Objective-specific equipment will always be given. (#7862)

* Objective-specific equipment will always be given.

* Update datum_traitor.dm

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Gandalf <jzo123@hotmail.com>
This commit is contained in:
SkyratBot
2021-09-01 17:43:53 +02:00
committed by GitHub
parent a17bbe7049
commit 133633ac90
6 changed files with 96 additions and 21 deletions
+20 -2
View File
@@ -79,10 +79,11 @@
purchase_log = null
return ..()
/datum/component/uplink/proc/update_items()
/datum/component/uplink/proc/update_items(user)
var/updated_items
updated_items = get_uplink_items(uplink_flag, TRUE, allow_restricted)
update_sales(updated_items)
update_special_equipment(user, updated_items)
uplink_items = updated_items
/datum/component/uplink/proc/update_sales(updated_items)
@@ -93,6 +94,23 @@
if (uplink_items[category] != null && updated_items[category] != null)
updated_items[category] = uplink_items[category]
/datum/component/uplink/proc/update_special_equipment(mob/user, updated_items)
if(!user?.mind?.failed_special_equipment)
return
for(var/obj/item/equipment_path as anything in user.mind.failed_special_equipment)
var/datum/uplink_item/special_equipment/equipment_uplink_item = new
if(!updated_items[equipment_uplink_item.category])
updated_items[equipment_uplink_item.category] = list()
var/list/name_words = splittext(initial(equipment_path.name), " ")
var/capitalized_name
for(var/i in 1 to name_words.len)
name_words[i] = capitalize(name_words[i])
capitalized_name = name_words.Join(" ")
equipment_uplink_item.item = equipment_path
equipment_uplink_item.name = capitalized_name
equipment_uplink_item.desc = initial(equipment_path.desc)
updated_items[equipment_uplink_item.category][equipment_uplink_item.name] = equipment_uplink_item
/datum/component/uplink/proc/LoadTC(mob/user, obj/item/stack/telecrystal/TC, silent = FALSE)
if(!silent)
to_chat(user, span_notice("You slot [TC] into [parent] and charge its internal uplink."))
@@ -128,7 +146,7 @@
if(locked)
return
active = TRUE
update_items()
update_items(user)
if(user)
INVOKE_ASYNC(src, .proc/ui_interact, user)
// an unlocked uplink blocks also opening the PDA or headset menu