// Maded by Gorox. Discord - smeshinka112 using Content.Client.Items.Systems; using Content.Shared.Clothing; using Content.Shared._Horizon.XenoPotionEffected.Components; using Robust.Client.GameObjects; namespace Content.Client._Horizon.XenoPotionEffected; public sealed class XenoPotionEffectedSystem : VisualizerSystem { [Dependency] private readonly ItemSystem _item = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnAfterState); SubscribeLocalEvent(OnVisualsUpdated); } private void OnAfterState(EntityUid uid, XenoPotionEffectedComponent component, ref AfterAutoHandleStateEvent @event) { if (!TryComp(uid, out var sprite)) return; sprite.Color = component.Color; _item.VisualsChanged(uid); } private void OnVisualsUpdated(EntityUid uid, XenoPotionEffectedComponent component, EquipmentVisualsUpdatedEvent @event) { if (!TryComp(@event.Equipee, out var sprite)) return; foreach (var layer in @event.RevealedLayers) { sprite.LayerSetColor(layer, component.Color); } } }