From 516e32fafbb1185954c60150b8fc3c24e58ec48c Mon Sep 17 00:00:00 2001 From: Adri Date: Sat, 17 Sep 2022 11:44:34 +0200 Subject: [PATCH] When removing traitor role, auto remove the uplink (#19034) --- .../antagonists/traitor/datum_traitor.dm | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 6a1c4363f2e..3e7c6d014cd 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -45,6 +45,26 @@ owner.som = null owner.current.client.chatOutput?.clear_syndicate_codes() + + // Try removing their uplink, check PDA + var/mob/M = owner.current + var/obj/item/uplink_holder = locate(/obj/item/pda) in M.contents + + // No PDA or it has no uplink? Check headset + if(!uplink_holder || !uplink_holder.hidden_uplink) + uplink_holder = locate(/obj/item/radio) in M.contents + + // If the headset has an uplink, delete it + if(uplink_holder && uplink_holder.hidden_uplink) + var/uplink = locate(/obj/item/uplink/hidden) in uplink_holder.contents + uplink_holder.hidden_uplink = null + qdel(uplink) + + // Check for an uplink implant + var/uplink_implant = locate(/obj/item/implant/uplink) in M.contents + if(uplink_implant) + qdel(uplink_implant) + return ..() /datum/antagonist/traitor/add_owner_to_gamemode()