From a408cdad0a419c95291ea6bac6c0c87b69a884e2 Mon Sep 17 00:00:00 2001 From: zumorica Date: Fri, 17 Apr 2020 19:28:08 +0200 Subject: [PATCH] Fix ControlMob not deleting ghosts --- Content.Server/Administration/ControlMob.cs | 6 ++++++ Content.Server/GlobalVerbs/ControlMobVerb.cs | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/Content.Server/Administration/ControlMob.cs b/Content.Server/Administration/ControlMob.cs index 4a72b5dd89..8b08f3d99e 100644 --- a/Content.Server/Administration/ControlMob.cs +++ b/Content.Server/Administration/ControlMob.cs @@ -1,4 +1,5 @@ using Content.Server.GameObjects.Components.Mobs; +using Content.Server.GameObjects.Components.Observer; using Content.Server.Mobs; using Content.Server.Players; using Robust.Server.Interfaces.Console; @@ -55,9 +56,14 @@ namespace Content.Server.Administration return; } + var oldEntity = mind.CurrentEntity; + mindComponent.Mind?.TransferTo(null); mind.TransferTo(target); + if(oldEntity.HasComponent()) + oldEntity.Delete(); + } } } diff --git a/Content.Server/GlobalVerbs/ControlMobVerb.cs b/Content.Server/GlobalVerbs/ControlMobVerb.cs index 52150d57be..2da62dba18 100644 --- a/Content.Server/GlobalVerbs/ControlMobVerb.cs +++ b/Content.Server/GlobalVerbs/ControlMobVerb.cs @@ -1,6 +1,7 @@ using Content.Server.GameObjects; using Content.Server.GameObjects.Components.Mobs; using Content.Server.GameObjects.Components.Nutrition; +using Content.Server.GameObjects.Components.Observer; using Content.Server.Players; using Content.Shared.GameObjects; using Robust.Server.Console; @@ -41,9 +42,13 @@ namespace Content.Server.GlobalVerbs { var userMind = user.GetComponent().playerSession.ContentData().Mind; var targetMind = target.GetComponent(); + var oldEntity = userMind.CurrentEntity; targetMind.Mind?.TransferTo(null); userMind.TransferTo(target); + + if(oldEntity.HasComponent()) + oldEntity.Delete(); } } }