Files
tbd-station-14/Content.Shared/Polymorph/Components/ChameleonDisguiseComponent.cs
deltanedas 80e148c265 cham projector fixes/rewrite (#27111)
* cant disguise to thing in a container

* copy cigarette visualiser

* prevent aghost throwing an error

* make disguises die in space

* fuck it rewrite it to not use polymorph

* fix action troll

* oop

* add vebr

* add access to the components

* 2/3

* fix

* relay damage from disguise to user

* fix integrity

* :trollface:

* :trollface:

* m

* kill integrity

* fix a bug

* review

* remove them from component

* relay flash effect to the disguise

* fix icon being weird

* change method since multiple systems cant handle same network event

* :trollface:

* actually network Disguise real

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-11-08 12:15:41 +01:00

40 lines
1.1 KiB
C#

using Content.Shared.Polymorph.Systems;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared.Polymorph.Components;
/// <summary>
/// Component added to disguise entities.
/// Used by client to copy over appearance from the disguise's source entity.
/// </summary>
[RegisterComponent, NetworkedComponent, Access(typeof(SharedChameleonProjectorSystem))]
[AutoGenerateComponentState(true)]
public sealed partial class ChameleonDisguiseComponent : Component
{
/// <summary>
/// The user of this disguise.
/// </summary>
[DataField]
public EntityUid User;
/// <summary>
/// The projector that created this disguise.
/// </summary>
[DataField]
public EntityUid Projector;
/// <summary>
/// The disguise source entity for copying the sprite.
/// </summary>
[DataField, AutoNetworkedField]
public EntityUid SourceEntity;
/// <summary>
/// The source entity's prototype.
/// Used as a fallback if the source entity was deleted.
/// </summary>
[DataField, AutoNetworkedField]
public EntProtoId? SourceProto;
}