From 098111948e308d78c115a3a1f216c604600c5828 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 29 Apr 2024 16:26:28 +0300 Subject: [PATCH] Disposal aftermerg fix (#27488) * wtf * fix * delta fixes * Update ThrowInsertContainerSystem.cs --- .../Containers/ThrowInsertContainerComponent.cs | 2 +- .../Containers/ThrowInsertContainerSystem.cs | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Content.Server/Containers/ThrowInsertContainerComponent.cs b/Content.Server/Containers/ThrowInsertContainerComponent.cs index 8aa2927773..7eb5f4657d 100644 --- a/Content.Server/Containers/ThrowInsertContainerComponent.cs +++ b/Content.Server/Containers/ThrowInsertContainerComponent.cs @@ -10,7 +10,7 @@ namespace Content.Server.Containers; public sealed partial class ThrowInsertContainerComponent : Component { [DataField(required: true)] - public string? ContainerId; + public string ContainerId = string.Empty; /// /// Throw chance of hitting into the container diff --git a/Content.Server/Containers/ThrowInsertContainerSystem.cs b/Content.Server/Containers/ThrowInsertContainerSystem.cs index 781b808ef9..12bb602811 100644 --- a/Content.Server/Containers/ThrowInsertContainerSystem.cs +++ b/Content.Server/Containers/ThrowInsertContainerSystem.cs @@ -25,9 +25,6 @@ public sealed class ThrowInsertContainerSystem : EntitySystem private void OnThrowCollide(Entity ent, ref ThrowHitByEvent args) { - if (ent.Comp.ContainerId == null) - return; - var container = _containerSystem.GetContainer(ent, ent.Comp.ContainerId); if (!_containerSystem.CanInsert(args.Thrown, container)) @@ -35,18 +32,18 @@ public sealed class ThrowInsertContainerSystem : EntitySystem var rand = _random.NextFloat(); - if (rand > ent.Comp.Probability) + if (_random.Prob(ent.Comp.Probability)) { _audio.PlayPvs(ent.Comp.MissSound, ent); _popup.PopupEntity(Loc.GetString(ent.Comp.MissLocString), ent); return; } - if (_containerSystem.Insert(args.Thrown, container)) - _audio.PlayPvs(ent.Comp.InsertSound, ent); - else + if (!_containerSystem.Insert(args.Thrown, container)) throw new InvalidOperationException("Container insertion failed but CanInsert returned true"); + _audio.PlayPvs(ent.Comp.InsertSound, ent); + if (args.Component.Thrower != null) _adminLogger.Add(LogType.Landed, LogImpact.Low, $"{ToPrettyString(args.Thrown)} thrown by {ToPrettyString(args.Component.Thrower.Value):player} landed in {ToPrettyString(ent)}"); } -- 2.52.0