diff --git a/Content.Server/_White/Implants/Mindslave/MindslaveSystem.cs b/Content.Server/_White/Implants/Mindslave/MindslaveSystem.cs index 0a2810d017..1b08944688 100644 --- a/Content.Server/_White/Implants/Mindslave/MindslaveSystem.cs +++ b/Content.Server/_White/Implants/Mindslave/MindslaveSystem.cs @@ -80,13 +80,19 @@ public sealed class MindslaveSystem : SharedMindslaveSystem return; } + var master = GetEntity(mindslave.Master); + if (Mind.TryGetMind(args.Target, out var mindId, out _)) { _role.MindTryRemoveRole(mindId); - Popup.PopupEntity(Loc.GetString("mindslave-freed", ("player", mindslave.Master)), args.Target, args.Target); + + var popupNoMaster = master == EntityUid.Invalid + ? Loc.GetString("mindslave-freed-no-master") + : Loc.GetString("mindslave-freed", ("player", master)); + + Popup.PopupEntity(popupNoMaster, args.Target, args.Target); } - var master = GetEntity(mindslave.Master); if (TryComp(master, out MindSlaveComponent? masterMindslave)) { masterMindslave.Slaves.Remove(GetNetEntity(args.Target)); diff --git a/Resources/Locale/ru-RU/_white/implants/mindslave.ftl b/Resources/Locale/ru-RU/_white/implants/mindslave.ftl index 8d98357654..27f8a65e81 100644 --- a/Resources/Locale/ru-RU/_white/implants/mindslave.ftl +++ b/Resources/Locale/ru-RU/_white/implants/mindslave.ftl @@ -1,6 +1,7 @@ mindslave-briefing = Служите и защищайте {$player}, {$role}. Выполняйте каждый их приказ. Они для вас - абсолютная власть. mindslave-chat-message = Перед вашим глазами в мгновение пролетают осколки ваших воспоминаний, после чего сознание застилает белая пелена. Во вспышке ярко-красного света вы вспоминаете свое предназначение - служить {$player}, {$role}. mindslave-freed = Вы больше не служите {$player}! +mindslave-freed-no-master = Вы больше не служите своему бывшему мастеру! mindslave-target-self = Вы не можете сделать себя своим же рабом mindslave-cant-insert = Разум данного существа уже на чем-то зациклен