diff --git a/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs b/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs index 109276264d..ca1266c842 100644 --- a/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs +++ b/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs @@ -8,7 +8,7 @@ namespace Content.Client._White.WeaponsModules; public sealed partial class WeaponModulesVisuals : VisualizerSystem { - [Dependency] private readonly PointLightSystem _lightSystem = default!; +[Dependency] private readonly PointLightSystem _lightSystem = default!; protected override void OnAppearanceChange(EntityUid uid, WeaponModulesComponent component, ref AppearanceChangeEvent args) { base.OnAppearanceChange(uid, component, ref args); @@ -16,34 +16,57 @@ public sealed partial class WeaponModulesVisuals : VisualizerSystem(uid, ModuleVisualState.HandGuardModule, out var handguardModule, args.Component) && handguardModule.Length != 0 && handguardModule != "none") + if (AppearanceSystem.TryGetData(uid, ModuleVisualState.BarrelModule, out var barrelModule, args.Component)) { - args.Sprite.LayerSetState(ModuleVisualState.HandGuardModule, handguardModule); - args.Sprite.LayerSetVisible(ModuleVisualState.HandGuardModule, true); + if (barrelModule.Length != 0 && barrelModule != "none") + { + args.Sprite.LayerSetState(ModuleVisualState.BarrelModule, barrelModule); + args.Sprite.LayerSetVisible(ModuleVisualState.BarrelModule, true); + } + else + args.Sprite.LayerSetVisible(ModuleVisualState.BarrelModule, false); } - if (AppearanceSystem.TryGetData(uid, ModuleVisualState.BarrelModule, out var barrelModule, args.Component) && barrelModule.Length != 0 && barrelModule != "none") + if (AppearanceSystem.TryGetData(uid, ModuleVisualState.HandGuardModule, out var handguardModule, args.Component)) { - args.Sprite.LayerSetState(ModuleVisualState.BarrelModule, barrelModule); - args.Sprite.LayerSetVisible(ModuleVisualState.BarrelModule, true); + if (handguardModule.Length != 0 && handguardModule != "none") + { + args.Sprite.LayerSetState(ModuleVisualState.HandGuardModule, handguardModule); + args.Sprite.LayerSetVisible(ModuleVisualState.HandGuardModule, true); + } + else + args.Sprite.LayerSetVisible(ModuleVisualState.HandGuardModule, false); } - if (AppearanceSystem.TryGetData(uid, ModuleVisualState.AimModule, out var aimModule, args.Component) && aimModule.Length != 0 && aimModule != "none") + if (AppearanceSystem.TryGetData(uid, ModuleVisualState.AimModule, out var aimModule, args.Component)) { - args.Sprite.LayerSetState(ModuleVisualState.AimModule, aimModule); - args.Sprite.LayerSetVisible(ModuleVisualState.AimModule, true); + if (aimModule.Length != 0 && aimModule != "none") + { + args.Sprite.LayerSetState(ModuleVisualState.AimModule, aimModule); + args.Sprite.LayerSetVisible(ModuleVisualState.AimModule, true); + } + else + args.Sprite.LayerSetVisible(ModuleVisualState.AimModule, false); } - if (AppearanceSystem.TryGetData(uid, Modules.Light, out var data, args.Component)) + if (AppearanceSystem.TryGetData(uid, ModuleVisualState.ShutterModule, out var shutterModule, args.Component)) + { + if (shutterModule.Length != 0 && shutterModule != "none") + { + args.Sprite.LayerSetState(ModuleVisualState.ShutterModule, shutterModule); + args.Sprite.LayerSetVisible(ModuleVisualState.ShutterModule, true); + } + else + args.Sprite.LayerSetVisible(ModuleVisualState.ShutterModule, false); + } + + if (AppearanceSystem.TryGetData(uid, Modules.Light, out _, args.Component)) { if (TryComp(uid, out var pointLightComponent)) { if(!pointLightComponent.Enabled) return; + _lightSystem.SetMask("/Textures/White/Effects/LightMasks/lightModule.png", pointLightComponent!); } } diff --git a/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs b/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs index 6d44d052d1..b99c19b88b 100644 --- a/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs +++ b/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs @@ -32,11 +32,10 @@ public sealed class MessagesCartridgeSystem : EntitySystem SubscribeLocalEvent(OnCartActivation); SubscribeLocalEvent(OnCartDeactivation); SubscribeLocalEvent(OnCartInsertion); - SubscribeLocalEvent(OnInit); SubscribeLocalEvent(OnRemove); } - private void OnInit(EntityUid uid, MessagesCartridgeComponent component, ComponentInit args) + public void Send(EntityUid uid, MessagesCartridgeComponent component) { var stationId = _stationSystem.GetOwningStation(uid); if (!stationId.HasValue ||