diff --git a/Content.Server/CardboardBox/CardboardBoxSystem.cs b/Content.Server/CardboardBox/CardboardBoxSystem.cs index 890ff0f4e2..0e0c171f02 100644 --- a/Content.Server/CardboardBox/CardboardBoxSystem.cs +++ b/Content.Server/CardboardBox/CardboardBoxSystem.cs @@ -29,6 +29,7 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem { base.Initialize(); SubscribeLocalEvent(AfterStorageOpen); + SubscribeLocalEvent(BeforeStorageOpen); SubscribeLocalEvent(AfterStorageClosed); SubscribeLocalEvent(OnNoHandInteracted); SubscribeLocalEvent(OnEntInserted); @@ -46,19 +47,22 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem _storage.OpenStorage(uid); } - private void AfterStorageOpen(EntityUid uid, CardboardBoxComponent component, ref StorageAfterOpenEvent args) + private void BeforeStorageOpen(EntityUid uid, CardboardBoxComponent component, ref StorageBeforeOpenEvent args) { - //Remove the mover after the box is opened and play the effect if it hasn't been played yet. + //Play effect & sound if (component.Mover != null) { if (_timing.CurTime > component.EffectCooldown) { - RaiseNetworkEvent(new PlayBoxEffectMessage(component.Owner, component.Mover.Value), Filter.PvsExcept(component.Owner)); - _audio.PlayPvs(component.EffectSound, component.Owner); + RaiseNetworkEvent(new PlayBoxEffectMessage(uid, component.Mover.Value)); + _audio.PlayPvs(component.EffectSound, uid); component.EffectCooldown = _timing.CurTime + CardboardBoxComponent.MaxEffectCooldown; } } + } + private void AfterStorageOpen(EntityUid uid, CardboardBoxComponent component, ref StorageAfterOpenEvent args) + { // If this box has a stealth/chameleon effect, disable the stealth effect while the box is open. _stealth.SetEnabled(uid, false); }