diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index 636701fc07..149c9c6254 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -91,15 +91,23 @@
if(!target || !istype(target))
return
- message_admins("[key_name_admin(usr)] [target.canmove ? "locked down" : "released"] [target.name]!")
- log_game("[key_name(usr)] [target.canmove ? "locked down" : "released"] [target.name]!")
- target.canmove = !target.canmove
- if (target.lockcharge)
+ var/istraitor = traitors.is_antagonist(target.mind)
+ if (istraitor)
target.lockcharge = !target.lockcharge
- target << "Your lockdown has been lifted!"
+ if (target.lockcharge)
+ target << "Someone tried to lock you down!"
+ else
+ target << "Someone tried to lift your lockdown!"
else
- target.lockcharge = !target.lockcharge
- target << "You have been locked down!"
+ target.canmove = !target.canmove
+ target.lockcharge = !target.canmove //when canmove is 1, lockcharge should be 0
+ if (target.lockcharge)
+ target << "You have been locked down!"
+ else
+ target << "Your lockdown has been lifted!"
+ message_admins("[key_name_admin(usr)] [istraitor ? "failed (target is traitor) " : ""][target.lockcharge ? "lockdown" : "release"] on [target.name]!")
+ log_game("[key_name(usr)] attempted to [target.lockcharge ? "lockdown" : "release"] [target.name] on the robotics console!")
+
// Remotely hacks the cyborg. Only antag AIs can do this and only to linked cyborgs.
else if (href_list["hack"])
diff --git a/html/changelogs/EmperorJon-PR-904.yml b/html/changelogs/EmperorJon-PR-904.yml
new file mode 100644
index 0000000000..1fef3136d8
--- /dev/null
+++ b/html/changelogs/EmperorJon-PR-904.yml
@@ -0,0 +1,4 @@
+author: EmperorJon
+delete-after: True
+changes:
+ - tweak: "Traitor synths can no longer be locked down from the robotics console. Attempting to lock them down (or release the lockdown) notifies the synth of the attempt and updates the console's UI as normal."
\ No newline at end of file