CatStation/Content.Server/Changeling/Systems/ChangelingIdentitySystem.cs
DrSmugleaf 65f5f67cd5
Make every EntitySystem partial (#45220)
* Make every EntitySystem partial

* Oobs thats for a diff PR

* Also oops on that one

* Test systems

* git are we fr

* Update file templates

* cleanup empty classes while we are here

* forgor

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-14 18:24:47 +00:00

45 lines
1.4 KiB
C#

using Content.Shared.Changeling.Components;
using Content.Shared.Changeling.Systems;
using Robust.Shared.GameStates;
namespace Content.Server.Changeling.Systems;
public sealed partial class ChangelingIdentitySystem : SharedChangelingIdentitySystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<ChangelingIdentityComponent, ComponentGetState>(OnGetState);
}
private void OnGetState(Entity<ChangelingIdentityComponent> entity, ref ComponentGetState args)
{
List<ChangelingNetworkedIdentityData> sentIdentities = new();
foreach (var identity in entity.Comp.ConsumedIdentities)
{
ChangelingNetworkedIdentityData netData = new()
{
Identity = GetNetEntity(identity.Identity),
Original = GetNetEntity(identity.Original),
OriginalJob = identity.OriginalJob,
OriginalName = identity.OriginalName,
Starting = identity.Starting,
GrantedDna = identity.GrantedDna,
};
sentIdentities.Add(netData);
}
var current = entity.Comp.CurrentIdentity;
var netCurrent = GetNetEntity(current);
args.State = new ChangelingIdentityComponentState(
sentIdentities,
netCurrent,
entity.Comp.IdentityCloningSettings,
entity.Comp.MaxStoredDisguises);
}
}