ECS and cleanup body system, merge body templates and presets into body prototypes (#11991)

Co-authored-by: Jezithyr <Jezithyr@gmail.com>
This commit is contained in:
DrSmugleaf
2022-10-23 00:46:28 +02:00
committed by GitHub
parent 9a38736c3c
commit f323fb7644
140 changed files with 2478 additions and 2571 deletions

View File

@@ -1,4 +1,4 @@
using Content.Server.Body.Components;
using Content.Server.Body.Systems;
using Content.Shared.Administration;
using Robust.Shared.Console;
@@ -19,35 +19,28 @@ namespace Content.Server.Administration.Commands
return;
}
if (!EntityUid.TryParse(args[0], out var entityUid))
if (!EntityUid.TryParse(args[0], out var childId))
{
shell.WriteError(Loc.GetString("shell-entity-uid-must-be-number"));
return;
}
if (!EntityUid.TryParse(args[1], out var storageUid))
if (!EntityUid.TryParse(args[1], out var parentId))
{
shell.WriteError(Loc.GetString("shell-entity-uid-must-be-number"));
return;
}
var entityManager = IoCManager.Resolve<IEntityManager>();
var bodySystem = entityManager.System<BodySystem>();
if (entityManager.TryGetComponent<BodyComponent>(storageUid, out var storage)
&& entityManager.TryGetComponent<BodyPartComponent>(entityUid, out var bodyPart))
if (bodySystem.TryCreatePartSlotAndAttach(parentId, args[3], childId))
{
if (storage.TryAddPart(args[3], bodyPart))
{
shell.WriteLine($@"Added {entityUid} to {storageUid}.");
}
else
{
shell.WriteError($@"Could not add {entityUid} to {storageUid}.");
}
shell.WriteLine($@"Added {childId} to {parentId}.");
}
else
{
shell.WriteError("Could not insert.");
shell.WriteError($@"Could not add {childId} to {parentId}.");
}
}
}

View File

@@ -1,6 +1,5 @@
using Content.Server.Body.Components;
using Content.Server.Body.Systems;
using Content.Shared.Administration;
using Content.Shared.Body.Components;
using Robust.Shared.Console;
namespace Content.Server.Administration.Commands
@@ -20,35 +19,28 @@ namespace Content.Server.Administration.Commands
return;
}
if (!EntityUid.TryParse(args[0], out var entityUid))
if (!EntityUid.TryParse(args[0], out var organId))
{
shell.WriteError(Loc.GetString("shell-entity-uid-must-be-number"));
return;
}
if (!EntityUid.TryParse(args[1], out var storageUid))
if (!EntityUid.TryParse(args[1], out var partId))
{
shell.WriteError(Loc.GetString("shell-entity-uid-must-be-number"));
return;
}
var entityManager = IoCManager.Resolve<IEntityManager>();
var bodySystem = entityManager.System<BodySystem>();
if (entityManager.TryGetComponent<BodyPartComponent>(storageUid, out var storage)
&& entityManager.TryGetComponent<MechanismComponent>(entityUid, out var bodyPart))
if (bodySystem.AddOrganToFirstValidSlot(organId, partId))
{
if (storage.TryAddMechanism(bodyPart))
{
shell.WriteLine($@"Added {entityUid} to {storageUid}.");
}
else
{
shell.WriteError($@"Could not add {entityUid} to {storageUid}.");
}
shell.WriteLine($@"Added {organId} to {partId}.");
}
else
{
shell.WriteError("Could not insert.");
shell.WriteError($@"Could not add {organId} to {partId}.");
}
}
}

View File

@@ -1,4 +1,4 @@
using Content.Server.Body.Components;
using Content.Server.Body.Systems;
using Content.Shared.Administration;
using Robust.Shared.Console;
@@ -26,16 +26,11 @@ namespace Content.Server.Administration.Commands
}
var entityManager = IoCManager.Resolve<IEntityManager>();
var bodySystem = entityManager.System<BodySystem>();
if (!entityManager.TryGetComponent<TransformComponent>(entityUid, out var transform)) return;
var parent = transform.ParentUid;
if (entityManager.TryGetComponent<BodyComponent>(parent, out var body) &&
entityManager.TryGetComponent<BodyPartComponent>(entityUid, out var part))
if (bodySystem.DropPart(entityUid))
{
body.RemovePart(part);
shell.WriteLine($"Removed body part {entityManager.ToPrettyString(entityUid)}.");
}
else
{

View File

@@ -1,6 +1,5 @@
using Content.Server.Body.Components;
using Content.Server.Body.Systems;
using Content.Shared.Administration;
using Content.Shared.Body.Components;
using Robust.Shared.Console;
namespace Content.Server.Administration.Commands
@@ -27,15 +26,11 @@ namespace Content.Server.Administration.Commands
}
var entityManager = IoCManager.Resolve<IEntityManager>();
var bodySystem = entityManager.System<BodySystem>();
if (!entityManager.TryGetComponent<TransformComponent>(entityUid, out var transform)) return;
var parent = transform.ParentUid;
if (entityManager.TryGetComponent<BodyPartComponent>(parent, out var body) &&
entityManager.TryGetComponent<MechanismComponent>(entityUid, out var part))
if (bodySystem.DropOrgan(entityUid))
{
body.RemoveMechanism(part);
shell.WriteLine($"Removed organ {entityManager.ToPrettyString(entityUid)}");
}
else
{