diff --git a/code/game/antagonist/antagonist_print.dm b/code/game/antagonist/antagonist_print.dm
index 5cbce01a81..178b613b45 100644
--- a/code/game/antagonist/antagonist_print.dm
+++ b/code/game/antagonist/antagonist_print.dm
@@ -69,7 +69,7 @@
var/uplink_true = 0
var/purchases = ""
for(var/obj/item/device/uplink/H in world_uplinks)
- if(H && H.owner && H.owner == ply)
+ if(H && H.uplink_owner && H.uplink_owner == ply)
TC_uses += H.used_TC
uplink_true = 1
var/list/refined_log = new()
diff --git a/code/game/antagonist/outsider/mercenary.dm b/code/game/antagonist/outsider/mercenary.dm
index a8b03e605d..f703818e47 100644
--- a/code/game/antagonist/outsider/mercenary.dm
+++ b/code/game/antagonist/outsider/mercenary.dm
@@ -43,16 +43,15 @@ var/datum/antagonist/mercenary/mercs
if(player.backbag == 4) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(player), slot_back)
player.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(player.back), slot_in_backpack)
player.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(player), slot_in_backpack)
+
+ if (player.mind == leader)
+ var/obj/item/device/radio/uplink/U = new(player.loc)
+ U.hidden_uplink.uplink_owner = player.mind
+ U.hidden_uplink.uses = 40
+ player.put_in_hands(U)
+
player.update_icons()
create_id("Mercenary", player)
create_radio(SYND_FREQ, player)
return 1
-
-/datum/antagonist/mercenary/create_nuke()
- ..()
- // Create the radio.
- var/obj/effect/landmark/uplinkdevice = locate("landmark*Syndicate-Uplink")
- if(uplinkdevice)
- var/obj/item/device/radio/uplink/U = new(uplinkdevice.loc)
- U.hidden_uplink.uses = 40
\ No newline at end of file
diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm
index 345e9ddd06..2023c881a9 100644
--- a/code/game/objects/items/devices/uplink.dm
+++ b/code/game/objects/items/devices/uplink.dm
@@ -7,10 +7,16 @@ A list of items and costs is stored under the datum of every game mode, alongsid
*/
/obj/item/device/uplink
- var/welcome = "Illegal Uplink Console" // Welcoming menu message
- var/uses = DEFAULT_TELECRYSTAL_AMOUNT // Numbers of crystals
- var/list/purchase_log
- var/datum/mind/owner = null
+ var/welcome // Welcoming menu message
+ var/uses // Numbers of crystals
+ var/list/ItemsCategory // List of categories with lists of items
+ var/list/ItemsReference // List of references with an associated item
+ var/list/nanoui_items // List of items for NanoUI use
+ var/nanoui_menu = 0 // The current menu we are in
+ var/list/nanoui_data = new // Additional data for NanoUI use
+
+ var/list/purchase_log = new
+ var/datum/mind/uplink_owner = null
var/used_TC = 0
/obj/item/device/uplink/nano_host()
@@ -18,7 +24,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
/obj/item/device/uplink/New(var/location, var/datum/mind/owner)
..()
- src.owner = owner
+ src.uplink_owner = owner
purchase_log = list()
world_uplinks += src
@@ -42,10 +48,8 @@ A list of items and costs is stored under the datum of every game mode, alongsid
name = "hidden uplink"
desc = "There is something wrong if you're examining this."
var/active = 0
- var/nanoui_menu = 0 // The current menu we are in
var/datum/uplink_category/category = 0 // The current category we are in
var/exploit_id // Id of the current exploit record we are viewing
- var/list/nanoui_data // Data for NanoUI use
// The hidden uplink MUST be inside an obj/item's contents.
diff --git a/code/game/objects/items/devices/uplink_items.dm b/code/game/objects/items/devices/uplink_items.dm
index 9765519622..4046b6a261 100644
--- a/code/game/objects/items/devices/uplink_items.dm
+++ b/code/game/objects/items/devices/uplink_items.dm
@@ -59,12 +59,12 @@ var/datum/uplink/uplink = new()
return 1
// With no owner, there's no need to check antag status.
- if(!U.owner)
+ if(!U.uplink_owner)
return 0
for(var/antag_role in antag_roles)
var/datum/antagonist/antag = all_antag_types[antag_role]
- if(antag.is_antagonist(U.owner))
+ if(antag.is_antagonist(U.uplink_owner))
return 1
return 0
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 505dfa3f9c..bac665035e 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -750,7 +750,8 @@ proc/admin_notice(var/message, var/rights)
if(message)
if(!check_rights(R_SERVER,0))
message = sanitize(message, 500, extra = 0)
- world << "\blue [usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:\n \t [message]"
+ message = replacetext(message, "\n", "
") // required since we're putting it in a
tag
+ world << "[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces: [message]