diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index 167d72a0440..fca9caab4ff 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -245,7 +245,7 @@ if(!ispath(item_path, /datum/uplink_item)) return item = SStraitor.uplink_items_by_type[item_path] - uplink_handler.purchase_item(ui.user, item) + uplink_handler.purchase_item(ui.user, item, parent) if("lock") if(!lockable) return TRUE diff --git a/code/modules/antagonists/traitor/uplink_handler.dm b/code/modules/antagonists/traitor/uplink_handler.dm index 47140d8991e..a61a29b71cb 100644 --- a/code/modules/antagonists/traitor/uplink_handler.dm +++ b/code/modules/antagonists/traitor/uplink_handler.dm @@ -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 diff --git a/code/modules/uplink/uplink_items/device_tools.dm b/code/modules/uplink/uplink_items/device_tools.dm index 75d4ee732b8..fa3d2de43f8 100644 --- a/code/modules/uplink/uplink_items/device_tools.dm +++ b/code/modules/uplink/uplink_items/device_tools.dm @@ -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 += "Uplink Failsafe Code: [code]" + "
" + 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