Melee arc effects are only sent to players inside PVS.

This commit is contained in:
Vera Aguilera Puerto
2021-05-12 14:47:56 +02:00
parent 462cddf860
commit 722087f92a
2 changed files with 5 additions and 4 deletions

View File

@@ -89,11 +89,11 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee
if (entities.Count != 0) if (entities.Count != 0)
{ {
SoundSystem.Play(Filter.Pvs(Owner), _hitSound, entities.First()); SoundSystem.Play(Filter.Pvs(Owner), _hitSound, entities.First().Transform.Coordinates);
} }
else else
{ {
SoundSystem.Play(Filter.Pvs(Owner), _missSound, eventArgs.User); SoundSystem.Play(Filter.Pvs(Owner), _missSound, eventArgs.User.Transform.Coordinates);
} }
var hitEntities = new List<IEntity>(); var hitEntities = new List<IEntity>();

View File

@@ -3,6 +3,7 @@ using System.Linq;
using Content.Shared.GameObjects.EntitySystemMessages; using Content.Shared.GameObjects.EntitySystemMessages;
using Robust.Shared.GameObjects; using Robust.Shared.GameObjects;
using Robust.Shared.Maths; using Robust.Shared.Maths;
using Robust.Shared.Player;
namespace Content.Server.GameObjects.EntitySystems namespace Content.Server.GameObjects.EntitySystems
{ {
@@ -11,12 +12,12 @@ namespace Content.Server.GameObjects.EntitySystems
public void SendAnimation(string arc, Angle angle, IEntity attacker, IEntity source, IEnumerable<IEntity> hits, bool textureEffect = false, bool arcFollowAttacker = true) public void SendAnimation(string arc, Angle angle, IEntity attacker, IEntity source, IEnumerable<IEntity> hits, bool textureEffect = false, bool arcFollowAttacker = true)
{ {
RaiseNetworkEvent(new MeleeWeaponSystemMessages.PlayMeleeWeaponAnimationMessage(arc, angle, attacker.Uid, source.Uid, RaiseNetworkEvent(new MeleeWeaponSystemMessages.PlayMeleeWeaponAnimationMessage(arc, angle, attacker.Uid, source.Uid,
hits.Select(e => e.Uid).ToList(), textureEffect, arcFollowAttacker)); hits.Select(e => e.Uid).ToList(), textureEffect, arcFollowAttacker), Filter.Pvs(source, 1f));
} }
public void SendLunge(Angle angle, IEntity source) public void SendLunge(Angle angle, IEntity source)
{ {
RaiseNetworkEvent(new MeleeWeaponSystemMessages.PlayLungeAnimationMessage(angle, source.Uid)); RaiseNetworkEvent(new MeleeWeaponSystemMessages.PlayLungeAnimationMessage(angle, source.Uid), Filter.Pvs(source, 1f));
} }
} }
} }