diff --git a/Content.Client/_Sunrise/Footprints/FootPrintsVisualizerSystem.cs b/Content.Client/_Sunrise/Footprints/FootPrintsVisualizerSystem.cs index 3221df187a..4b5b724da9 100644 --- a/Content.Client/_Sunrise/Footprints/FootPrintsVisualizerSystem.cs +++ b/Content.Client/_Sunrise/Footprints/FootPrintsVisualizerSystem.cs @@ -74,7 +74,14 @@ public sealed class FootprintVisualizerSystem : VisualizerSystem(uid, out var appearance)) return; - UpdateSpriteState(sprite, layer,footprint.StateId, footprint.SpritePath); + if (!_appearanceSystem.TryGetData( + uid, + FootprintVisualParameter.VisualState, + out var visualState, + appearance)) + return; + + UpdateSpriteState(sprite, layer, visualState, footprint.SpritePath); UpdateSpriteColor(sprite, layer, uid, appearance); } diff --git a/Content.Server/_Sunrise/Footprints/FootPrintsSystem.cs b/Content.Server/_Sunrise/Footprints/FootPrintsSystem.cs index 9b8ba7132a..86b597a1bb 100644 --- a/Content.Server/_Sunrise/Footprints/FootPrintsSystem.cs +++ b/Content.Server/_Sunrise/Footprints/FootPrintsSystem.cs @@ -197,13 +197,13 @@ public sealed class FootprintSystem : EntitySystem var coords = CalculateFootprintPosition(gridUid, emitter, transform, stand); var entity = Spawn(stand ? emitter.FootprintPrototype : emitter.DragMarkPrototype, coords); - var footprint = EnsureComp(entity); - if (_appearanceQuery.TryComp(entity, out var appearance)) { var visualType = DetermineVisualState(emitterOwner, stand); - footprint.StateId = GetStateId(visualType, emitter); - Dirty(entity, footprint); + _appearanceSystem.SetData(entity, + FootprintVisualParameter.VisualState, + GetStateId(visualType, emitter), + appearance); var rawAlpha = emitterSolution.Volume.Float() / emitterSolution.MaxVolume.Float(); var alpha = Math.Clamp((0.8f * rawAlpha) + 0.3f, 0f, 1f); diff --git a/Content.Shared/_Sunrise/Footprints/FootprintsSerializables.cs b/Content.Shared/_Sunrise/Footprints/FootprintsSerializables.cs index 4bac9d6904..ccd92b120a 100644 --- a/Content.Shared/_Sunrise/Footprints/FootprintsSerializables.cs +++ b/Content.Shared/_Sunrise/Footprints/FootprintsSerializables.cs @@ -10,15 +10,9 @@ namespace Content.Shared._Sunrise.Footprints; /// /// Component that represents a single footprint entity in the world /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent] public sealed partial class FootprintComponent : Component { - /// - /// Entity that created this footprint - /// - [AutoNetworkedField] - public string StateId; - [ViewVariables(VVAccess.ReadOnly), DataField] public ResPath SpritePath = new("/Textures/_Sunrise/Effects/footprints.rsi");