Fix handheld grinder and reaction mixer audio stacking (#42498)
* yeah * AAAAAAAAAAAAAAAAAAAAAAA --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
This commit is contained in:
parent
319b060f7d
commit
858ee62e6e
|
|
@ -42,9 +42,6 @@ public sealed partial class ReactionMixerSystem : EntitySystem
|
|||
if (!CanMix(ent.AsNullable(), ent))
|
||||
return;
|
||||
|
||||
if (_net.IsServer) // Cannot cancel predicted audio.
|
||||
ent.Comp.AudioStream = _audio.PlayPvs(ent.Comp.MixingSound, ent)?.Entity;
|
||||
|
||||
var doAfterArgs = new DoAfterArgs(EntityManager,
|
||||
args.User,
|
||||
ent.Comp.TimeToMix,
|
||||
|
|
@ -60,7 +57,8 @@ public sealed partial class ReactionMixerSystem : EntitySystem
|
|||
BreakOnMove = true
|
||||
};
|
||||
|
||||
_doAfter.TryStartDoAfter(doAfterArgs);
|
||||
if (_doAfter.TryStartDoAfter(doAfterArgs))
|
||||
ent.Comp.AudioStream = _audio.PlayPredicted(ent.Comp.MixingSound, ent, args.User)?.Entity ?? ent.Comp.AudioStream;
|
||||
}
|
||||
|
||||
private void OnAfterInteract(Entity<ReactionMixerComponent> ent, ref AfterInteractEvent args)
|
||||
|
|
@ -71,12 +69,11 @@ public sealed partial class ReactionMixerSystem : EntitySystem
|
|||
if (!CanMix(ent.AsNullable(), args.Target.Value))
|
||||
return;
|
||||
|
||||
if (_net.IsServer) // Cannot cancel predicted audio.
|
||||
ent.Comp.AudioStream = _audio.PlayPvs(ent.Comp.MixingSound, ent)?.Entity;
|
||||
|
||||
var doAfterArgs = new DoAfterArgs(EntityManager, args.User, ent.Comp.TimeToMix, new ReactionMixDoAfterEvent(), ent, args.Target.Value, ent);
|
||||
|
||||
_doAfter.TryStartDoAfter(doAfterArgs);
|
||||
if (_doAfter.TryStartDoAfter(doAfterArgs))
|
||||
ent.Comp.AudioStream = _audio.PlayPredicted(ent.Comp.MixingSound, ent, args.User)?.Entity ?? ent.Comp.AudioStream;
|
||||
|
||||
args.Handled = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,9 +67,6 @@ internal sealed class HandheldGrinderSystem : EntitySystem
|
|||
if (!_solution.ResolveSolution(ent.Owner, ent.Comp.SolutionName, ref ent.Comp.GrinderSolution))
|
||||
return;
|
||||
|
||||
if (_net.IsServer) // Cannot cancel predicted audio.
|
||||
ent.Comp.AudioStream = _audio.PlayPvs(ent.Comp.Sound, ent)?.Entity;
|
||||
|
||||
var doAfter = new DoAfterArgs(EntityManager, args.User, ent.Comp.DoAfterDuration, new HandheldGrinderDoAfterEvent(), ent, ent, item)
|
||||
{
|
||||
NeedHand = true,
|
||||
|
|
@ -79,7 +76,8 @@ internal sealed class HandheldGrinderSystem : EntitySystem
|
|||
BreakOnMove = true
|
||||
};
|
||||
|
||||
_doAfter.TryStartDoAfter(doAfter);
|
||||
if (_doAfter.TryStartDoAfter(doAfter))
|
||||
ent.Comp.AudioStream = _audio.PlayPredicted(ent.Comp.Sound, ent, args.User)?.Entity ?? ent.Comp.AudioStream;
|
||||
}
|
||||
|
||||
private void OnHandheldDoAfter(Entity<HandheldGrinderComponent> ent, ref HandheldGrinderDoAfterEvent args)
|
||||
|
|
|
|||
Loading…
Reference in New Issue