]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Disposal aftermerg fix (#27488)
authorEd <96445749+TheShuEd@users.noreply.github.com>
Mon, 29 Apr 2024 13:26:28 +0000 (16:26 +0300)
committerGitHub <noreply@github.com>
Mon, 29 Apr 2024 13:26:28 +0000 (23:26 +1000)
* wtf

* fix

* delta fixes

* Update ThrowInsertContainerSystem.cs

Content.Server/Containers/ThrowInsertContainerComponent.cs
Content.Server/Containers/ThrowInsertContainerSystem.cs

index 8aa2927773d27ee5cddfcf1e6cf366e6090bb693..7eb5f4657d07a3c73da559a7a9f6c7a5def522c5 100644 (file)
@@ -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;
 
     /// <summary>
     /// Throw chance of hitting into the container
index 781b808ef97fbabd34c6c9f12f50d373351b70e3..12bb602811a8972bfae158ffb1ba6a2fc8ef1c2b 100644 (file)
@@ -25,9 +25,6 @@ public sealed class ThrowInsertContainerSystem : EntitySystem
 
     private void OnThrowCollide(Entity<ThrowInsertContainerComponent> 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)}");
     }