[s] Uplink Failsafe Fix (#68593)

* The uplink failsafe code traitor item will now actually give you a failsafe code, and won't work on uplinks that don't support it.
This commit is contained in:
ShizCalev
2022-07-26 19:43:49 -04:00
committed by GitHub
parent 1975ecce5e
commit b9e1a4b07e
3 changed files with 12 additions and 4 deletions
@@ -72,7 +72,7 @@
return TRUE
/datum/uplink_handler/proc/purchase_item(mob/user, datum/uplink_item/to_purchase)
/datum/uplink_handler/proc/purchase_item(mob/user, datum/uplink_item/to_purchase, atom/movable/source)
if(!can_purchase_item(user, to_purchase))
return
@@ -80,7 +80,7 @@
item_stock[to_purchase] = to_purchase.limited_stock
telecrystals -= to_purchase.cost
to_purchase.purchase(user, src)
to_purchase.purchase(user, src, source)
if(to_purchase in item_stock)
item_stock[to_purchase] -= 1
@@ -138,9 +138,17 @@
var/datum/component/uplink/uplink = source.GetComponent(/datum/component/uplink)
if(!uplink)
return
if(!uplink.unlock_note) //no note means it can't be locked (typically due to being an implant.)
to_chat(user, span_warning("This device doesn't support code entry!"))
return
uplink.failsafe_code = uplink.generate_code()
var/code = "[islist(uplink.failsafe_code) ? english_list(uplink.failsafe_code) : uplink.failsafe_code]"
to_chat(user, span_warning("The new failsafe code for this uplink is now : [code]. You may check your antagonist info to recall this."))
var/datum/antagonist/traitor/traitor_datum = user.mind?.has_antag_datum(/datum/antagonist/traitor)
if(traitor_datum)
traitor_datum.antag_memory += "<b>Uplink Failsafe Code:</b> [code]" + "<br>"
traitor_datum.update_static_data_for_all_viewers()
to_chat(user, span_warning("The new failsafe code for this uplink is now: [code].[traitor_datum ? " You may check your antagonist info to recall this." : null]"))
return source //For log icon
/datum/uplink_item/device_tools/toolbox