diff --git a/Content.Server/GameObjects/EntitySystems/StackSystem.cs b/Content.Server/GameObjects/EntitySystems/StackSystem.cs index e4960a78a6..4dc085f1af 100644 --- a/Content.Server/GameObjects/EntitySystems/StackSystem.cs +++ b/Content.Server/GameObjects/EntitySystems/StackSystem.cs @@ -49,7 +49,7 @@ namespace Content.Server.GameObjects.EntitySystems else { // We do have enough things in the stack, so remove them and set the output result to true. - RaiseLocalEvent(uid, new StackChangeCountEvent(stack.Count - args.Amount)); + RaiseLocalEvent(uid, new StackChangeCountEvent(stack.Count - args.Amount), false); args.Result = true; } } @@ -70,7 +70,7 @@ namespace Content.Server.GameObjects.EntitySystems : stack.Owner.Prototype?.ID ?? null; // Remove the amount of things we want to split from the original stack... - RaiseLocalEvent(uid, new StackChangeCountEvent(stack.Count - args.Amount)); + RaiseLocalEvent(uid, new StackChangeCountEvent(stack.Count - args.Amount), false); // Set the output parameter in the event instance to the newly split stack. args.Result = EntityManager.SpawnEntity(prototype, args.SpawnPosition); @@ -78,7 +78,7 @@ namespace Content.Server.GameObjects.EntitySystems if (args.Result.TryGetComponent(out StackComponent? stackComp)) { // Set the split stack's count. - RaiseLocalEvent(args.Result.Uid, new StackChangeCountEvent(args.Amount)); + RaiseLocalEvent(args.Result.Uid, new StackChangeCountEvent(args.Amount), false); } } @@ -97,7 +97,7 @@ namespace Content.Server.GameObjects.EntitySystems var stack = args.Result.GetComponent(); // And finally, set the correct amount! - RaiseLocalEvent(args.Result.Uid, new StackChangeCountEvent(args.Amount)); + RaiseLocalEvent(args.Result.Uid, new StackChangeCountEvent(args.Amount), false); } private void OnStackInteractUsing(EntityUid uid, StackComponent stack, InteractUsingEvent args) @@ -109,8 +109,8 @@ namespace Content.Server.GameObjects.EntitySystems return; var toTransfer = Math.Min(stack.Count, otherStack.AvailableSpace); - RaiseLocalEvent(uid, new StackChangeCountEvent(stack.Count - toTransfer)); - RaiseLocalEvent(args.Used.Uid, new StackChangeCountEvent(otherStack.Count + toTransfer)); + RaiseLocalEvent(uid, new StackChangeCountEvent(stack.Count - toTransfer), false); + RaiseLocalEvent(args.Used.Uid, new StackChangeCountEvent(otherStack.Count + toTransfer), false); var popupPos = args.ClickLocation; if (!popupPos.IsValid(EntityManager)) diff --git a/Content.Shared/GameObjects/EntitySystems/ExamineSystemShared.cs b/Content.Shared/GameObjects/EntitySystems/ExamineSystemShared.cs index fe14354b63..09e5bdf470 100644 --- a/Content.Shared/GameObjects/EntitySystems/ExamineSystemShared.cs +++ b/Content.Shared/GameObjects/EntitySystems/ExamineSystemShared.cs @@ -187,7 +187,7 @@ namespace Content.Shared.GameObjects.EntitySystems message.PushColor(Color.DarkGray); // Raise the event and let things that subscribe to it change the message... - RaiseLocalEvent(entity.Uid, new ExaminedEvent(message, examiner, IsInDetailsRange(examiner, entity))); + RaiseLocalEvent(entity.Uid, new ExaminedEvent(message, entity, examiner, IsInDetailsRange(examiner, entity))); //Add component statuses from components that report one foreach (var examineComponent in entity.GetAllComponents()) @@ -228,14 +228,20 @@ namespace Content.Shared.GameObjects.EntitySystems /// public IEntity Examiner { get; } + /// + /// Entity being examined, for broadcast event purposes. + /// + public IEntity Examined { get; } + /// /// Whether the examiner is in range of the entity to get some extra details. /// public bool IsInDetailsRange { get; } - public ExaminedEvent(FormattedMessage message, IEntity examiner, bool isInDetailsRange) + public ExaminedEvent(FormattedMessage message, IEntity examined, IEntity examiner, bool isInDetailsRange) { Message = message; + Examined = examined; Examiner = examiner; IsInDetailsRange = isInDetailsRange; }