Cardboard Boxes will play effect & sound again (#14859)
This commit is contained in:
@@ -29,6 +29,7 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
|
|||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
SubscribeLocalEvent<CardboardBoxComponent, StorageAfterOpenEvent>(AfterStorageOpen);
|
SubscribeLocalEvent<CardboardBoxComponent, StorageAfterOpenEvent>(AfterStorageOpen);
|
||||||
|
SubscribeLocalEvent<CardboardBoxComponent, StorageBeforeOpenEvent>(BeforeStorageOpen);
|
||||||
SubscribeLocalEvent<CardboardBoxComponent, StorageAfterCloseEvent>(AfterStorageClosed);
|
SubscribeLocalEvent<CardboardBoxComponent, StorageAfterCloseEvent>(AfterStorageClosed);
|
||||||
SubscribeLocalEvent<CardboardBoxComponent, InteractedNoHandEvent>(OnNoHandInteracted);
|
SubscribeLocalEvent<CardboardBoxComponent, InteractedNoHandEvent>(OnNoHandInteracted);
|
||||||
SubscribeLocalEvent<CardboardBoxComponent, EntInsertedIntoContainerMessage>(OnEntInserted);
|
SubscribeLocalEvent<CardboardBoxComponent, EntInsertedIntoContainerMessage>(OnEntInserted);
|
||||||
@@ -46,19 +47,22 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
|
|||||||
_storage.OpenStorage(uid);
|
_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 (component.Mover != null)
|
||||||
{
|
{
|
||||||
if (_timing.CurTime > component.EffectCooldown)
|
if (_timing.CurTime > component.EffectCooldown)
|
||||||
{
|
{
|
||||||
RaiseNetworkEvent(new PlayBoxEffectMessage(component.Owner, component.Mover.Value), Filter.PvsExcept(component.Owner));
|
RaiseNetworkEvent(new PlayBoxEffectMessage(uid, component.Mover.Value));
|
||||||
_audio.PlayPvs(component.EffectSound, component.Owner);
|
_audio.PlayPvs(component.EffectSound, uid);
|
||||||
component.EffectCooldown = _timing.CurTime + CardboardBoxComponent.MaxEffectCooldown;
|
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.
|
// If this box has a stealth/chameleon effect, disable the stealth effect while the box is open.
|
||||||
_stealth.SetEnabled(uid, false);
|
_stealth.SetEnabled(uid, false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user