This commit is contained in:
ShadowCommander
2023-03-26 11:31:13 -07:00
committed by GitHub
parent 0e5dc41fe8
commit bfc4da9377
85 changed files with 1150 additions and 684 deletions

View File

@@ -1,5 +1,6 @@
using Content.Server.GameTicking;
using Content.Server.Ghost.Components;
using Content.Server.Mind;
using Content.Server.Players;
using Content.Shared.Administration;
using Content.Shared.Ghost;
@@ -33,10 +34,12 @@ namespace Content.Server.Administration.Commands
shell.WriteLine("You can't ghost here!");
return;
}
var mindSystem = _entities.System<MindSystem>();
if (mind.VisitingEntity != default && _entities.HasComponent<GhostComponent>(mind.VisitingEntity))
{
player.ContentData()!.Mind?.UnVisit();
mindSystem.UnVisit(mind);
return;
}
@@ -56,12 +59,12 @@ namespace Content.Server.Administration.Commands
else if (!string.IsNullOrWhiteSpace(mind.Session?.Name))
_entities.GetComponent<MetaDataComponent>(ghost).EntityName = mind.Session.Name;
mind.Visit(ghost);
mindSystem.Visit(mind, ghost);
}
else
{
_entities.GetComponent<MetaDataComponent>(ghost).EntityName = player.Name;
mind.TransferTo(ghost);
mindSystem.TransferTo(mind, ghost);
}
var comp = _entities.GetComponent<GhostComponent>(ghost);

View File

@@ -1,3 +1,4 @@
using Content.Server.Mind;
using Content.Server.Mind.Components;
using Content.Server.Players;
using Content.Shared.Administration;
@@ -44,7 +45,7 @@ namespace Content.Server.Administration.Commands
return;
}
if (!_entities.HasComponent<MindComponent>(target))
if (!_entities.HasComponent<MindContainerComponent>(target))
{
shell.WriteLine(Loc.GetString("shell-entity-is-not-mob"));
return;
@@ -54,7 +55,8 @@ namespace Content.Server.Administration.Commands
DebugTools.AssertNotNull(mind);
mind!.TransferTo(target);
var mindSystem = _entities.System<MindSystem>();
mindSystem.TransferTo(mind!, target);
}
}
}

View File

@@ -1,3 +1,4 @@
using Content.Server.Mind;
using Content.Server.Mind.Components;
using Content.Server.Players;
using Content.Shared.Administration;
@@ -9,9 +10,10 @@ namespace Content.Server.Administration.Commands
[AdminCommand(AdminFlags.Admin)]
sealed class SetMindCommand : IConsoleCommand
{
public string Command => "setmind";
public string Description => Loc.GetString("set-mind-command-description", ("requiredComponent", nameof(MindComponent)));
public string Description => Loc.GetString("set-mind-command-description", ("requiredComponent", nameof(MindContainerComponent)));
public string Help => Loc.GetString("set-mind-command-help-text", ("command", Command));
@@ -39,7 +41,7 @@ namespace Content.Server.Administration.Commands
return;
}
if (!entityManager.HasComponent<MindComponent>(eUid))
if (!entityManager.HasComponent<MindContainerComponent>(eUid))
{
shell.WriteLine(Loc.GetString("set-mind-command-target-has-no-mind-message"));
return;
@@ -59,16 +61,16 @@ namespace Content.Server.Administration.Commands
return;
}
var mindSystem = entityManager.System<MindSystem>();
var mind = playerCData.Mind;
if (mind == null)
{
mind = new Mind.Mind(session.UserId)
{
CharacterName = entityManager.GetComponent<MetaDataComponent>(eUid).EntityName
};
mind.ChangeOwningPlayer(session.UserId);
mind = mindSystem.CreateMind(session.UserId);
mind.CharacterName = entityManager.GetComponent<MetaDataComponent>(eUid).EntityName;
}
mind.TransferTo(eUid);
mindSystem.TransferTo(mind, eUid);
}
}
}