Mind tweaks & fixes (#21203)

This commit is contained in:
Leon Friedrich
2023-10-25 01:23:56 +11:00
committed by GitHub
parent a2bbda43cc
commit 0880145ac8
11 changed files with 237 additions and 111 deletions

View File

@@ -1,5 +1,5 @@
using Content.Server.Mind;
using Content.Shared.Administration;
using Content.Shared.Mind;
using Robust.Server.Player;
using Robust.Shared.Console;
@@ -42,14 +42,7 @@ namespace Content.Server.Administration.Commands
return;
}
var mindSystem = _entities.System<SharedMindSystem>();
if (!mindSystem.TryGetMind(target, out var mindId, out var mind))
{
shell.WriteLine(Loc.GetString("shell-entity-is-not-mob"));
return;
}
mindSystem.TransferTo(mindId, target, mind: mind);
_entities.System<MindSystem>().ControlMob(player.UserId, target);
}
}
}

View File

@@ -6,6 +6,7 @@ using Content.Server.Disposal.Tube;
using Content.Server.Disposal.Tube.Components;
using Content.Server.EUI;
using Content.Server.Ghost.Roles;
using Content.Server.Mind;
using Content.Server.Mind.Commands;
using Content.Server.Prayer;
using Content.Server.Xenoarchaeology.XenoArtifacts;
@@ -18,7 +19,6 @@ using Content.Shared.Database;
using Content.Shared.Examine;
using Content.Shared.GameTicking;
using Content.Shared.Inventory;
using Content.Shared.Mind;
using Content.Shared.Mind.Components;
using Content.Shared.Popups;
using Content.Shared.Verbs;
@@ -56,7 +56,7 @@ namespace Content.Server.Administration.Systems
[Dependency] private readonly UserInterfaceSystem _uiSystem = default!;
[Dependency] private readonly PrayerSystem _prayerSystem = default!;
[Dependency] private readonly EuiManager _eui = default!;
[Dependency] private readonly SharedMindSystem _mindSystem = default!;
[Dependency] private readonly MindSystem _mindSystem = default!;
[Dependency] private readonly ToolshedManager _toolshed = default!;
[Dependency] private readonly RejuvenateSystem _rejuvenate = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
@@ -277,12 +277,7 @@ namespace Content.Server.Administration.Systems
// TODO VERB ICON control mob icon
Act = () =>
{
MakeSentientCommand.MakeSentient(args.Target, EntityManager);
if (!_minds.TryGetMind(player, out var mindId, out var mind))
return;
_mindSystem.TransferTo(mindId, args.Target, ghostCheckOverride: true, mind: mind);
_mindSystem.ControlMob(args.User, args.Target);
},
Impact = LogImpact.High,
ConfirmationPopup = true
@@ -358,7 +353,7 @@ namespace Content.Server.Administration.Systems
var message = ExamineSystemShared.InRangeUnOccluded(args.User, args.Target)
? Loc.GetString("in-range-unoccluded-verb-on-activate-not-occluded")
: Loc.GetString("in-range-unoccluded-verb-on-activate-occluded");
_popup.PopupEntity(message, args.Target, args.User);
}
};